[英]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%20status#discord.Member.status
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.