#04 Cтандартные команды бота (Разработка Telegram бота на NodeJS)

Автор Ruslana Chernenko
#04 Cтандартные команды бота (Разработка Telegram бота на NodeJS)

Приветствую вас продолжаем разрабатывать телеграм бота в этом видео мы создадим простые обработчики для стандартных команд.

Бота для того чтобы увидеть список стандартных команд. Нам нужно перейти в документацию telegram-bot-api здесь перейти на документ бот. Фазер и здесь мы видим, что следующие команды являются глобальными это.

Старт — это Help и — это settings если пользователь находит нашего бота в поиске и первый раз отправляет ему команду.

Это будет команда. Старт только после этой команды пользователь может взаимодействовать с нашим потом вот пользователь нашёл нашу работа и теперь он отправляет команду старт и мы отвечаем дальше может вызвать меню. Бота и здесь как мы видим у нас нет команды не settings Help чтобы они появились нужно писать эти команды сначала у botfather переходим в. Бота botfather начинаем с ним взаимодействие. Заходим в редактировании нашего. Бота Edit Bot и здесь есть Edit comments теперь можно отправить буду в следующий синтаксис название команды тире описание команды и. Давайте пишем эти три команды. Мы создали описание для команды теперь отсылаем и их бот. Фазер чтобы он добавил эти команды мубота отличная команда добавлено. Давайте теперь проверим возвращаемся к нашим субботу. И теперь у нас появилась меню команд. Бота вызываем его здесь нашли три команды и описание к этим трём командам, а также если мы вызываем меню. Бота там, что здесь у нас появилась меню пункт. Меню settings Help то есть пользователь может вызвать команду с этим как изменю. Бота так и просто из меню команд. Бота вот эти три команды являются стандартными и для них нам нужны обязательно обработчики. Однако прежде чем приступить к написанию хендлеров обработчиков для стандартных команд нужно сделать пару вещей которые я из-за нехватки времени сделал в прошлом видео первое, что нужно сделать — это вынести эту конфигурацию в наш файл который содержит все конфигурации и которые у каждого пользователя у каждого разработчика будет свой. А вот наш файл и тест RC который не будет к месяца на репозиторий и каждый разработчик должен иметь свой такой файл в этом файле важная конфигурация и которой с которой нельзя по сути делиться ни с кем другим у каждого она будет своя. Давайте создадим Database Action занесем туда все эти поля теперь отсюда можно удалить на нашу конфигурацию и проверить работает ли она для этого идём в конфигурацию в конфиг и настраиваем конфиг для базы данных config Type у нас будет содержать тексты для базы данных тоже первый раз когда библиотека RC прочитает наш File конфигурации естественно всё — это у нас будет как строки. Однако порт нам нужно как набор поэтому нам нужно после того как мы прочитали файл конфигурации преобразовать Word из строки в набор поэтому поменяем партнамбер. Однако мы поменяли — это просто описание в typescript нам нужно вернуть реальный набор вместо строки нам нужно распарсить строку. И преобразовать её в число на пишем парсер для конфигурации базы данных создадим два типа описание в typescript для initial Database и после того как мы расспросили то есть у нас будет два типа конфига после того как мы прочитали — это все строки и после того как мы расспросили строку преобразовать в число — это второй тип воспользуемся синтаксисом пик который мы уже использовали в нашей модели берем. Все ключи у initial Database config за исключением порт здесь настрока и не Show Database config — это строка и затем порт у нас превращается и строки в Numbers и возвращаем мы уже Database config Type теперь. А пишем парсер на вход на подаётся initial Database config теперь наш спорт из строки в число создадим отдельную функцию которая будет преобразовать из строки в число чтобы использовать её в разных местах на вход на будущее число — это пока, что строка, а на выходе мы получаем набор оборачиваем. Паркер в строке выйти мы не можем использовать стандартные зарезервированные названия такие как набор поэтому я пишу нижнее подчёркивание и добавим ещё секции в финале чтобы проверить, что парсинг наш удался проверим на not a Number. Если же — это после. А получился, но ты намбер, тогда выкинем ошибку и теперь возвращаем наш набор. Осталось решить проблему typescript. А для кого добавим проверку в начале и так мы написали функцию. Теперь будем её использовать строковой порт преобразует в число и все предыдущие ключи за исключением порт порт мы перепишем на числовой. Отлично мы написали парсер теперь нам нужно вернуть подготовленный конфиг для работы в нашем приложении готова возвращаемся в наш бот. ВК И теперь мы не будем запускать. Бота отсюда, а просто экспортируем наружу две функции по аналогии с базой данных критериев и инициалы с databases are поправим здесь теперь config у нас не опциональный, а требуется постоянно создадим. Тип который мы будем возвращать так как я хочу возвращать не только instant базы данных ноет живот и Factory и будем возвращать Database Application Type is Create Database Application initialization будем передавать. Табрис аппликация здесь мы всё поправили возвращаемся теперь в наш. Вот и по аналогии делаем тоже creatbot инициала из-под переименуем чтобы не путать со словом аппликация пожалуй аппликация — это у нас будет глобальное апликейшн. Тип который будет содержать.

0 комментариев
0

Читайте также