有以下情况,在我的bot中,在/start命令之后有一个新用户的注册,然后一个人可以按下/next命令并开始搜索对话者。一切都会好起来的。但是,如果我重新加载bot,用户将无法到达与注册后相同的状态。
是否有可能以某种方式在aiogram中设置初始状态?
是的,在心电图状态中有默认状态吗?
发布于 2022-09-20 21:42:11
如果我做对了,您需要在运行应用程序的会话之间保持状态。数据库就是为此而存在的。我个人喜欢用所有可能的对话状态来创建一个巨大的热情,然后从用户调用的数据中减少下一个反应。
enum {
USER_SET_NAME,
USER_SET_EMAIL,
USER_REGISTERED
}
void handle_update(update) {
current_state = load_from_db(chatId);
if (current_state == USER_SET_NAME) {
ask_for_email();
save_to_db(USER_SET_EMAIL);
return;
}
if (current_state == USER_SET_EMAIL) {
end_registration();
save_to_db(USER_REGISTERED);
return;
}
}https://stackoverflow.com/questions/73783887
复制相似问题