Я наткнулся на статью Джошуа Аллена Бот моей мертвой подруги. Я был тронут и решил потратить один из выходных дней на создание бота для телеграмм.
Затем я спросил г-на 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