Telegraf-tools
Пакет который включает в себя множество дополнений для удобной работы с библиотекой Telegraf, данный пакет упростит работу с кодом, а так-же улучшит его функциональность.
Установка
Установка через 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()
Метод для загрузки локальных библиотек.
loadlib(filename: string, defaultPath?: string) => void
Параметр | Тип | Описание |
---|---|---|
filename | string | Название файла |
defaultPath | string | Путь до файла, указывать только если файл не в корне |
logger()
Метод для вывода логов в консоль с подсветкой текста разными цветами.
logger.log(text: string, extra?: object) => void
Параметр | Тип | Описание |
---|---|---|
text | string | Текст лога |
extra | object | Объект цветов и их сочетаний |
createJsonBase()
Метод для создания json-файла для хранения базы данных в папке database.
createJsonBase() => void
multipleLoader()
Метод для загрузки нескольких локальных библиотек одновременно.
multipleLoader(libs: [], defaultPath?: string) => void
Параметр | Тип | Описание |
---|---|---|
libs | array | Названия файлов |
defaultPath | string | Путь до файлов, указывать только если файлы не в корне |
checkFileExists()
Метод для проверки наличия файла по заданному пути.
checkFileExists(filePath: string) => boolean
Параметр | Тип | Описание |
---|---|---|
filePath | string | Путь до файла |
renameLib()
Метод для загрузки нескольких локальных библиотек одновременно.
renameLib(oldName: string, newName: string) => void
Параметр | Тип | Описание |
---|---|---|
oldName | string | Название старой библиотеки |
newName | string | Желаемое название |
folderLoader()
Метод для загрузки всех файлов из указанной директории.
folderLoader(folderPath: string) => void
Параметр | Тип | Описание |
---|---|---|
folderPath | string | Путь к папке с библиотеками |