Skip to content

HelixMK/BitBurner-Scripts

Repository files navigation

Hacknet Module

Модуль для работы с базой данных, логированием и файловой системой в Bitburner.

Основные компоненты

DatabaseService

Сервис для работы с базой данных в стиле TypeORM. Поддерживает:

  • Создание и управление таблицами
  • CRUD операции
  • Связи между таблицами (one-to-one, one-to-many, many-to-many)
  • Условия поиска с операторами (Equal, Not, MoreThan, LessThan и т.д.)

LoggerService

Сервис для логирования с поддержкой:

  • Различных уровней логирования (DEBUG, INFO, SUCCESS, WARNING, ERROR)
  • Записи логов в файл
  • Экспорта логов
  • Ограничения количества записей

FileManagerService

Сервис для работы с файлами:

  • Чтение файлов
  • Запись файлов
  • Добавление данных в конец файла

Примеры использования

Примеры использования каждого сервиса находятся в директории src/examples/:

  • database-example.ts - примеры работы с базой данных
  • relations-example.ts - примеры работы со связями между таблицами
  • logger-example.ts - примеры использования логгера
  • delete-records-example.ts - примеры удаления записей
  • test-logging.ts - тесты системы логирования
  • test-log-paths.ts - тесты валидации путей логирования
  • test-direct-logger.ts - тесты прямых вызовов логгера

Структура проекта

src/
├── hacknet/
│   ├── common/
│   │   └── abstract-service.ts
│   ├── modules/
│   │   ├── database/
│   │   │   └── database.service.ts
│   │   ├── logger/
│   │   │   └── logger.service.ts
│   │   └── file-manager/
│   │       └── file-manager.service.ts
│   └── hacknet.module.ts
└── examples/
    ├── database-example.ts
    ├── relations-example.ts
    ├── logger-example.ts
    └── ...

Использование

import { HacknetModule } from "/hacknet/hacknet.module";

export async function main(ns: NS) {
  const hacknet = new HacknetModule(ns);
  const db = hacknet.database;
  const logger = hacknet.logger;
  const fileManager = hacknet.fileManager;

  // Пример создания таблицы
  db.createTable("users", {
    columns: [
      { name: "name", unique: true },
      { name: "level", unique: false },
    ],
  });

  // Пример логирования
  logger.info("MyScript", "Начинаем работу");

  // Пример работы с файлами
  fileManager.write("/tmp/test.txt", "Hello, World!");
}

About

BitBurner V2.8.1

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors