Найти тему
python-book

Бот для телеграм на Python (библиотека telebot). Кнопки.

Доброго времени суток дорогие читатели! В этой статье мы продолжим разрабатывать бота для телеграм с помощью библиотеки telebot.

Ссылка на программу из прошлой статьи

telegram_bot2.py

Для добавления кнопки нужно добавить строку
from telebot import types
там где мы импортировали библиотеку, выглядеть это будет так

telegram_bot3.py
telegram_bot3.py

Теперь добавим вот такой фрагмент кода

telegram_bot3.py
telegram_bot3.py

Здесь мы обрабатываем команду /button и отправляем сообщение "Нажмите на кнопку". В переменной markup создаем клавиатуру, далее в переменной button1 и будет наша кнопка, а в ней текст "Ссылка", так как наша кнопка будет выдавать ссылку, далее посредством markup.add(кнопка) добавляем кнопку на клавиатуру.

Вот так это будет выглядеть в чате телеграм

Чат с ботом
Чат с ботом

Ну и конечно же сама кнопка под полем ввода сообщения

Кнопка
Кнопка

Следующий шаг это добавления функции обработки кнопки. Выглядеть она будет так:

telegram_bot3.py
telegram_bot3.py

На самом деле обрабатывается она также как любой введённый текст, так как при нажатии на кнопку текст с кнопки отправляется в чат, поэтому условием мы проверяем содержание текста, если там написано "Ссылка", то отправляем ссылку пользователю в чат, в данном случае это ссылка на мой Яндекс.Дзен.

Результат работы кнопки в чате телеграм.

Чат с ботом в telegram
Чат с ботом в telegram

Следующим этапом будет смена кнопки. Немного изменим уже имеющуюся функцию отправки ссылки, перед тем как её отправить также как создавали кнопку в первый раз создадим её и тут.

telegram_bot3.py
telegram_bot3.py

Теперь со появлением ссылки в чате кнопка будет меняться на "Подписался", а после нажатия уже на эту кнопку будет появляться сообщение в чате "Спасибо за прочтение статьи!".

Telegram чат с ботом
Telegram чат с ботом

Вот так это выглядит в самом телеграме.

Оставляю ссылку на программу.

telegram_bot3.py

Спасибо каждому кто дочитал эту статью, не болейте!

#программирование #программированиедляначинающих #программированиенаpython #телеграмбот