Напиши легкого телеграмм бота, запускающийся с помощью

Напиши легкого телеграмм бота, запускающийся с помощью @BotFather бота. в боте должны быть 6 кнопок. первая кнопка-"помощь". вторая кнопка-"о боте". третья кнопка-"информация о боте". четвертая кнопка-"фото горилы" при нажатии на нее должна выскакивать фотография https://upload.wikimedia.org/wikipedia/commons/b/bc/Male_silverback_Gorilla.JPG пятая кнопка-"информация о животном" при нажатии на эту кнопку возьми информации с википедии о гориле https://ru.wikipedia.org/wiki/%D0%93%D0%BE%D1%80%D0%B8%D0%BB%D0%BB%D1%8B шестая кнопка должна называться "купить горилу" при нажатии на эту кнопку, должна появляться надпись "горил нет в наличии" при этом на каждой вкладке должна находится кнопка, которая при нажатии вернет в меню
Дополнительные параметры: codeFlowType: codeWrite codeFlowLang: Python
Создано: 16.03.2025 11:09

Напиши легкого телеграмм бота, запускающийся с помощью @BotFather бота. в боте должны быть 6 кнопок. первая кнопка-"помощь". вторая кнопка-"о боте". третья кнопка-"информация о боте". четвертая кнопка-"фото горилы" при нажатии на нее должна выскакивать фотография https://upload.wikimedia.org/wikipedia/commons/b/bc/Male_silverback_Gorilla.JPG пятая кнопка-"информация о животном" при нажатии на эту кнопку возьми информации с википедии о гориле https://ru.wikipedia.org/wiki/%D0%93%D0%BE%D1%80%D0%B8%D0%BB%D0%BB%D1%8B шестая кнопка должна называться "купить горилу" при нажатии на эту кнопку, должна появляться надпись "горил нет в наличии" при этом на каждой вкладке должна находится кнопка, которая при нажатии вернет в меню

Вот пример простого телеграм-бота на языке Python с использованием библиотеки python-telegram-bot. Этот код реализует функциональность, которую вы описали.

Перед тем как запустить бот, убедитесь, что вы установили необходимые библиотеки. Вы можете сделать это, выполнив команду:

pip install python-telegram-bot

Теперь вы можете использовать следующий код для создания бота:

import logging
from telegram import Update, InlineKeyboardButton, InlineKeyboardMarkup
from telegram.ext import Updater, CommandHandler, CallbackQueryHandler, MessageHandler, Filters, CallbackContext
import requests

# Включите ведение журнала
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO)
logger = logging.getLogger(__name__)

# Функция для начала общения с ботом
def start(update: Update, context: CallbackContext) -> None:
    keyboard = [
        [InlineKeyboardButton("Помощь", callback_data='help')],
        [InlineKeyboardButton("О боте", callback_data='about')],
        [InlineKeyboardButton("Информация о боте", callback_data='info')],
        [InlineKeyboardButton("Фото горилы", callback_data='gorilla_photo')],
        [InlineKeyboardButton("Информация о животном", callback_data='animal_info')],
        [InlineKeyboardButton("Купить горилу", callback_data='buy_gorilla')]
    ]
    
    reply_markup = InlineKeyboardMarkup(keyboard)
    update.message.reply_text('Пожалуйста, выберите опцию:', reply_markup=reply_markup)

# Обработка нажатий кнопок
def button(update: Update, context: CallbackContext) -> None:
    query = update.callback_query
    query.answer()

    if query.data == 'help':
        query.edit_message_text(text="Вы можете использовать следующие кнопки для взаимодействия с ботом.")
    
    elif query.data == 'about':
        query.edit_message_text(text="Этот бот предоставляет информацию о гориллах и научные факты по теме.")
    
    elif query.data == 'info':
        query.edit_message_text(text="Бот был создан для обучения работе с API Telegram на Python.")
    
    elif query.data == 'gorilla_photo':
        query.edit_message_media(media='https://upload.wikimedia.org/wikipedia/commons/b/bc/Male_silverback_Gorilla.JPG')
    
    elif query.data == 'animal_info':
        response = requests.get("https://ru.wikipedia.org/wiki/Гориллы")
        info = response.text[:2000]  # Получаем первые 2000 символов статьи для демонстрации
        query.edit_message_text(text=f"Информация о гориллах: {info}...", parse_mode='HTML')
    
    elif query.data == 'buy_gorilla':
        query.edit_message_text(text="Горил нет в наличии.")

    # Кнопка для возврата в главное меню
    keyboard = [[InlineKeyboardButton("Вернуться в меню", callback_data='return_menu')]]
    reply_markup = InlineKeyboardMarkup(keyboard)
    query.message.reply_text(text='Пожалуйста, выберите опцию:', reply_markup=reply_markup)

# Функция для возврата в меню
def return_menu(update: Update, context: CallbackContext) -> None:
    start(update, context)

def main() -> None:
    # Вставьте токен вашего бота, полученный от BotFather
    updater = Updater("ВАШ_ТОКЕН_ЗДЕСЬ")

    updater.dispatcher.add_handler(CommandHandler("start", start))
    updater.dispatcher.add_handler(CallbackQueryHandler(button))
    updater.dispatcher.add_handler(MessageHandler(Filters.text & ~Filters.command, start))

    # Запуск бота
    updater.start_polling()

    # Обычное завершение
    updater.idle()

if __name__ == '__main__':
    main()

Как использовать код:

  1. Замените "ВАШ_ТОКЕН_ЗДЕСЬ" на ваш токен, который вы получили от @BotFather.
  2. Сохраните код в файл, например, gorilla_bot.py.
  3. Запустите файл с помощью Python:
python gorilla_bot.py

Теперь ваш бот готов к использованию! Вы можете начать с команды /start, и затем взаимодействовать с кнопками.