Привіт, codeguida, це стаття про створення ботів для **Telegram **на мові **Python **з використання бібліотеки pyTelegarmBotAPI. Тож почнемо.
Створюємо Telegram бота на Python - це серія статей, де я спробую описати створення бота для Telegram. Це перша з них, в ній я розкажу що собою являє бот Telegram і ви створите свого, найпростішого бота.
24 червня 2015 року розробники Telegram відкрили платформу для створення ботів. Telegram бот- це профіль Telegram, який автоматично опрацьовує повідомлення і виконує певні дії. Наприклад weatherman_bot пише вам погоду для вашого міста кожен день в 7:00 (можна встановити самому). Так ви будете знати погоду перед тим, як іти на роботу, чи навчання.
Для створення ботів я буду використовувати мову Python, тому що вона мені дуже подобається і я її знаю. Але підійде будь-яка мова, яка вміє працювати з API. Найчастіше Telegram ботів пишуть на Python, далі на JavaScript, PHP, Java (статистика з GitHub). Для ботів існує багато бібліотек, я буду використовувати pyTelegramBotAPI, вона open source і ввесь код є на GitHub. Почнемо кодити!
Для початку створимо вашого майбутнього бота у BotFather. Щоб це зробити треба зайти в телеграм і написати боту **BotFather **(це бот, який створює ботів).
- Зайдіть на BotFather, і додайте цього бота.
- Напишіть /newbot
- Після він спитає ім'я для вашого майбутнього бота (не нік)
- Зараз потрібно вказати нік бота, він повинен закінчуватись на "bot"
- Якщо нік не зайнятий, то BotFather напише вам повідомлення подібного змісту:
Done! Congratulations on your new bot. You will find it at telegram.me/my_bot_for_article_bot. You can now add a description, about section and profile picture for your bot, see /help for a list of commands.
Use this token to access the HTTP API:
199126628:AAEm19ypb2vqJH2vspGGsvKyzYA__T2MfbY
For a description of the Bot API, see this page: https://core.telegram.org/bots/api
Тут вам потрібен лише токен, в моєму випадку це - "199126628:AAEm19ypb2vqJH2vspGGsvKyzYA__T2MfbY"
можете навіть не перевіряти, цей токен не активний
А зараз, коли ви вже створили бота, давайте встановимо бібліотеку для роботи з ботом: Windows
pip install pytelegrambotapi
Linux i OS X
sudo pip install pytelegrambotapi
В нас буде 2 файла:
- main.py - ввесь код
- config.py - важливі константи
Файл config.py буде такого змісту:
#coding:utf-8
TOKEN = "<token>"
Де
#coding:utf-8
import telebot, config
bot = telebot.TeleBot(config.TOKEN)
Кожен бот повинен мати такі базові команди:
- /start - початок роботи, ця команда виконується, коли ви вперше напишете боту
- /help - показує всі доступні команди *ще є /setting (налаштування), але вона не так часто використовується
Щоб змусити Python обробляти команди використовується декоратор @message_handler(commands=["command"]), де аргумент commands приймає масив з списком команд. Щоб надсилати повідомлення в **pytelegrambotapi **є функція send_message(), яка приймає мінімум 2 аргумента: id користувача і повідомлення, яке потрібно надіслати. Подивитись id користувача, який надіслав повідомлення боту можна в message.chat.id, де message це- аргумент, який приймає функція декоратора. Складно? Давайте подивимось, як це працює на прикладі:
@bot.message_handler(commands=["start"])
def start(message):
bot.send_message(message.chat.id, "Привіт, я Telegram бот")
Щоб запустити бота використаємо функцію polling():
if __name__ == "__main__":
bot.polling()
Тепер запустіть main.py і напишіть вашому боту /start. Якщо він вам відповів, то я вас вітаю, ви створили свого першого бота. Якщо ж ні, то перевірте чи ви не допустили синтаксичних помилок, а якщо впевнені що ні, то напишіть коментар нижче і опишіть свою проблему.
Бот працює, але щоб він відповідав базовим вимогам Telegram треба ще додати команду /help:
@bot.message_handler(commands=["help"])
def start(message):
bot.send_message(message.chat.id, "/start - початок використання\
/help - допомога")
От і все на сьогодні, дякую за увагу, сподіваюсь у вас все вийшло у наступній статті я розкажу як додати більший функціонал до вашого бота. Переглянути ввесь код ви можете на GitHub.
P.S. Вступайте в груповий чат в Telegram, де українською ми обговорюємо все про IT. Натисніть, щоб вступити.
Ще немає коментарів