Multiple answers telegram что это
Перейти к содержимому

Multiple answers telegram что это

  • автор:

В Telegram обновили функцию опросов и запустили Quiz Bot

image

Мессенджер Telegram выпустил крупное обновление для Android и iOS. Ряд обновлений коснулся функции опросов.

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

image
image

В Bot API добавлен режим викторины и для демонстрации его возможностей запущен Quiz Bot, который позволяет создавать опросы с множеством вопросов, изображениями и дополнительным текстом. Бот будет отслеживать, сколько времени пользователи тратят на опрос и сколько правильных ответов они дают. Он также сохранит глобальный список лидеров для каждого теста.

image

В приложении появились также новые визуальные настройки. Углы сообщений можно округлять и наоборот.

Кроме того, пользователи Android теперь могут видеть точные счетчики прогресса при загрузке файлов.

image

  • «TelegramBot инструкция по созданию базового функционала для бота. (Часть 1)»
  • «TelegramBot. Базовый функционал. Мухи отдельно, котлеты отдельно. (Часть 2)»
  • «TelegramBot. Базовый функционал. Стикеры и смайлы. (Часть 3)»
  • «Telegram-бот для управления инфраструктурой»
  • «Как я делал поисковик для Telegram»

Polls 2.0: Visible Votes, Multiple Answers, and Quiz Mode

Since we first added polls for groups and channels, they’ve been used for everything from deciding where to have lunch to organizing leaderless protests. Today we’re expanding the range of possibilities with three new kinds of Telegram polls.

Visible Votes

Previously, all polls on Telegram were anonymous. With this update, you can create polls that allow everyone in the group to see who voted for what. Now you will know exactly which friends you disagree with on the matter of pineapple and pizza.

Naturally, you can still create anonymous polls to make sure nobody finds out it was you who voted for broccoli instead of cookies.

Multiple Answers

One of the best ways to settle the score is with polls that allow people to select multiple answers. Scheduling events, or choosing a playlist of songs for a party – sometimes you need more than one choice.

Our aunt who has a knack for statistics and exploring bizarre correlations kept asking for this feature – and we just couldn’t say no. (33% of developers who didn’t refuse this request were also found to be addicted to cheese.)

Quiz Mode

For the game show guru and “Who Wants To Be A Millionaire” contestant in all of us, polls now have Quiz Mode. Such polls have one correct answer and can power anything from trivia games to public service exams.

As if guessing right wasn’t sweet enough, correct answers will trigger a shower of confetti.

Creating Polls

Polls can be created in groups or channels (they feel lonely in one-on-one chats). Simply choose the “Poll” option in the attachment menu. Type in your question, add answer options, choose the settings that fit your purpose best – and you’re ready to go:

Bot API and Quiz Bot

All the new poll types are supported in today’s update to our Bot API, so bot developers can build on this new functionality.

As an example, we’ve created a Quiz Bot that lets you create multi-question quizzes and share them with others. It also lets you add text or media before questions to help create exam-style prompts with graphs and tables – or better yet, your own Know Your Meme tests.

Once your quiz is ready, you can share it to a group or channel – or invite users to answer questions privately, in a chat with the bot. To see how this works, try our demo quiz: Who is Who in the ‘Great Minds’ sticker pack.

The bot will keep tabs on how many questions users got right and how much time it took them to complete the quiz. It also keeps a global leaderboard for each quiz you create.

Message Corners

In addition to the new polls, our apps just got a new visual setting. If you find your Telegram messages too hip to be square (or round, depending on your platform), you can tweak the appearance of message bubbles in Settings:

Download Progress Counters on Android

Just like on iOS, Android users can now see exact progress counters when downloading or uploading files – if they’re in the mood to count bits and bytes.

And that’s it for today. Here’s to a good new year full of updates. Stay tuned!

January 23, 2020
The Telegram Team

Роутеры, многофайловость и структура бота¶

В этой главе мы познакомимся с новой фичей aiogram 3.x — роутерами, научимся разбивать наш код на отдельные компоненты, а также сформируем базовую структуру бота, которая пригодится в следующих главах и вообще по жизни.

Точка входа в приложение¶

Театр начинается с вешалки, а бот начинается с точки входа. Пусть это будет файл bot.py . В нём мы определим асинхронную функцию main() , в которой создадим необходимые объекты и запустим поллинг. Какие объекты являются необходимыми? Во-первых, разумеется, бот. Их может быть несколько, но об этом как-нибудь в другой раз. Во-вторых, диспетчер. Он занимается приёмом событий от Telegram и раскидыванием их по хэндлерам через фильтры и мидлвари.

