Advertisement
OtsoSilver

Untitled

Feb 18th, 2022
647
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.92 KB | None | 0 0
  1. from telegram import Bot, Poll
  2. from telegram.ext import Updater, CommandHandler, PollAnswerHandler, PollHandler
  3. from credits import bot_token
  4.  
  5. bot = Bot(token=bot_token)
  6. updater = Updater(token=bot_token)
  7. dispatcher = updater.dispatcher
  8.  
  9.  
  10. def poll(update, context):
  11.     choices = ["Отлично", "Очень хорошо", "Неплохо", "Так себе"]
  12.     message = context.bot.send_poll(update.effective_chat.id, "Как ты?", choices, is_anonymous=False,
  13.                                     allows_multiple_answers=True)
  14.     payload = {
  15.         message.poll.id: {
  16.             "choices": choices,
  17.             "message_id": message.message_id,
  18.             "chat_id": update.effective_chat.id,
  19.             "answers": 0
  20.         }
  21.     }
  22.     context.bot_data.update(payload)
  23. def quiz(update, context):
  24.     questions = ["1", "2", "4", "20"]
  25.     message = update.effective_message.reply_poll("Сколько яиц нужно для пирога?", questions, type=Poll.QUIZ,
  26.                                                   correct_option_id=2)
  27.     payload = {
  28.         message.poll.id:
  29.             {
  30.                 "message_id": message.message_id,
  31.                 "chat_id": update.effective_chat.id,
  32.             }
  33.     }
  34.     context.bot_data.update(payload)
  35.  
  36. def receive_poll_answer(update, context):
  37.     answer = update.poll_answer
  38.     poll_id = answer.poll_id
  39.     context.bot_data[poll_id]['answers']+= 1
  40.     if context.bot_data[poll_id]['answers'] == 6:
  41.         context.bot.stop_poll(context.bot_data[poll_id]['chat_id'],
  42.                               context.bot_data[poll_id]['message_id'])
  43.  
  44. poll_handler = CommandHandler("poll", poll)
  45. quiz_handler = CommandHandler("quiz", quiz)
  46. receive_poll_answer = PollAnswerHandler(receive_poll_answer)
  47. dispatcher.add_handler(poll_handler)
  48. dispatcher.add_handler(quiz_handler)
  49. dispatcher.add_handler(receive_poll_answer)
  50.  
  51. updater.start_polling()
  52. updater.idle()
  53.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement