Как мне посмотреть результаты опроса в телеграм-боте?

  • 26 августа 2023 г. 19:06
Ответы на вопрос 1
Для просмотра полномасштабных результатов опроса в вашем телеграм-боте с использованием aiogram3, вы можете воспользоваться методом `get_poll()` из Telegram Bot API.

Вот пример кода, который демонстрирует, как получить результаты опроса:

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

API_TOKEN = 'YOUR_API_TOKEN'

bot = Bot(token=API_TOKEN)
dispatcher = Dispatcher(bot)


@dispatcher.message_handler(content_types=types.ContentType.POLL)
async def handle_poll_message(message: types.Message):
    poll_id = message.poll.id
    poll_results = await bot.get_poll(poll_id=poll_id)
    answers = poll_results.options

    for answer in answers:
        answer_text = answer.text
        answer_voters = answer.voter_count
        print(f"Answer: {answer_text}, Voters: {answer_voters}")


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

В этом примере мы регистрируем обработчик сообщений с содержимым типа `types.ContentType.POLL`. Когда пользователь отправляет опрос в бота, вызывается метод `handle_poll_message()`. Мы получаем `poll_id` из сообщения и используем его, чтобы вызвать метод `get_poll()`. Затем мы обрабатываем полученные результаты опроса и выводим в консоль информацию о каждом варианте ответа и количестве проголосовавших.

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