首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Aiogram -设置精确用户的状态

Aiogram -设置精确用户的状态
EN

Stack Overflow用户
提问于 2021-04-15 01:53:21
回答 1查看 436关注 0票数 0

我正在用python和aiogram写一个机器人。关键是管理员接受(或拒绝)用户请求。因此,当管理员在聊天中单击按钮时,我需要更改用户的状态(他的uid是已知的)。我在任何地方都不知道该怎么做。

我在找像这样的东西

代码语言:javascript
复制
dp.set_state(uid, User.accepted))

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2021-08-05 15:30:23

我也有同样的问题

在基类State中找到方法set():

代码语言:javascript
复制
class State:
    ...
    async def set(self):
        state = Dispatcher.get_current().current_state()
        await state.set_state(self.state)

所以我从State创建了新的类,并以这种方式覆盖了方法:

代码语言:javascript
复制
    async def set(self, user=None):
        """Option to set state for concrete user"""
        state = Dispatcher.get_current().current_state(user=user)
        await state.set_state(self.state)

用法:

代码语言:javascript
复制
@dp.message_handler(state='*')
async def example_handler(message: Message):
    await SomeStateGroup.SomeState.set(user=message.from_user.id)

如果你想要一些邮件,收集用户ids并使用这个提示。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67096753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档