Загрузка...

[MongoDB / TypeScript / grammY / WebHook] Шаблон телеграм-бота

Тема в разделе Node.js создана пользователем TRUEC0DER 27 авг 2023. (поднята 14 окт 2023) 713 просмотров

  1. TRUEC0DER
    TRUEC0DER Автор темы 27 авг 2023 22 8 апр 2019
    Шаблон телеграм-бота на вебхуках

    grammY как-то слишком мало распространён, а он очень даже неплох, потому я решил написать небольшой шаблон для разработки на TypeScript, MongoDB и вебхуках

    Скачать (v1.0.1)
    Настройка бота

    Все параметры хранятся в .env.example. Необходимо переименовать его в .env

    BOT_TOKEN - токен бота, получить можно в @BotFather
    WEBHOOK_DOMAIN - адрес, на который сервер телеграма будет стучаться
    WEBHOOK_PORT - порт, на который телеграм будет стучаться
    MONGO_URL - адрес базы данных


    Запуск


    Для установки всех модулей - npm install
    Для запуска бота - npm run dev
    Для того, чтобы сбилдить бота - npm run build
    Для запуска сбилженной версии - npm run start


    Дополнительно

    Базу данных можно бесплатно получить на официальном сайте MongoDB (512 мб памяти), сайт блокирует российские айпи, потому нужно ***
    Прокинуть локального бота в интернет можно через
    ngrok


    :pepepizza:
     
    27 авг 2023 Изменено
  2. daz5554
    daz5554 29 сен 2023 i wanna be 169 4 июл 2017
    Либа Grammy тоже поддерживает состояния, чтобы создать последовательное меню из кнопок или не?
    Рассматриваю, какую лучше либку юзать для практики, Grammy или Telegraf

    К вопросу о БД, можно юзать MongoDB Atlas с россии есть доступ
     
    29 сен 2023 Изменено
    1. TRUEC0DER Автор темы
      daz5554,
      Официальной поддержки состояний нет, но есть плагин от стороннего чела - https://github.com/IlyaSemenov/grammy-scenes
      Я с ним не работал, потому не могу ничего сказать по работоспособности, но по документации функционал очень похож на подобные фишки из других либ

      Сам сайт MongoDB блокирует роуты личного кабинета с российского айпишника, но сам доступ к базе работает без ***, достаточно только создать базу и получить URL
  3. Crimson
    Crimson 8 окт 2023 1170 13 авг 2019
    Было бы не плохо если б использовал роутеры
     
    1. TRUEC0DER Автор темы
      Crimson, У меня в планах обновить, но пока нет времени на это
  4. TRUEC0DER
    TRUEC0DER Автор темы 16 окт 2023 22 8 апр 2019
    Обновление (1.0.1)
    - Добавлен пример работы плагина @grammyjs/conversations (Последовательное получение информации от юзера)
    - Добавлена работа с inline-клавиатурой и callback
    - Изменён способ указания путей к компонентам проекта с помощью фишки TypeScript (paths)
    - Немного изменена структура проекта

    В дополнение от себя:
    - Изначально планировалось использование @grammyjs/router, но @grammyjs/conversations более подходящий и удобный вариант
     
  5. Crimson
    Crimson 16 окт 2023 1170 13 авг 2019

    Это что то по типу FSM как в аиограм?
     
    16 окт 2023 Изменено
    1. Посмотреть предыдущие комментарии (3)
    2. TRUEC0DER Автор темы
Загрузка...
Top