繁体   English   中英

不和谐.py | 如果用户有自定义状态的关键字,则向用户添加角色

[英]discord.py | add role to user if they have keyword in custom status

如果用户的自定义状态中有关键字,我正在尝试向用户添加角色,但我无法使其工作

这是我的代码:

    import discord
    from discord.ext import commands
    intents = discord.Intents.all()
    intents.members = True
 
bot=commands.Bot(command_prefix=get_prefix,case_insensitive=True,intents=discord.Intents.all())
    async def check_activity():
      await bot.wait_until_ready()
      role = discord.utils.get(bot.guild.roles, name = "Premium")
      for member in bot.get_all_members():
        for s in member.activities:
          if isinstance(s, discord.CustomActivity):
              status = s
          if "status" in status:
              await member.add_role(role)
    await asyncio.sleep(20)
    
    bot.loop.create_task(check_activity())
bot.run("TOKEN", reconnect = True, bot = True)

我在外壳/控制台中没有收到任何东西。 我的代码中是否有任何错误? 帮助将不胜感激! 我正在使用 discord.py 版本这是一个仅适用于我所在社区的机器人。我使用的版本是 1.7.3 版

您可以使用事件监听on_member_update

在那里你可以检查after.status是否等于你想要的状态。

如果这是=真; 然后你可以添加角色。

它在这里更详细地介绍:

https://discordpy.readthedocs.io/en/stable/api.html?highlight=member%20update#discord.on_member_update

https://discordpy.readthedocs.io/en/stable/api.html?highlight=member%20status#discord.Member.status

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM