我正在尝试用www.example.com制作一个自定义不和谐机器人discord.py,我想制作一个提升消息。当有人提升服务器时,它会在特定的通道发送消息,我该怎么做?我不知道该怎么做,甚至找不到任何相关的文档或文章。
kknvjkwl1#
有几种方法可以做到这一点:在公会设置中,你可以打开一个当有人提升公会时发送消息的开关。你可以通过这个消息来做你的事情。第二个是on_guild_update事件。这个事件有before和after公会对象。这些对象有“高级订阅者”和“高级等级”属性,所以你可以查看它们。我个人没有尝试过这个;但假设提升会触发更新事件.公会对象文档。最后,如果前者不合适,而后者又不像我想象的那样工作;你可以创建一个任务来定期检查公会的高级属性,然后采取相应的行动。Task documentation.希望这能给你一些想法来尝试。
on_guild_update
before
after
ldxq2e6h2#
因此,没有特殊的事件,但我们可以通过检查用户是否具有server booster角色,然后使用on_member_update事件检查是否添加了该角色来实现这一点。
server booster
on_member_update
@bot.event async def on_member_update(before, after): if 'Server Booster' in after.roles: if not 'Server Booster' in str(before.roles): print(f"{after} has boosted the server ({after.guild}).")
2条答案
按热度按时间kknvjkwl1#
有几种方法可以做到这一点:
在公会设置中,你可以打开一个当有人提升公会时发送消息的开关。你可以通过这个消息来做你的事情。
第二个是
on_guild_update
事件。这个事件有before
和after
公会对象。这些对象有“高级订阅者”和“高级等级”属性,所以你可以查看它们。我个人没有尝试过这个;但假设提升会触发更新事件.公会对象文档。最后,如果前者不合适,而后者又不像我想象的那样工作;你可以创建一个任务来定期检查公会的高级属性,然后采取相应的行动。Task documentation.
希望这能给你一些想法来尝试。
ldxq2e6h2#
因此,没有特殊的事件,但我们可以通过检查用户是否具有
server booster
角色,然后使用
on_member_update
事件检查是否添加了该角色来实现这一点。