def create_adapt_vote(vote_message): """Создаёт адапт-голосовашку""" keyboard = InlineKeyboardMarkup() url = 'https://t.me/multifandomrubot?start=new_adapt_option{}'.format( vote_message.message_id) keyboard.row_width = 1 keyboard.add(InlineKeyboardButton("Предложить вариант", url=url)) with open(ADAPT_VOTES_FILE, encoding='utf-8') as file: votes_shelve = file.read() if votes_shelve: votes_shelve = literal_eval(votes_shelve) else: votes_shelve = {} votes_shelve[vote_message.message_id] = { "text": vote_message.text, "votes": [], "keyboard": [], "chat": vote_message.chat.id } with open(ADAPT_VOTES_FILE, 'w', encoding='utf-8') as file: file.write(str(votes_shelve)) edit_markup(vote_message.chat.id, vote_message.message_id, reply_markup=keyboard)
def captcha_completed(call): """Bot reacts to someone clicked correct button""" if CAPTCHERS.remove_captcher(call.from_user.id, call.message.chat.id): restrict(call.message.chat.id, call.from_user.id, can_send_messages=True, can_send_other_messages=True, can_send_media_messages=True, can_add_web_page_previews=True) answer_callback(call.id, text='Испытание креветкой пройдено!') edit_markup(call.message.chat.id, call.message.message_id) else: answer_callback(call.id, text='Это не ваша креветка 👀')
def adequate(call): """Вариант адекватен""" file_place = None if call.data == 'adequate': file_place = MULTI_VOTES_FILE elif call.data == 'a_adequate': file_place = ADAPT_VOTES_FILE file = open(file_place, encoding='utf-8') votes_shelve = literal_eval(file.read()) info = literal_eval(call.message.text) vote_id = info[0] votey = votes_shelve[vote_id] # Получаем необходимую нам голосовашку в хранилище votey["keyboard"].append(info[1]) votey["votes"].append([info[1], {}]) # Добавляем вариант votes_shelve[vote_id] = votey with open(file_place, 'w', encoding='utf-8') as file: file.write(str(votes_shelve)) if call.data == 'adequate': update_multi_vote(vote_id) elif call.data == 'a_adequate': update_adapt_vote(vote_id) edit_markup(call.message.chat.id, call.message.message_id)
def inadequate(call): """Вариант неадекватен""" edit_markup(call.message.chat.id, call.message.message_id)