Я прошу прощения за то, что не публиковал в последнее время, я был занят другими проектами и пытался подать заявку на удаленную работу за границей, поэтому у меня не было много времени, чтобы придумать что-нибудь интересное, чтобы поделиться, но, надеюсь, вам, ребята, это понравится 😅

В этом блоге мы узнаем, как легко создать телеграмм-бота с помощью node.js, и когда я говорю «легко», я действительно имею в виду ДЕЙСТВИТЕЛЬНО просто.

Честно говоря, я всегда чувствовал себя немного напуганным, создавая бота Telegram специально без какой-либо реальной причины, я просто представлял, что это будет что-то сложное из-за получения токена и прочего, но недавно я снова оказался в ужасной спящей катастрофе, поэтому я открыл включил свой ноутбук, запустил vscode и решил попробовать и посмотреть, действительно ли это так сложно ????

Что такое бот Telegram ❓

Телеграмм-бот — это, по сути, программа, которая взаимодействует с пользователем на основе событий и условий, в основном подумайте об этом в этом сценарии.

Вы можете отправить боту сообщение «ping», и бот ответит изображением, ссылкой, видео, аудио, картой или чем-либо еще, как описано в программе.

Таким образом, идея не отличается от любого другого бота, о котором вы слышали, поэтому давайте посмотрим на очень простой пример бота телеграммы.

Пример кода бота Telegram

Ниже приведен минимальный бот, написанный на Javascript, который проверяет каждое сообщение, если оно равно «ping», а затем отвечает приветствием.

И результат этого кода следующий

С учетом сказанного давайте более подробно рассмотрим создание вашего первого бота для телеграмм.

Предпосылки

Во-первых, нам нужно установить несколько пакетов с npm, чтобы помочь нам с проектом, разумеется, инициализировать проект с помощью npm init -y

npm i node-telegram-bot-api // the telegram bot api wrapper
npm i dotenv // to work with 

На момент написания этой статьи я использую версию узла 17.4.0, которую вы можете проверить с помощью node --version.

Настройка бота Telegram

Итак, прежде чем мы перейдем к части кодирования, нам нужно «зарегистрировать» и аутентифицировать наше приложение, к счастью для нас, это сделано благодаря @BotFather, который является ботом, созданным для создания ботов, я знаю, что это дико 😂

Итак, откройте свое приложение Telegram на телефоне или ПК и найдите @BotFather, и инструкции будут довольно ясными, после получения вашего токена создайте файл .env для безопасного хранения вашего токена, чтобы никто не увидел его, если вы подтолкнете проект к общедоступный репозиторий, затем создайте файл .gitignore и добавьте в него файл .env, чтобы он не был зафиксирован, если вы используете git

Заставить нашего бота сказать привет

Следующий пример очень похож на предыдущий, но мы собираемся изучить API еще подробнее.

Сначала мы импортируем то, что нам нужно, а именно оболочку API и dotenv.

Затем создайте экземпляр telegrambot, который будет представлять нашего бота, который будет взаимодействовать с API телеграммы.

То, как работает эта оболочка API, — это события, события генерируются, и ваш бот отвечает соответствующим образом.

Итак, в этом случае у нас есть событие сообщения, которое означает, что сообщение было отправлено боту в чате, он принимает обратный вызов в качестве аргумента, и у этого обратного вызова есть один интересный аргумент, давайте console.log() и посмотрим, какие полезные свойства он имеет

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

Заставьте нашего бота бросить кубик

Еще одна интересная вещь, которую мы можем сделать, это играть в кости с ботом, да, в основном вы будете играть с самим собой 😏, давайте посмотрим, как это реализовать.

Видеть ? довольно просто, теперь, если вы посмотрите на свой телефон, вы должны увидеть, что анимированные кости были отправлены после того, как вы отправили «кости» в чате

Проведение опросов

Часто принято разрешать пользователям участвовать в опросе, а для реализации этого с помощью node.js мы просто используем один и тот же объект бота, чтобы предложить пользователям выбрать вариант, который мы указываем в следующем примере.

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

Что дальше?

Хорошо, теперь, когда вы увидели, как сделать своего собственного телеграмм-бота, теперь нет предела, вы можете реализовать любую идею, которую хотите, и я даже не могу начать перечислять, что можно сделать с этими знаниями, все, что вы можете делать с Node.js, что вы теперь можете делать с этим ботом, сервером express.js для обработки некоторой обработки и связи с ботом через HTTP с использованием axios ? Да, это может быть сделано !

Веб-очистка некоторого контента и ответный ответ? Полегче, на самом деле, 20 ХЛОПКОВ ПО ЭТОМУ БЛОГУ, И Я СДЕЛАЮ ЭТО

Но вам может быть интересно, как понять API? Что ж, я очень настоятельно рекомендую посетить репозиторий и особенно часть использования здесь.

Большое спасибо за чтение, и я надеюсь, что сегодня вы узнали кое-что новое, и, пожалуйста, дайте мне знать в комментариях ниже, что вы строите ♥️