Предмет: Информатика, автор: vovcenkod871

Python. Зберігання даних користувача(Телеграм бот):

1. Додайте MemoryStorage до вашого телеграм бота.
2. Створіть обробник команд, який зберігає ім'я користувача при виконанні команди /start.
3. Переконайтеся, що дані зберігаються правильно, використовуючи метод get_data

Ответы

Автор ответа: flash77779
1

from aiogram import Bot, Dispatcher, types

from aiogram.contrib.fsm_storage.memory import MemoryStorage

TOKEN = 'YOUR_BOT_TOKEN_HERE'

# Створюємо бота

bot = Bot(token=TOKEN)

# Створюємо диспетчер з MemoryStorage

dp = Dispatcher(bot, storage=MemoryStorage())

# Створюємо обробник команди /start

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

async def cmd_start(message: types.Message):

   # Зберігаємо ім'я користувача

   user_data = await dp.storage.get_data(user=message.from_user.id)

   user_data['name'] = message.from_user.full_name

   await dp.storage.set_data(user=message.from_user.id, data=user_data)

   await message.answer('Привіт, {}!'.format(message.from_user.full_name))

# Перевіряємо, чи дані зберігаються правильно

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

async def cmd_check(message: types.Message):

   user_data = await dp.storage.get_data(user=message.from_user.id)

   if 'name' in user_data:

       await message.answer('Ваше ім\'я: {}'.format(user_data['name']))

   else:

       await message.answer('Ім\'я не знайдено.')

if __name__ == '__main__':

   from aiogram import executor

   executor.start_polling(dp)

Похожие вопросы
Предмет: Алгебра, автор: 5r9kqcgxyj