Telegram BOT на NestJS - 1 часть

BotLorder
20 Nov 202205:54

Summary

TLDRВ этом видео мы изучаем создание простейшего бота на NestJS с использованием библиотеки 'telegraf'. Рассматривается подключение и настройка бота, обработка сообщений и построение диалоговых цепочек. Пример показывает, как бот реагирует на ключевые слова 'привет' и 'пока' с использованием регулярных выражений. Видео также затрагивает перспективы создания ботов для приема платежей в криптовалюте, обсуждая возможности и ограничения. Практические советы и наглядные примеры помогут вам разобраться в основах и продвинуться в разработке телеграм-ботов.

Takeaways

  • 👋 Сегодня рассматриваем создание простейшего бота на NestJS.
  • 📚 Используем библиотеку Telegraf, адаптированную под NestJS.
  • 🛠 Код простой для тех, кто работал с JavaScript.
  • 🔗 Подключаем специальные объекты для временной истории действий пользователя.
  • 📡 Подключаем два модуля: update и telegram.
  • 🔑 Указываем токен, сгенерированный при создании бота.
  • 🔄 Update ловит сигналы и управляет логикой последовательности действий.
  • 💬 Бот реагирует на сообщения, используя регулярные выражения.
  • 📝 Пример: бот отвечает на 'привет' и 'пока'.
  • 💡 В будущих уроках рассмотрим более сложные темы, включая декораторы и обработку сообщений.
  • 💳 Будем создавать бота для приема платежей в криптовалюте.
  • 🚫 Telegram не банит таких ботов, если они не являются спамом.

Q & A

  • Какая библиотека используется для написания бота в данном видео?

    -В видео используется библиотека 'телеграф', адаптированная под фреймворк NestJS.

  • Какая основная функция модуля 'апдейт'?

    -Модуль 'апдейт' отвечает за обработку сообщений, поступающих через Telegram, и выполнение действий на их основе.

  • Как бот реагирует на сообщения 'привет' и 'пока'?

    -Бот использует регулярные выражения для поиска слов 'привет' и 'пока' и возвращает соответствующие ответы.

  • Что делает объект, хранящий временную историю действий пользователя?

    -Этот объект позволяет боту реагировать на действия пользователя и выстраивать диалоги и сцены на основе его действий.

  • Какие два ключевых модуля подключаются после создания бота?

    -Подключаются модули 'апдейт' и 'телеграмм'.

  • Как бот обрабатывает и отвечает на сообщения пользователей?

    -Бот обрабатывает сообщения, используя контроллеры и мидлвары, и реагирует на них в зависимости от заданных условий.

  • Что произойдет, если бот не сможет обработать сообщение на первом этапе?

    -Сообщение будет передано дальше по цепочке обработки, пока не будет найден соответствующий обработчик.

  • Каким образом бот может реагировать на регулярные выражения?

    -Бот использует регулярные выражения для поиска определенных слов или фраз в сообщениях пользователей и выполняет заданные действия при совпадении.

  • Что подразумевается под функцией 'эхо' в данном боте?

    -Функция 'эхо' предполагает, что бот возвращает пользователю то же сообщение, которое он получил.

  • Какие дополнительные возможности будут рассмотрены в следующих уроках?

    -В следующих уроках будут рассмотрены декораторы от телеграфа, создание ботов, принимающих платежи в криптовалюте, и другие полезные функции.

Outlines

00:00

👋 Как устроен самый простой бот на NestJS

В этом параграфе рассматривается создание простейшего бота на NestJS с использованием библиотеки 'Telegraf'. Подробно описывается подключение необходимых модулей, таких как 'update' и 'Telegram'. Объясняется, как бот реагирует на ключевые слова, такие как 'привет' и 'пока', используя регулярные выражения. Приводятся примеры работы бота и упоминается использование декораторов для настройки ответов.

05:01

🤖 Создание бота для приема платежей в криптовалюте

В этом параграфе обсуждается создание бота, который сможет принимать платежи в криптовалюте. Отмечается, что Telegram не банит таких ботов, если они не являются спамом. Упоминается о полезной информации, доступной через Telegraf, такой как авторство сообщения и является ли пользователь ботом. Завершается параграф приглашением к дальнейшему изучению создания ботов на курсе.

Mindmap

Keywords

💡NestJS

NestJS - это прогрессивный фреймворк для создания эффективных и масштабируемых серверных приложений Node.js. В видео он используется для создания простого бота. Фреймворк позволяет структурировать приложение и упрощает работу с различными модулями.

💡Telegraf

