Пишем первого Telegram-бота на Python3
18.02.2023
Боты Телеграм универсальны и выполняют множество задач на любой вкус. Найти информацию, скачать книгу — это лишь маленький перечень возможностей ботов. Сегодня мы с вами напишем простого бота для телеграм.
Боты – это сторонние утилиты, которые запускаются внутри приложения Telegram. По сути это учетные записи, которыми управляют не люди, а программное обеспечение.
Регистрируем бота в Telegram
Первым делом вам необходимо зарегистрировать вашего бота в Telegram. Для этого вам необходимо найти @BotFather или просто перейти по ссылке. BotFather – это бот, управляющий другими ботами.
В BotFatherе указываем команду /newbot чтобы создать нового бота.
BotFather попросит нас ввести желаемое имя нашего бота. Оно будет отобраться вот тут.
Имя может быть любым, как вам больше нравится.
Далее бот попросит нас указать username нашего бота. username должен состоять из букв английского алфавита, цифр и нижнего подчеркивания и обязательно заканчиваться на bot.
А еще должен быть уникальным, поэтому если бот с таким username уже будет зарегистрирован, то BotFather попросит вас выбрать другое имя.
Если username корректен, то BotFather ответит нам сообщением со ссылкой на нашего бота и его токеном. Скопируйте токен, он понадобится нам при написании нашего бота далее.
Устанавливаем библиотеку Telebot
Для установки библиотеки необходимо ввести в консоли вашей операционной системы следующую команду
pip3 install pytelegrambotapi
pip3 – менеджер пакетов Python3, при помощи него вы можете установить любую библиотеку, которая есть для Python. Если установка пройдет корректно, то в консоли вы увидите
Непосредственно пишем бота
Теперь мы можем приступать к написанию нашего Telegram-бота.
Для начала импортируем библиотеку pyTelegramBotAPI:
import telebot
Затем зададим переменную token равную нашему токену, который мы получили от BotFather для взаимодействия с Telegram Bot Api:
token = ‘ваш token api’
Объявим бота:
bot = telebot.TeleBot(token)
Далее создается декоратор. Пока наш бот будет обрабатывать только команду start:
@bot.message_handler(commands=[‘start’])
и в ответ писать нам “Привет!”:
def start_message(message):
bot.send_message(message.chat.id, ‘Привет!’)
Чтобы бот постоянно ожидал запрос от пользователя в конце пропишем:
bot.polling()
В итоге мы получим код:
import telebot
token = ‘ваш token api’
bot = telebot.TeleBot(token)
@bot.message_handler(commands=[‘start’])
def start_message(message):
bot.send_message(message.chat.id, ‘Привет!’)
bot.polling()
Запустим его:
python bot.py
Затем откроем нашего бота (можно найти по имени) и напишем ему команду /start
Поздравлю с первыми словами нашего бота!
А теперь давайте немного усовершенствуем нашего бота и изменим его код следующим образом, чтобы он отвечал нам тем, что мы ему пишем, то есть сделаем эхо-бота.
import telebot
token = ‘ваш token api’
bot = telebot.TeleBot(token)
@bot.message_handler(commands=[‘start’])
def start_message(message):
bot.send_message(message.chat.id, ‘Привет!’)
@bot.message_handler(content_types=[“text”])
def start_message(message):
bot.send_message(message.chat.id, message.text)
bot.polling()
РОБОЛАТОРИЯ запустила курс по созданию чат-ботов для телеграм на Python3, который разработал непосредственно директор РОБОЛАТОРИИ Дмитрий Мартынов.