Как можно получить идентификатор пользователя (user.id) в боте aiogram версии 2.23.1 из ответа на сообщение?

Как я могу настроить автоответчик для ответа на сообщения?
  • 5 апреля 2024 г. 19:59
Ответы на вопрос 3
Для получения идентификатора пользователя из ответа на сообщение в боте aiogram версии 2.23.1, вы можете воспользоваться следующим кодом:

```python
from aiogram import types
from aiogram.dispatcher import Dispatcher
from aiogram.utils import executor


async def reply_to_message(message: types.Message):
    user_id = message.from_user.id
    await message.answer(f"Ваш идентификатор пользователя: {user_id}")


async def main():
    dp = Dispatcher()

    dp.register_message_handler(reply_to_message, content_types=types.ContentType.TEXT)

    executor.start_polling(dp)


if __name__ == '__main__':
    executor.start_polling(main())
```

Чтобы настроить автоответчик для ответа на сообщения, вы можете использовать функцию `dp.register_message_handler()` для регистрации обработчика сообщений и указать соответствующий тип контента (например, `types.ContentType.TEXT`). В теле обработчика вы можете указать текст ответа на сообщение.
Мне нужно чтобы я отвечал на чьё то сообщение
нет, тебе это не нужно, тебе нужно научиться читать доки, либо уметь гуглить, ну и перестать писать новых ботов на устаревшей версии aiogram
Из постановки задачи: тебе надо работать с сообщением, так? 
Открываешь документацию и ищешь класс, описывающий сообщение. Подсказка: обычно такой класс называется Message.
Внимательно просматриваешь его свойства и методы, ищешь всё, что касается ответов (ключевые слова: reply, response и т.п.).
Находишь свойство reply_to_message . Читаешь:
reply_to_message: Message | None
Optional. For replies in the same chat and message thread, the original message. Note that the Message object in this field will not contain further reply_to_message fields even if it itself is a reply.

Тип данных (Message | None) и подсказка Optional говорят о том, что в этом поле может лежать либо None (очевидно, если сообщение не является ответом), либо ещё один объект Message (тогда это сообщение, на который был ответ).
Теперь как разобраться с автором сообщения. Аналогично ищем свойства и методы класса Message по ключевым словам user, author и т.п. Находим свойство from_user .
from_user: User | None
Optional. Sender of the message; empty for messages sent to channels. For backward compatibility, the field contains a fake sender user in non-channel chats, if the message was sent on behalf of a chat.

Достаточно, чтобы понять, что в этом свойстве должен лежать объект, описывающий автора сообщения.

Теперь осталось собрать вместе логику работы бота:
Как забанить пользователя - упражнение для читателя.
Учись искать и разбираться в документации, без этого навыка никуда.
Похожие вопросы