Telegraf - это библиотека для разработки ботов для Telegram на Node.js. В видео она используется вместе с NestJS для создания функционала бота, который реагирует на сообщения пользователей.

💡бот

Бот - это программа, которая выполняет автоматизированные задачи. В данном контексте видео рассматривает создание Telegram-бота, который взаимодействует с пользователями, обрабатывая их сообщения и отвечая на них.

💡update

Update - это специальный файл, отвечающий за обработку входящих сообщений и действий от пользователей в Telegram. В видео объясняется, как update ловит сигналы и обрабатывает их с помощью контроллеров и мидлваров.

💡контроллер

Контроллер - это компонент в NestJS, который обрабатывает входящие запросы и возвращает ответы. В видео контроллер используется для обработки сообщений от пользователей и выполнения соответствующих действий.

💡мидлвар

Мидлвар (middleware) - это промежуточное программное обеспечение, которое обрабатывает запросы перед тем, как они достигнут конечного обработчика. В видео мидлвары используются для последовательной обработки сообщений, обеспечивая правильное выполнение логики бота.

💡регулярное выражение

Регулярное выражение - это шаблон для поиска строк, который используется для сопоставления текста с определенными правилами. В видео регулярные выражения применяются для распознавания слов 'привет' и 'пока' в сообщениях пользователей.

💡декоратор

Декоратор - это функция, которая изменяет или расширяет поведение другого метода или класса. В видео декораторы используются для указания того, как бот должен реагировать на определенные сообщения.

💡Telegram API

Telegram API - это интерфейс программирования приложений, предоставляемый Telegram для взаимодействия с его платформой. В видео Telegram API используется для создания и управления ботом, получения и отправки сообщений.

💡криптовалюта

Криптовалюта - это цифровая или виртуальная валюта, использующая криптографию для обеспечения безопасности транзакций. В видео упоминается, что бот будет создан для приема платежей в криптовалюте, что позволяет обходиться без банковских привязок.

Highlights

Видео посвящено разработке простого бота на языке программирования Nest.js с использованием библиотеки Telegraf.

Код бота выглядит просто, что может быть полезно для тех, кто работал с Node.js.

Основная функция бота - хранение временной истории действий пользователя для реакции на определенные действия.

В видео объясняется, как подключить и настроить объект 'update', отвечающий за поведение бота.

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

Объяснение работы сигналов 'update' и их обработки с помощью контроллера и мидлевэра.

Введение в концепцию декораторов для реализации функциональности бота, например, определение уровня английского.

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

Разъяснение того, как бот реагирует на определенные слова и может отдавать ответы.

Введение в концепцию 'echo', которая позволяет боту отсылать полученное сообщение обратно пользователю.

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

Упоминание о том, что боты, не являющиеся спам, не ограничены Telegram в отношении работы с криптовалютой.

Предложение помощи в создании бота для привлечения инвестиций.

Будет рассмотрен вопрос о создании ботов с дополнительными функциями, такими как приём платежей, в будущих уроках.

В видео будет рассмотрена полезная информация о сообщениях, авторстве и других функциях Telegraf.

Подведение итога и благодарность за просмотр видео.

Transcripts

play00:00

друзья Всем привет Сегодня мы рассмотрим

play00:03

Как устроен самый простейший бот который

play00:06

у нас будет написан на nestjest то есть

play00:09

на этой скрипте и использовать мы будем

play00:11

библиотеку которая называется

play00:14

телеграф это принципе адаптация

play00:16

телеграфа под фреймворк у нас JS

play00:24

сам код он выглядит достаточно просто

play00:27

для тех кто работал с GS Я надеюсь люди

play00:30

как раз нашли этот ролик Именно поэтому

play00:33

ключевому слову внутри на 100 Все

play00:36

выглядит достаточно просто для того

play00:38

чтобы сделать самый элементарный год

play00:41

во-первых Нужно подключить

play00:44

это просто такая специальная специальный

play00:46

Объект который внутри себя хранит грубо

play00:49

говоря временную историю того что делал

play00:52

пользователь что Он отправлял тем самым

play00:54

мы можем реагировать на какие-либо

play00:57

действия и выстраивать цепочки диалоги

play01:00

сцены Wizard и так далее

play01:03

после того как мы создали

play01:06

мы подключаем две вещи апдейт это тоже

play01:10

специальный файл который у нас

play01:12

представляет собой он отвечает за то что

play01:15

именно должен делать Вот

play01:18

расшифровывая то что вы ему выслали

play01:20

через Telegram и получается второй это

play01:23

модуль телеграмма

play01:25

он у нас имеет имя вот он ими Бота можно

play01:29

узнать внутри

play01:31

