telegraf-tools
v1.1.3
Published
<div align="center">
Downloads
7
Maintainers
Readme
Установка
Установка через node:
$ npm i telegraf-tools
Импортируйте модуль:
const { loadlib, createJsonBase, logger, checkFileExists, renameLib, folderLoader, multipleLoader } = require('telegraf-tools')(bot);
Пример использования JsonBase:
const { Telegraf } = require('telegraf');
require('dotenv').config();
const bot = new Telegraf(process.env.BOT_TOKEN);
const { createJsonBase } = require('telegraf-tools');
createJsonBase()
bot.context.user = bot.context.tools.Users(() => {
is_admin: false,
// etc
})
bot.context.chats = bot.context.tools.JsonBase("filename", [])
// Создается файл filename.json с пустым массивом в папку database, если ее нету создает собственоручно
bot
.launch({dropPendingUpdates: true})
.then(() => console.log('Бот запущен!'))
.catch((err) => console.error(err));
Так-же вы можете упростить задачу транспартировки базы данных:
bot
.use((ctx, next) => {
if (!ctx.from) return;
ctx.user = ctx.users.get(ctx.from, true);
return next();
})
методы JsonBase:
const user = ctx.users.get(ctx.from, true); // если нужно создавать пользователя true, если нет ничего не пишем
user.edit("key", "value"); // изменить параметр в базе данных пользователя
users.getArray(); // получить базу данных пользователей в виде массива
Методы:
Метод для загрузки локальных библиотек.
loadlib(filename: string, defaultPath?: string) => void
| Параметр | Тип | Описание | |----------|----------|----------| | filename | string | Название файла | | defaultPath | string | Путь до файла, указывать только если файл не в корне |
Метод для вывода логов в консоль с подсветкой текста разными цветами.
logger.log(text: string, extra?: object) => void
| Параметр | Тип | Описание | |----------|----------|----------| | text | string | Текст лога | | extra | object | Объект цветов и их сочетаний |
Метод для создания json-файла для хранения базы данных в папке database.
createJsonBase() => void
Метод для загрузки нескольких локальных библиотек одновременно.
multipleLoader(libs: [], defaultPath?: string) => void
| Параметр | Тип | Описание | |----------|----------|----------| | libs | array | Названия файлов | | defaultPath | string | Путь до файлов, указывать только если файлы не в корне |
Метод для проверки наличия файла по заданному пути.
checkFileExists(filePath: string) => boolean
| Параметр | Тип | Описание | |----------|----------|----------| | filePath | string | Путь до файла |
Метод для загрузки нескольких локальных библиотек одновременно.
renameLib(oldName: string, newName: string) => void
| Параметр | Тип | Описание | |----------|----------|----------| | oldName | string | Название старой библиотеки | | newName | string | Желаемое название |
Метод для загрузки всех файлов из указанной директории.
folderLoader(folderPath: string) => void
| Параметр | Тип | Описание | |----------|----------|----------| | folderPath | string | Путь к папке с библиотеками |