import asyncio from aiogram import Bot, Dispatcher # Запуск бота async def main(): bot = Bot(token="TOKEN") dp = Dispatcher() # Запускаем бота и пропускаем все накопленные входящие # Да, этот метод можно вызвать даже если у вас поллинг await bot.delete_webhook(drop_pending_updates=True) await dp.start_polling(bot) if __name__ == "__main__": asyncio.run(main()) 

Но чтобы обрабатывать сообщения, этого недостаточно, нужны ещё хэндлеры. Мы хотим их расположить в других файлах, чтобы не устраивать портянки на несколько тысяч строк. В предыдущих главах все наши хэндлеры прицеплялись к диспетчеру, но сейчас он внутри функции и мы точно не хотим делать его глобальным объектом.
Что же делать? И тут на помощь приходят.

Роутеры¶

Обратимся к официальной документации aiogram 3.x и посмотрим на следующее изображение:

Несколько роутеров

  1. Диспетчер — корневой роутер.
  2. Хэндлеры цепляются к роутерам.
  3. Роутеры могут быть вложенными, но между ними только однонаправленная связь.
  4. Порядок включения (и, соответственно, проверки) роутеров явно определён.

На следующем изображении виден порядок поиска апдейтом нужного хэндлера для выполнения:

порядок поиска апдейтом нужного хэндлера

Напишем простенького бота с двумя фичами:

  1. Если боту отправили /start , он должен прислать вопрос и две кнопки с текстами «Да» и «Нет».
  2. Если боту прислали любой другой текст, стикер или гифку, он должен ответить названием типа сообщения.

Начнём с клавиатуры: создадим рядом с файлом bot.py каталог keyboards , а внутри него файл for_questions.py и напишем функцию для получения простой клавиатуры с кнопками «Да» и «Нет» в один ряд:

keyboards/for_questions.py

from aiogram.types import ReplyKeyboardMarkup from aiogram.utils.keyboard import ReplyKeyboardBuilder def get_yes_no_kb() -> ReplyKeyboardMarkup: kb = ReplyKeyboardBuilder() kb.button(text="Да") kb.button(text="Нет") kb.adjust(2) return kb.as_markup(resize_keyboard=True) 

Ничего сложного, тем более, что мы клавиатуры подробно разбирали ранее. Теперь рядом с файлом bot.py создадим другой каталог handlers , а внутри него файл questions.py .

handlers/questions.py

from aiogram import Router, F from aiogram.filters import Command from aiogram.types import Message, ReplyKeyboardRemove from keyboards.for_questions import get_yes_no_kb router = Router() # [1]  @router.message(Command("start")) # [2] async def cmd_start(message: Message): await message.answer( "Вы довольны своей работой?", reply_markup=get_yes_no_kb() ) @router.message(F.text.lower() == "да") async def answer_yes(message: Message): await message.answer( "Это здорово!", reply_markup=ReplyKeyboardRemove() ) @router.message(F.text.lower() == "нет") async def answer_no(message: Message): await message.answer( "Жаль. ", reply_markup=ReplyKeyboardRemove() ) 

Обратим внимание на пункты [1] и [2]. Во-первых, мы в файле создали свой собственный роутер уровня модуля, и далее будем цеплять его к корневому роутеру (диспетчеру). Во-вторых, хэндлеры «отпочковываются» уже от локального роутера.

Аналогичным образом сделаем второй файл с хэндлерами different_types.py , где просто будем выводить тип сообщения:

handlers/different_types.py

from aiogram import Router, F from aiogram.types import Message router = Router() @router.message(F.text) async def message_with_text(message: Message): await message.answer("Это текстовое сообщение!") @router.message(F.sticker) async def message_with_sticker(message: Message): await message.answer("Это стикер!") @router.message(F.animation) async def message_with_gif(message: Message): await message.answer("Это GIF!") 

Наконец, вернёмся к нашему bot.py , импортируем файлы с роутерами и хэндлерами, и подключим их к диспетчеру:

import asyncio from aiogram import Bot, Dispatcher from handlers import questions, different_types  # Запуск бота async def main(): bot = Bot(token="TOKEN") dp = Dispatcher() dp.include_routers(questions.router, different_types.router)  # Альтернативный вариант регистрации роутеров по одному на строку # dp.include_router(questions.router) # dp.include_router(different_types.router) # Запускаем бота и пропускаем все накопленные входящие # Да, этот метод можно вызвать даже если у вас поллинг await bot.delete_webhook(drop_pending_updates=True) await dp.start_polling(bot) if __name__ == "__main__": asyncio.run(main()) 

