UNPKG

telegraf-tools

Version:
164 lines (117 loc) 5.49 kB
<div align="center"> <p> <img src="https://cdn-icons-png.flaticon.com/512/9898/9898172.png" alt="icon" width="128" height="128"> </p> <h1>Telegraf-tools</h1> <p>Пакет который включает в себя множество дополнений для удобной работы с библиотекой Telegraf, данный пакет упростит работу с кодом, а так-же улучшит его функциональность.</p> </div> ## Установка Установка через node: ```shell $ npm i telegraf-tools ``` Импортируйте модуль: ```js const { loadlib, createJsonBase, logger, checkFileExists, renameLib, folderLoader, multipleLoader } = require('telegraf-tools')(bot); ``` <h2>Список методов</h2> <ul> <li><a href="#loadlib">loadlib()</a></li> <li><a href="#logger">logger()</a></li> <li><a href="#createJsonBase">createJsonBase()</a></li> <li><a href="#multipleLoader">multipleLoader()</a></li> <li><a href="#checkFileExists">checkFileExists()</a></li> <li><a href="#renameLib">renameLib()</a></li> <li><a href="#folderLoader">folderLoader()</a></li> </ul> Пример использования JsonBase: ```js 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)); ``` Так-же вы можете упростить задачу транспартировки базы данных: ```js bot .use((ctx, next) => { if (!ctx.from) return; ctx.user = ctx.users.get(ctx.from, true); return next(); }) ``` методы JsonBase: ```js const user = ctx.users.get(ctx.from, true); // если нужно создавать пользователя true, если нет ничего не пишем user.edit("key", "value"); // изменить параметр в базе данных пользователя users.getArray(); // получить базу данных пользователей в виде массива ``` Методы: <h1 id="loadlib">loadlib()</h1> Метод для загрузки локальных библиотек. ```js loadlib(filename: string, defaultPath?: string) => void ``` | Параметр | Тип | Описание | |----------|----------|----------| | filename | string | Название файла | | defaultPath | string | Путь до файла, указывать только если файл не в корне | <h1 id="logger">logger()</h1> Метод для вывода логов в консоль с подсветкой текста разными цветами. ```js logger.log(text: string, extra?: object) => void ``` | Параметр | Тип | Описание | |----------|----------|----------| | text | string | Текст лога | | extra | object | Объект цветов и их сочетаний | <h1 id="createJsonBase">createJsonBase()</h1> Метод для создания json-файла для хранения базы данных в папке database. ```js createJsonBase() => void ``` <h1 id="multipleLoader">multipleLoader()</h1> Метод для загрузки нескольких локальных библиотек одновременно. ```js multipleLoader(libs: [], defaultPath?: string) => void ``` | Параметр | Тип | Описание | |----------|----------|----------| | libs | array | Названия файлов | | defaultPath | string | Путь до файлов, указывать только если файлы не в корне | <h1 id="checkFileExists">checkFileExists()</h1> Метод для проверки наличия файла по заданному пути. ```js checkFileExists(filePath: string) => boolean ``` | Параметр | Тип | Описание | |----------|----------|----------| | filePath | string | Путь до файла | <h1 id="renameLib">renameLib()</h1> Метод для загрузки нескольких локальных библиотек одновременно. ```js renameLib(oldName: string, newName: string) => void ``` | Параметр | Тип | Описание | |----------|----------|----------| | oldName | string | Название старой библиотеки | | newName | string | Желаемое название | <h1 id="folderLoader">folderLoader()</h1> Метод для загрузки всех файлов из указанной директории. ```js folderLoader(folderPath: string) => void ``` | Параметр | Тип | Описание | |----------|----------|----------| | folderPath | string | Путь к папке с библиотеками |