scriptogram v0.6.26
Установка
Утановка библиотеки доступна через npm:
npm i scriptogram
Примеры
В каталоге examples находятся примеры использования библиотеки.
Создание бота:
// импорт класса бота
import { Scriptogram } from "scriptogram";
// создание экземпляра бота
const bot = new Scriptogram("token");
// логика работы бота
// ...
// запуск цикла обработки обновлений
bot.startUpdate();
token
необходимо получить у BotFather.
Обработка команд (command handler):
// на введенную пользователем комманду /hello бот ответит "Привет!"
bot.onCommand("/hello", async (update: IUpdate) => {
// через метод sendMessage осуществляется отправка сообщения ботом
await bot.MethodHandler.sendMessage({
chat_id: update?.message?.from?.id!,
text: "Привет!",
});
});
Обработка сообщений и колбеков (update handler):
// на сообщение или колбек бот ответит "Понятно"
bot.onUpdate(async (update: IUpdate) => {
// логика обработки сообщений или колбеков
// ...
await bot.MethodHandler.sendMessage({
chat_id: update?.message?.from?.id!,
text: "Понятно",
});
});
Промежуточная обработка (middleware):
// выполняется до обработки команд, сообщений или колбеков
// например, чтобы проверить права доступа у пользователя
bot.use(async (update: IUpdate) => {
if ("условие проверки") {
await bot.MethodHandler.sendMessage({
chat_id: update?.message?.from?.id!,
text: "Доступ получен",
});
return false;
}
return true;
});
Обработчики событий (handlers)
Для работы с обработчиками событий необходимо реализовать класс обработчика, реализующий интерфейс IHandler
.
Реализация обработчика сообщений - пример.
Реализация обработчика клавиатуры - пример.
После чего добавить обработчики в бота:
bot.setHandler(new MessageHandler(state));
bot.setHandler(new KeyboardHandler());
Состояние (state)
Для работы с состоянием бота необходимо реализовать класс состояния (пример), после чего добавить его в бота:
// State - кастомный класс для работы с состоянием бота
var state = new State();
bot.setState(state);
Лицензия
Эта библиотека доступна по лицензии MIT. Файл LICENSE для подробностей.
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago