예제 #1
0
async def get_gender(message: Message) -> None:
    gender = message.body
    if gender in ["male", "female"]:
        users_data[message.user_huid]["gender"] = gender
        await bot.answer_message(
            "Ok! Thanks for taking the time to answer my questions.", message,
        )
    else:
        await bot.answer_message(
            "Sorry, but I can not recognize your answer! Type 'male' or 'female', please!",
            message,
        )
        register_next_step_handler(message, get_gender)
예제 #2
0
async def fill_info(message: Message) -> None:
    if message.user_huid not in users_data:
        text = (
            "Hi! I'm a bot that will ask some questions about you.\n"
            "First of all: what is your name?"
        )
        register_next_step_handler(message, get_name)
    else:
        text = (
            "You've already filled out information about yourself.\n"
            "You can view it by typing `/my-info` command.\n"
            "You can also view the processed information by typing `/info` command."
        )

    await bot.answer_message(text, message)
예제 #3
0
async def get_age(message: Message) -> None:
    try:
        age = int(message.body)
        if age <= 2:
            await bot.answer_message(
                "Sorry, but it's not true. Say your real age, please!", message,
            )
            register_next_step_handler(message, get_age)
        else:
            users_data[message.user_huid]["age"] = age
            await bot.answer_message("Got it! Final question: your gender?", message)
            register_next_step_handler(message, get_gender)
    except ValueError:
        await bot.answer_message(
            "No, no, no. Pleas tell me your age in numbers!", message,
        )
        register_next_step_handler(message, get_age)
예제 #4
0
 def decorator(message: Message):
     event.set()
     register_next_step_handler(message, next_handler_name, **ns_args)
예제 #5
0
 def decorator(message: Message):
     event.set()
     if next_handler_name is not None:
         register_next_step_handler(message, next_handler_name)
예제 #6
0
async def get_name(message: Message) -> None:
    users_data[message.user_huid]["name"] = message.body
    await bot.answer_message("Good! Move next: how old are you?", message)
    register_next_step_handler(message, get_age)