@deion
Чтобы добавить кнопку в Telegram бота, вам нужно использовать Telegram Bot API для взаимодействия с сервером Telegram. Кнопки могут быть встроены в сообщения, и для этого используются объекты типа InlineKeyboardMarkup или ReplyKeyboardMarkup. Вот основные шаги для создания кнопок:
- Создайте бота: Если у вас ещё нет бота, его можно создать с помощью BotFather в Telegram. После создания вы получите токен API, который будет использоваться для взаимодействия с ботом.
- Настройка окружения:
Установите библиотеку для работы с Telegram Bot API, например, python-telegram-bot для Python. Это можно сделать с помощью pip:
pip install python-telegram-bot
- Пример кода с Inline-клавиатурой:
from telegram import Update, InlineKeyboardButton, InlineKeyboardMarkup
from telegram.ext import Updater, CommandHandler, CallbackQueryHandler, CallbackContext
def start(update: Update, context: CallbackContext):
keyboard = [
[
InlineKeyboardButton("Button 1", callback_data='1'),
InlineKeyboardButton("Button 2", callback_data='2'),
],
]
reply_markup = InlineKeyboardMarkup(keyboard)
update.message.reply_text('Please choose:', reply_markup=reply_markup)
def button(update: Update, context: CallbackContext):
query = update.callback_query
query.answer()
query.edit_message_text(text=f"Selected option: {query.data}")
def main():
updater = Updater("YOUR_API_TOKEN", use_context=True)
updater.dispatcher.add_handler(CommandHandler('start', start))
updater.dispatcher.add_handler(CallbackQueryHandler(button))
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()
- Запуск бота:
Замените "YOUR_API_TOKEN" вашим токеном, полученным от BotFather.
Запустите скрипт, и ваш бот будет активен. Вы можете протестировать его, отправив команду /start, чтобы увидеть кнопки.
- Обработка нажатий:
Функция button обрабатывает нажатия на кнопки. Она получает объект CallbackQuery, с которым можно взаимодействовать, чтобы, например, отправить ответ пользователю.
- Reply-клавиатура:
Если вы хотите использовать обычную клавиатуру вместо inline, замените InlineKeyboardButton и InlineKeyboardMarkup на KeyboardButton и ReplyKeyboardMarkup.
Это базовый пример того, как можно добавить кнопки в Telegram бота. В зависимости от задач и логики вашего бота, код можно модифицировать и расширять.