Как создать кнопку "Вернуться в главное меню" для телеграмм бота?

Как добавить в чат на Telegram кнопки с различными функциями и прикрепить к ним изображение при помощи Python и библиотеки telebot?
  • 5 июля 2024 г. 13:52
Ответы на вопрос 1
Для создания кнопки "Вернуться в главное меню" для телеграмм бота можно использовать библиотеку telebot в Python. Вот пример кода:

```python
import telebot
from telebot import types

bot = telebot.TeleBot("YOUR_BOT_TOKEN")

@bot.message_handler(commands=['start'])
def start(message):
    markup = types.ReplyKeyboardMarkup()
    itembtn = types.KeyboardButton('Вернуться в главное меню')
    markup.add(itembtn)
    
    bot.send_message(chat_id=message.chat.id, text="Вы находитесь в главном меню", reply_markup=markup)

bot.polling()
```

Чтобы добавить в чат кнопки с различными функциями и прикрепить к ним изображение, можно использовать InlineKeyboardMarkup вместо ReplyKeyboardMarkup. Вот пример кода:

```python
import telebot
from telebot import types

bot = telebot.TeleBot("YOUR_BOT_TOKEN")

@bot.message_handler(commands=['show_image'])
def show_image(message):
    markup = types.InlineKeyboardMarkup()
    itembtn1 = types.InlineKeyboardButton('Функция 1', callback_data='func1')
    itembtn2 = types.InlineKeyboardButton('Функция 2', callback_data='func2')
    markup.add(itembtn1, itembtn2)
    
    with open('image.jpg', 'rb') as photo:
        bot.send_photo(chat_id=message.chat.id, photo=photo, caption='Выберите функцию:', reply_markup=markup)

@bot.callback_query_handler(func=lambda call: True)
def callback_query(call):
    if call.data == 'func1':
        bot.send_message(chat_id=call.message.chat.id, text='Вы выбрали функцию 1')
    elif call.data == 'func2':
        bot.send_message(chat_id=call.message.chat.id, text='Вы выбрали функцию 2')

bot.polling()
```

Замените "YOUR_BOT_TOKEN" на токен вашего телеграмм бота, а также укажите путь к изображению 'image.jpg'. В этом примере при нажатии на кнопку с изображением пользователь может выбрать одну из двух функций, и бот отправит сообщение в зависимости от выбора.
Похожие вопросы