Мы просто импортируем файлы из каталога handlers/ и подключаем роутеры из этих файлов к диспетчеру. И здесь снова важен порядок импортов! Если мы поменяем местами регистрацию роутеров, то на команду /start бот будет отвечать фразой «Это текстовое сообщение!», поскольку функция message_with_text() первой успешно пройдёт все фильтры. Но о самих фильтрах мы поговорим чуть позже, а пока рассмотрим ещё один вопрос.

Итог¶

У нас получилось аккуратно разделить бота по разным файлам, не нарушая его работу. Примерное дерево файлов и каталогов получилось следующим (здесь сознательно пропущены некоторые несущественные для примера файлы):

├── bot.py ├── handlers │ ├── different_types.py │ └── questions.py ├── keyboards │ └── for_questions.py 

В дальнейшем мы будем придерживаться такой структуры, плюс добавятся новые каталоги для фильтров, мидлварей, файлов для работы с базами данных и т.д.

Как создать опрос в Телеграм

Как создать опрос в Telegram: подробная инструкция для ПК и мобильных, обзор популярных ботов – sociogramm.ru

В 2021 году Telegram добавил новую функцию – создание опросов и голосований в группах. Она работает в мобильном приложении и десктопной версии мессенджера. Благодаря опции компании, блогеры могут поддерживать связь с целевой аудиторией.

Что такое опросы в Telegram и какие они бывают

Опрос в Telegram – это удобный инструмент для получения обратной связи от фолловеров. Пользователи, решившие принять участие, выбирают один или несколько вариантов. Информация обрабатывается в режиме реального времени, поэтому организатор в любой момент способен посмотреть, как отвечают люди.

В мессенджере можно сделать опрос одного из 3 видов:

  • классический – содержит 1-10 вариантов, а фолловеры имеют право выбрать только один из них;
  • многовариантный – состоит из 1-10 ответов, люди могут поставить галочку напротив нескольких пунктов;
  • викторина – формат для проверки знаний пользователя – задается вопрос, а снизу расположены ответы, верный вариант открывается после завершения события.

Наиболее свободным является второй тип голосования, т. к. он допускает пункт «Другое», нажав на который человек может написать любой текст.

Особенности опросов в Telegram:

  • можно создавать только в каналах и группах;
  • право провести имеют администраторы и подписчики;
  • фолловерам разрешено участвовать, отправлять голосование в другие чаты и следить за результатами опроса;
  • можно оставить не только как запись на стене, но и в комментариях к конкретному посту;
  • накрутка не запрещена.

Как самостоятельно создать опрос в Телеграме

Рассмотрим, как организовать опрос в группе.

Инструкция для десктопной версии

В версии для персональных компьютеров нужно:

  1. Открыть Телеграм канал или группу.
  2. Кликнуть на кнопку в виде скрепки в правом нижнем углу.

Кликните на кнопку - скрепку

3. Выбрать опцию Poll.

Выберите опцию Poll

4. Ввести вопрос и добавить варианты ответов (не более 10).

Заполните форму опроса

5. Выбрать дополнительные функции: Anonymous voting, Multiple answers, Quiz mode.

6. Нажать «Создать».

Если выбран режим квиза, появится еще одно окно для ввода объяснения решения задачи. При желании его можно оставить пустым.

Еще одно оокно

Когда голосование будет опубликовано, его уже нельзя отредактировать. Организатор имеет право только:

  • добавить к нему текст;
  • отправить в другой чат;
  • закрепить;
  • скопировать ссылку;
  • закрыть.

Прямо в этом же окошке можно посмотреть статистику: процентное соотношение ответов, количество голосов и участников, число просмотров.

Инструкция для мобильных приложений

В приложении для мобильных телефонов порядок действий точно такой же. Инструкция:

  • Открыть групповой чат.
  • Нажать на скрепку в левой части экрана.

Нажать на скрепку в левой части экрана

  • Кликнуть на «Опрос» на панели.

Кликнуть на «Опрос» на панели

  • Задать вопрос, вписать ответы.
  • Выбрать дополнительные функции.
  • Нажать «Создать».

При желании или обнаружении ошибок в анкете можно сразу же уничтожить опрос, зажав окошко, а затем стереть его, как обычное сообщение. Стоит уточнить, что после удаления посмотреть статистику уже невозможно.

Как создать опрос с помощью ботов

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

Likebot

Это самый популярный чат-бот для проведения голосований. Его особенность заключается в том, что участники могут отвечать с помощью лайков, дизлайков и смайликов. Такие анкеты можно добавлять к любому посту, чтобы понять, как публика относится к фотографии, новости и другим материалам.

  1. Нажать на поисковую строку в мессенджере.
  2. Ввести LikeBot.

Ввести LikeBot

3. Ввести «/start» или тапнуть на меню и выбрать опцию Create a new post.

