Я наткнулся на статью Джошуа Аллена Бот моей мертвой подруги. Я был тронут и решил потратить один из выходных дней на создание бота для телеграмм.

Затем я спросил г-на Google все о ботах и ​​чат-ботах. Затем я начинаю копать глубже, пока не обнаружу, что бот для телеграмм - самый простой для меня вариант.

Шаг 1. Создайте собственного бота для Telegram

Загрузите Telegram из App Store или Play Store. Создайте аккаунт в Telegram. После создания учетной записи найдите Bot Father, нажмите на нее и нажмите кнопку «Пуск».

Введите / newbot, чтобы создать нового бота. Затем выберите имя и имя пользователя для вашего бота. Затем будет сгенерирован один токен, и вы готовы к работе. Скопируйте свой токен и переходите к шагу 2.

Шаг 2. Создайте папку проекта и настройте зависимости проекта.

Создайте свой проект в любой папке. Откройте каталог папки с помощью терминала (MAC) или командной строки (Windows). Выполните команду npm init. Он запросит имя, версию, описание и т. д. Просто нажмите клавишу ВВОД, чтобы пропустить его.

Далее мы собираемся настроить зависимости проекта. Нам понадобятся 2 зависимости: Express и Telegram Node Bot. Выполните команду ниже сразу после команды npm init.

npm install express --save
npm install --save telegram-node-bot

Шаг 3. Руки пачкаются (кодирование) !!

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

var express = require('express');
var app = express();
app.set('port', (process.env.PORT || 5000));
app.get('/', function(request, response) {
  
});
app.listen(app.get('port'), function() {
  console.log('Node app is running on port', app.get('port'));
});

Теперь пора перейти к настройке Telegram. Я создал самый простой вариант использования Telegram Node Bot.

Пример использования: ответьте на «привет», «привет», «привет». Просто ответьте "Привет, как дела?" На все это приветствие.

const Telegram = require('telegram-node-bot')
const TelegramBaseController = Telegram.TelegramBaseController
const tg = new Telegram.Telegram('YOUR_TOKEN_GET_IN_STEP_ONE')
class GreetingController extends TelegramBaseController {
    /**
     * @param {Scope} $
     */
    greetingHandler($) {
        $.sendMessage('Hey, how are you?')
    }
get routes() {
        return {
            'hey': 'greetingHandler',
            'hi': 'greetingHandler',
            'hello': 'greetingHandler',
        }
    }
}
tg.router
  .when(['hey', 'hi', 'hello'], new GreetingController())

Шаг 4. Выполните и проверьте часть !!

Теперь давайте протестируем приложение, чтобы убедиться, что оно работает должным образом. Введите команду ниже, чтобы запустить приложение-бот. Затем найдите своего бота в Telegram с помощью глобального поиска. В моем сценарии я называю свое приложение KissMyAss (не спрашивайте меня, почему я использую это имя, оно просто приходит мне в голову в тот момент). Имейте в виду. Это CASE_SENSITIVE. Таким образом, автоответчик не работает для "Привет с большой буквы"

node index.js

Шаг 5. Разверните часть Heroku !!

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

Если у вас есть собственный сервер, это лучший сценарий. Если вы ищете бесплатный сервер, Heroku - один из самых популярных вариантов.

Однако для бесплатной учетной записи Heroku имеет 30-минутный лимит бездействия, что означает, что ваше серверное приложение автоматически остановится после 30 минут бездействия, и вам придется вручную перезапустить приложение.

Перед загрузкой серверного приложения в Heroku внесите изменения в файл package.json. Замените строку строкой, приведенной ниже.

"engines": {
    "node": "6.5.0",
    "npm": "3.10.3"
  },
"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node index.js"
 },

Теперь вы можете загрузить свое приложение на Heroku.

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

heroku create
git push heroku master
heroku ps:scale web=1
heroku open

Ресурсы для этого проекта:

Экспресс официальная документация:



Telegram Node Bot



Развертывание на Heroku