телеграмма когда мы его создаем

play01:36

которому мы говорили выше и получается

play01:39

просто указываем токен который у нас

play01:41

генерируется при создании бота

play01:43

в принципе с модулем мы тут закончили

play01:45

таким образом это все действует мы

play01:48

подключаем телеграм у нас поступает

play01:51

сигналы

play01:53

update у нас ловит грубо говоря такие

play01:55

контроллер и мидоуэр как это можно себе

play01:59

представить То есть у нас есть какая-то

play02:01

некоторая цепочка

play02:05

и получается у нас

play02:08

какой-либо сообщение попадает в неё

play02:11

похоже на Switch

play02:13

переключатель если мы 1 окно попадаем то

play02:17

в принципе мы можем на этом остановиться

play02:19

отдать ответ сделать И тем самым

play02:22

ответить на сообщение пользователя вот

play02:24

если же этот критерий у нас сообщение не

play02:27

попадает то она движется ниже это стоит

play02:29

понимать Так что Рандомный разброс

play02:31

каких-либо

play02:33

команды прослушки У нас тут не будет

play02:36

работать нужно сохранять логику

play02:38

последовательность это все одно следует

play02:41

за другим данном примере у нас есть

play02:44

такой декоратор который

play02:48

произносит какой уровень английского

play02:51

Итак в данном случае мы просто говорим

play02:54

то что бот будет реагировать на слово

play02:56

привет это регулярное выражение На самом

play02:59

деле он будет это искать Если он увидит

play03:03

то он выдаст нам ответ то есть у нас

play03:05

метод вернет строку

play03:07

а здесь принципе все то же самое только

play03:09

у нас реакция будет на слово пока по

play03:13

поводу регулярных выражений и в принципе

play03:16

того что принимает хаос У нас есть

play03:18

подсказки Это может быть просто строка

play03:22

регулярка и так далее В данном случае

play03:25

Я может немножко обманул сейчас проверим

play03:28

возьмем слово привет естественно мы

play03:31

запустили наш Nest вместе со всем тем

play03:33

что мы сейчас поставили установили

play03:35

Мы в принципе не делать ничего

play03:38

интересного

play03:41

он вставлен как есть

play03:44

Мы заходим наш бот эхобот Вот и здесь

play03:48

пишем Привет

play03:50

Вот и принципе наш блок уже отработал

play03:52

тот сигнал который запустили он пал мы

play03:56

прослушался

play03:58

и попал сюда

play03:59

и сразу же на первом этапе он его

play04:03

отловил и сделал возврат если бы мы не

play04:06

сделали возврат он бы мог у нас

play04:07

проваливаться и ниже для этого есть

play04:09

ключевое слово Next прям как

play04:12

экспресс Но сегодня мы это рассматривать

play04:15

не будем это более сложная тема нужны

play04:18

наглядные примеры так Теперь попробуем

play04:21

слово пока

play04:23

[музыка]

play04:25

всё отлично работает в принципе

play04:27

попробуем как-то изменить строку

play04:30

уже не работает но как я говорю мы можем

play04:33

здесь передать

play04:37

регулярное выражение

play04:44

естественно Сохранить все это дело

play04:49

Да отлично обрабатывать Привет

play04:53

регулярно говорит что у нас значение

play04:56

труб и мы возвращаем ответ в принципе

play05:00

Эхо будет подразумевает то что мы

play05:02

отошлем то что нам пришло но это мы уже

play05:04

рассмотрим на других уроках Когда мы

play05:06

будем разбирать

play05:07

и декораторы которые здесь используются

play05:10

от телеграфа и в принципе

play05:15

то что у нас попадает в медовое то что

play05:18

нам доступно сообщение авторство

play05:20

является ли пользователь Ботом и так

play05:22

далее много полезной информации

play05:25

на этом курсе мы будем рассматривать

play05:27

Каким образом создать Бота который

play05:29

принимает платежи в криптовалюте в

play05:32

данном случае нам не нужно

play05:33

заморачиваться с привязанным банков

play05:36

телеграм каким-либо образом особо не

play05:39

банят таким ботов если они только не

play05:41

являются спам вот так что если у вас

play05:44

есть какой-то проект вы хотите привлечь

play05:46

деньги то пожалуйста мы сделаем фото

play05:48

которое вам в этом поможет

play05:50

Всем спасибо

Rate This

5.0 / 5 (0 votes)

الوسوم ذات الصلة
NestJSТелеграмБотTelegrafРазработкаДиалогиЦепочкиОбработкаРеакцияУправление
هل تحتاج إلى تلخيص باللغة الإنجليزية؟