sunsexsurf

poll not worked

Sep 25th, 2023 (edited)
881
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. from aiogram import Router, F
  2. from aiogram.filters import Command
  3. from aiogram.types import Message, PollAnswer
  4.  
  5.  
  6. from aiogram.fsm.context import FSMContext
  7. from aiogram.fsm.storage.memory import MemoryStorage
  8. from aiogram.fsm.state import State, StatesGroup
  9.  
  10. # from handlers.quotes import bosses_quotes
  11. from sqlighter_ms import SQLighter
  12.  
  13. from random import choice
  14.  
  15. # admin_id = 117419621
  16. # admin_id = 0
  17.  
  18. db = SQLighter('mega_db.db')
  19.  
  20. boss_tg_id = db.get_boss_telegram_id()
  21. # boss_tg_id = []
  22. # boss_tg_id.append(admin_id)
  23.  
  24.  
  25. class reg_poll_answers(StatesGroup):
  26.     poll_1 = State()
  27.     poll_2 = State()
  28.     poll_3 = State()
  29.     poll_4 = State()
  30.    
  31.  
  32.  
  33. router = Router()
  34.  
  35. @router.message(Command("start", "check_voting"))
  36. async def cmd_start(message: Message, state: FSMContext):
  37.     active_voting_list = ['Иванов', 'Петров', 'Сидоров']
  38.     if message.from_user.id not in boss_tg_id:
  39.         await message.answer("К сожалению, я не нашел вас в базе - напишите скорее в ЦНИТ")
  40.     else:
  41.         await message.answer("Добрый день! Сейчас посмотрим, есть ли доступное голосование.")
  42.        
  43.         # active_voting_list = db.get_voting_list(message.from_user.id)
  44.        
  45.         active_voting_string = "\n".join([i for i in active_voting_list])
  46.        
  47.        
  48.         if len(active_voting_list)>0:
  49.             counter = 1
  50.             # await message.answer(f"Голосование открыто! Вот список кандидатов:\n\n{active_voting_string}\n\n_{choice(bosses_quotes['votes'])}_", parse_mode= 'Markdown')
  51.             await message.answer(f"Голосование открыто! Вот список кандидатов:\n\n{active_voting_string}", parse_mode= 'Markdown')
  52.             await message.answer_poll(question='Выберите кандидата', options=active_voting_list, is_anonymous=False)
  53.            
  54.            
  55.             await state.set_state(reg_poll_answers.poll_1.state)
  56.                        
  57.         else:
  58.             await message.answer(f"В настоящее время нет открытых голосований", parse_mode= 'Markdown')
  59.            
  60. @router.poll_answer()
  61. async def get_poll_answer(ans_poll: PollAnswer, state: FSMContext):
  62.    
  63.     user_data = await state.get_data()
  64.     user_state = await state.get_state()
  65.    
  66.     print(f'ans poll: {ans_poll.option_ids}')
  67.    
  68.     print(f'{ans_poll.user.id} : {ans_poll.option_ids[0]}')
  69.    
  70.     print(f'user-data: {user_data}')
  71.     print(f'user-state: {user_state}')
Advertisement
Add Comment
Please, Sign In to add comment