Реализовать бота, выбора подписки на сервис меню, вызываемого с команды/menu, и выводящего сообщение после выбора о успешной подписке.(НА АИОГРАМ)

karinaandreevozb5ha karinaandreevozb5ha    3   30.05.2023 16:27    10

Ответы
botejijofo botejijofo  30.05.2023 16:28

Відповідь:

Пояснення:

import logging

from aiogram import Bot, Dispatcher, types

from aiogram.contrib.fsm_storage.memory import MemoryStorage

from aiogram.dispatcher import FSMContext

from aiogram.dispatcher.filters import Command

API_TOKEN = 'YOUR_API_TOKEN'

# Инициализация бота и диспетчера

bot = Bot(token=API_TOKEN)

storage = MemoryStorage()

dp = Dispatcher(bot, storage=storage)

# Включаем логирование для отладки

logging.basicConfig(level=logging.INFO)

# Команда /start для инициализации бота

@dp.message_handler(commands=['start'])

async def cmd_start(message: types.Message):

   await message.reply("Привет! Для выбора подписки используй команду /menu.")

# Команда /menu для вызова меню выбора подписки

@dp.message_handler(commands=['menu'])

async def cmd_menu(message: types.Message):

   keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)

   keyboard.add(types.KeyboardButton('Basic'))

   keyboard.add(types.KeyboardButton('Premium'))

   keyboard.add(types.KeyboardButton('VIP'))

   await message.reply("Выбери подписку:", reply_markup=keyboard)

# Обработка выбора подписки

@dp.message_handler(lambda message: message.text in ['Basic', 'Premium', 'VIP'])

async def process_subscription(message: types.Message, state: FSMContext):

   selected_subscription = message.text

   # Здесь можно добавить логику для сохранения выбранной подписки в базе данных или выполнять другие действия

   await message.reply(f"Ты успешно подписался на {selected_subscription}!")

if __name__ == '__main__':

   from aiogram import executor

   executor.start_polling(dp, skip_updates=True)

В этом примере мы создаем бота, который реагирует на команды /start и /menu. Когда пользователь отправляет /menu, мы показываем клавиатуру с вариантами выбора подписки (Basic, Premium, VIP). При выборе подписки бот отвечает сообщением о успешной подписке.

Обратите внимание, что вам необходимо заменить 'YOUR_API_TOKEN' на фактический токен вашего бота Telegram.

Убедитесь, что у вас установлены необходимые зависимости, такие как aiogram, чтобы код успешно выполнился.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика