Ejemplo n.º 1
0
def handle_config(update):
    user_id = dt.traverse(update, "message.from.id")
    user = storage.get_user(user_id)
    if user is None:
        return telegram.send_message(
            user_id,
            "You are not registered yet. Please do so with /start.")

    storage.update_user(user_id, state=UserState.config)
    telegram.send_message(
        user_id,
        "What would you like to change?",
        reply_markup={"keyboard": [[CONFIG_USERNAME]],
                      "one_time_keyboard": True,
                      "resize_keyboard": True})
Ejemplo n.º 2
0
def handle_plain(text, update):
    user_id = dt.traverse(update, "message.from.id")
    text = dt.traverse(update, "message.text")
    user = storage.get_user(user_id)

    if user is None:
        return

    if user.state == UserState.config and text == CONFIG_USERNAME:
        storage.update_user(user_id, state=UserState.config_username)
        return telegram.send_message(
            user_id,
            "Please send me your new username.",
            reply_markup={"hide_keyboard": True})

    if user.state == UserState.config_username:
        storage.update_user(user_id, username=text, state=UserState.none)
        return telegram.send_message(
            user_id,
            "Updated your username to {}.".format(text))
Ejemplo n.º 3
0
def handle_cancel(update):
    user_id = dt.traverse(update, "message.from.id")
    storage.update_user(user_id, state=UserState.none)
    return telegram.send_message(
        user_id,
        "Reset your state.")