Как сохранять информацию о пользователе в фреймворке aiogramm?

Как правильно сохранить данные пользователя в txt файле, включая имя, id, имя пользователя и отправленное им сообщение, с использованием бота?
  • 20 сентября 2023 г. 13:37
Ответы на вопрос 1
Для сохранения информации о пользователе в фреймворке aiogram вы можете использовать базу данных или просто сохранять их в текстовом файле. Вариант с сохранением в текстовом файле может выглядеть следующим образом:

1. Создайте функцию для сохранения информации о пользователе:
```python
def save_user_info(user_id, username, first_name, message):
    with open('user_info.txt', 'a') as file:
        file.write(f"User ID: {user_id}\n")
        file.write(f"Username: {username}\n")
        file.write(f"First name: {first_name}\n")
        file.write(f"Message: {message}\n")
        file.write("-------------------\n")
```

2. В вашем хэндлере сохраните информацию о пользователе:
```python
from aiogram import types

@dp.message_handler()
async def handle_message(message: types.Message):
    # Получение информации о пользователе
    user_id = message.from_user.id
    username = message.from_user.username
    first_name = message.from_user.first_name
    user_message = message.text

    # Сохранение информации в файле
    save_user_info(user_id, username, first_name, user_message)

    # Отправка ответа пользователю
    await message.answer("Информация сохранена.")
```

Теперь, каждый раз при получении сообщения от пользователя, информация будет сохраняться в файле "user_info.txt". С использованием данного примера, вы можете расширить функционал и сохранять иной тип информации вместо текстового сообщения, если это необходимо.
Похожие вопросы