Ввести «/start»

4. Написать вопрос.

Написать вопрос

5. Добавить до 6 эмоджи.

Добавить до 6 эмоджи

6. Нажать Publish, чтобы получить ссылку на размещение.

Нажать Publish

7. Выбрать место, где будет отображаться анкета.

Выбрать место, где будет отображаться анкета

Если захотите начать заново, впишите «/cancel».

VoteBot

Опросы от VoteBot смотрятся интереснее и привлекательнее, чем от других ботов. Варианты ответов выполнены в виде огромных кнопок, что мотивирует подписчиков принятие участие.

  • Открыть Telegram.
  • В поисковую строку вписать VoteBot.

В поисковую строку вписать VoteBot

  • Написать «/start».

Написать «/start»

  • Выбрать тип голосования – открытое или анонимное.

Выбрать тип голосования

Введите опрос

  • Указать не менее 2 ответов, а затем написать «/done».

Указать не менее 2 ответов, а затем написать «/done»

  • Нажать Publish poll, чтобы добавить анкету в группу.

Нажать Publish poll

В чате с ботом можно отслеживать статистику в режиме реального времени, а при желании закрыть или удалить голосование. Если администратор создал публичный опрос, то он также увидит, кто и как ответил.

Pollbot

Делает самые заметные голосования, т. к. огромные кнопки с вариантами, размещенные под вопросом, занимают практически весь экран телефона. Инструкция по работе с ним:

  1. Ввести в поисковую строку PollBot.

Ввести в поисковую строку PollBot

2. Написать команду «/start».

Написать команду «/start»

3. Выбрать Create a new poll.

Выбрать Create a new poll

4. Кликнуть на «Настройки» и выбрать один из типов опроса, а в Anonymous Settings указать, показывать ли имена участников, постоянно отображать итоги или только после закрытия голосования.

Выберите необходимую опцию

5. Ввести вопрос и описание, а затем добавить варианты ответов.

Ввести вопрос и описание, а затем добавить варианты ответов

Варианты ответа

Нажмите Done

  1. Кликнуть Share this poll.

Кликнуть Share this poll

QuAnBot

Это достаточно мощный конструктор, в котором придумывают сложные голосования с картинками, гифками и смайликами. Однако у него есть существенный недостаток – для работы с QuAnBot необходимо заранее разработать и подключить персонального бота. Без него публиковать опросы невозможно. Если в группе не используется робот, его можно создать с помощью автоматизированных сервисов, например: ManyBot, BotoBot, ChatForma, BotMaker.

Большинство таких конструкторов бесплатно, но набор функций или срок работы бота ограничен, поэтому для простых каналов, групп, не требующих многоуровневого интерфейса, подойдет ManyBot. Это бесплатный сервис, но он не улучшается с 2015 года.

  1. Найти бот с помощью поисковой строки.

Найдите бота

2. Написать команду «/start».

Напишите Старт

Выберите язык

4. Подключить персонального бота, отправив его токен.

Отправьте токен

5. Снова написать «/newpoll».

Снова написать «/newpoll»

6. Добавить вопрос и ответы.

Добавить вопросы и ответы

7. Выбрать опцию «Done».

Выбрать опцию «Done»

Как узнать результаты опросов

Результаты опроса может увидеть любой участник группы или канала сразу же после участия в нем. Это распространяется как на анонимные, так и не анонимные голосования. Даже администратор сначала должен ответить, перед тем как посмотреть статистику.

Если пользователь выбрал Anonymous mode, то люди посмотрят только общую статистику в процентах, однако не смогут понять, кто именно отвечал. Считается, что это лучший вариант голосования, т. к. подписчики будут отвечать максимально честно, ведь никто не узнает об их участии. Он же подойдет для накрутки голосов с помощью ботов, т. к. фолловеры увидят только общее количество участников.

В случае с публичным голосованием администратор и подписчики смогут посмотреть не только статистику, но и список отвечавших. Для этого нужно кликнуть на иконки аккаунтов чуть выше вариантов. Если человек хочет увидеть всю информацию, то нужно нажать на клавишу «Результаты». В ней показано, кто что ответил.

Если администратор воспользовался ботом, аналитика отображается в чате с ним. К примеру: VoteBot показывает статистику голосования сразу же после создания. Чтобы проверить итоги, нужно нажать Update results и подождать 1-2 секунды. Чуть ниже бот покажет, сколько пользователей приняли участие.

PollBot также выдает аналитику в первые минуты, однако если опрос анонимный, то необходимо сначала закрыть его, нажав на кнопку Close. А затем потребуется подтвердить решение, кликнув на Permanently close poll.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *