我试图让我的机器人通过命令踢出具有指定角色的所有用户。我没有收到任何错误,所以我有点不知道我应该做什么。这是我的代码:
class InactiveCog(commands.Cog):
def init(self, bot):
self.bot = bot
@commands.Cog.listener()
async def on_ready(self):
print("KickCog loaded")
@commands.Cog.listener()
@has_permissions(administrator=True)
async def on_message(self, message):
if message.content.casefold().startswith("kick alle inaktiven rachel"):
await message.channel.send('Ab geht die Fahrt. See ya Nerds!')
for member in message.guild.members:
role_id = 723107103274958908
if role_id in member.roles:
await self.bot.guild.kick(member)
在此先感谢您的帮助!
答案 0 :(得分:0)
Member.roles
是一个 discord.Role
实例的列表,而不是一个整数列表,所以这个
if role_id in member.roles:
语句无效,您可以使用 discord.Role
Guild.get_role
实例
role = message.guild.get_role(role_id)
if role in member.roles:
await member.kick()