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})
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))
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.")