Найти в Дзене
Super APK

Простий Telegram-бот на Python за 30 хвилин

Видео урок
Частина 1: Реєстрація бота
Найпростіша і описана частина. Дуже коротко: потрібно знайти бота @BotFather, написати йому / start, або / newbot, заповнити поля, які він запитає (назва бота і його коротку назву), і отримати повідомлення з токеном бота і посиланням на документацію. Токен потрібно зберегти, бажано надійно, так як це єдиний ключ для авторизації бота і взаємодії з ним.
Частина
Оглавление

Видео урок

Частина 1: Реєстрація бота


Найпростіша і описана частина. Дуже коротко: потрібно знайти бота @BotFather, написати йому / start, або / newbot, заповнити поля, які він запитає (назва бота і його коротку назву), і отримати повідомлення з токеном бота і посиланням на документацію. Токен потрібно зберегти, бажано надійно, так як це єдиний ключ для авторизації бота і взаємодії з ним.


Частина 2: Підготовка до написання коду


Як вже було сказано в заголовку, писати бота ми будемо на Python'е. У даній статті буде описана робота з бібліотекою PyTelegramBotAPI (Telebot). Якщо у вас не встановлено Python, то спершу потрібно зробити це: в терміналі Linux потрібно ввести

sudo apt-get install python python-pip

Якщо ж ви користуєтеся Windows, то потрібно завантажити Python з офіційного сайту. Після, в терміналі Linux, або командному рядку Windows вводимо

pip install pytelegrambotapi

Теперь все готово для написания кода.

Частина 3: Отримуємо повідомлення і говоримо «Привіт»

Невеликий відступ. Телеграм вміє повідомляти боту про дії користувача двома способами: через відповідь на запит сервера (Long Poll), і через Webhook, коли сервер Телеграма сам надсилає повідомлення про те, що хтось написав боту. Другий спосіб явно виглядає краще, але вимагає виділеного IP-адреси, і встановленого SSL на сервері. У цій статті я хочу розповісти про написання бота, а не налаштування сервера, тому користуватися ми будемо Long Poll'ом. Відкривайте ваш улюблений текстовий редактор, і давайте писати код бота! Перше, що потрібно зробити це імпортувати нашу бібліотеку і підключити токен бота:

import telebot
bot = telebot.TeleBot('%ваш токен%')

Тепер оголосимо метод для отримання текстових повідомлень:

@bot.message_handler(content_types=['text'])
def get_text_messages(message):

Тепер додамо в наш метод трохи функціоналу: якщо користувач напише нам «Привіт», то скажемо йому «Привіт, ніж я можу допомогти?», А якщо нам напишуть команду «/ help», то скажімо користувачеві написати «Привіт»:

if message.text == "Привет":
bot.send_message(message.from_user.id, "Привет, чем я могу тебе помочь?")
elif message.text == "/help": bot.send_message(message.from_user.id, "Напиши привет")
else:
bot.send_message(message.from_user.id, "Я тебя не понимаю. Напиши /help.")

Дана ділянка коду не вимагає коментарів, як мені здається. Тепер потрібно додати в наш код тільки одну сходинку (поза всіма методів).

bot.polling(none_stop=True)

Тепер наш бот буде постійно запитувати у сервера Телеграма «Мені хтось написав?», І якщо ми напишемо нашому боту, то Телеграм передасть йому наше повідомлення. Зберігаємо весь файл, і пишемо в консолі

python bot.py

Де bot.py - ім'я нашого файлу.

Тепер можна написати боту і подивитися на результат: