示例#1
0
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)
示例#2
0
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='Это не ваша креветка 👀')
示例#3
0
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)
示例#4
0
def inadequate(call):
    """Вариант неадекватен"""
    edit_markup(call.message.chat.id, call.message.message_id)