Задать вопрос
@mapi
Увлекаюсь программированием на питоне.

Почему в команду поступает False?

Программа - телеграмм бот, который служит пультом для ответов в викторине и регистрации. По какой то причине при проверке ответа от пользователя в команду поступает False, хотя должно быть True.
import telebot
from telebot import types

def message_(text, message):
    bot.send_message(message.chat.id, text)


def check_answer(answer_nomber, user_answer):
    global first_player
    questions = {
        1 : True,
        2 : True,
        3 : False,
        4 : True
    }
    right_answer= questions.get(answer_nomber)

    print(user_answer)
    print(right_answer)

    if user_answer == right_answer:
        print("{0.first_name} victory")
    else:
        print("{0.first_name} loose")

token = ""#мой токен
bot = telebot.TeleBot(token)
first_player = False
question_number = 0
first_team = []
second_team = []
third_team = []

def quiz(message):
    message_('В Китае и Лаосе 8 марта - нерабочий день только для женщин', message)
    bot.register_next_step_handler(message, quiz_2)

def quiz_2(message):
    check_answer(1, True) if message == "✅ВЕРЮ✅" else check_answer(1, False)
    message_('В 1949 году в Советском Союзе была выпущена серия марок, посвященных этому дню', message)
    bot.register_next_step_handler(message, quiz_3)

def quiz_3(message):
    check_answer(2, True) if message == "✅ВЕРЮ✅" else check_answer(2, False)
    message_('В Мадагаскаре 8 марта — не отмечают официальный женский день', message)
    bot.register_next_step_handler(message, quiz_4)

def quiz_4(message):
    check_answer(3, True) if message == "✅ВЕРЮ✅" else check_answer(3, False)
    message_('В Таджикистане 8 марта — День матери', message)
    bot.register_next_step_handler(message, quiz_5)

def quiz_5(message):
    check_answer(4, True) if message == "✅ВЕРЮ✅" else check_answer(4, False)

@bot.message_handler(commands=['start'])
def start(message):
    markup_registr = types.ReplyKeyboardMarkup(resize_keyboard=True)
    button = types.KeyboardButton("Выбрать команду")
    markup_registr.add(button)
    bot.send_message(message.chat.id, text="Выберите команду",reply_markup=markup_registr)

def ky_registr(message):
    markup_regist_2 = types.ReplyKeyboardMarkup(resize_keyboard=True)
    button1 = types.KeyboardButton("1 команда")
    button2 = types.KeyboardButton("2 команда")
    button3 = types.KeyboardButton("3 команда")
    markup_regist_2.add(button1, button2, button3)
    bot.send_message(message.chat.id, text='Вот список команд:', reply_markup=markup_regist_2)

def ky(message, text_user):    
    markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
    btn1 = types.KeyboardButton("✅ВЕРЮ✅")
    btn2 = types.KeyboardButton("❌НЕ ВЕРЮ❌")
    markup.add(btn1, btn2)
    bot.send_message(message.chat.id, text=text_user.format(message.from_user), reply_markup=markup)
    
@bot.message_handler(content_types=['text'])
def func(message):
    global question_number
    if(message.text == "Выбрать команду"):
        ky_registr(message)
    elif(message.text == "1 команда"):
        first_team.append("{0.first_name}")
        message_('Вы зарегистрированы в 1 команду.', message)
        ky(message, "ку")
        quiz(message)
    elif(message.text == "2 команда"):
        first_team.append("{0.first_name}")
        message_('Вы зарегистрированы в 2 команду.', message)
        ky(message, "ку")
        quiz(message)
    elif(message.text == "3 команда"):
        first_team.append("{0.first_name}")
        message_('Вы зарегистрированы в 3 команду.', message)
        ky(message, "ку")
        quiz(message)
    else:
        message_("Данная команда не предусмотрена данным ботом.", message)

bot.polling(none_stop=True)
  • Вопрос задан
  • 38 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы