我现在正在尝试制作一个不和谐的机器人,我正在学习踢/禁成员的教程,但是我似乎找不到一种踢/禁每个人的方法。当前代码踢出一个特定用户:
async def kickall(ctx, member : discord.Member):
await member.kick()
我怎么才能让它踢到每个人?谢谢。如果您有任何问题或我可以改进此问题的方法,请随时询问/告诉我。
发布于 2020-08-31 10:35:26
您可以获取行会成员并使用for
循环遍历它们:
@commands.command(aliases=['kickall'])
@commands.has_permissions(administrator=True)
async def kick_all(self, ctx, reason):
for member in ctx.guild.members:
try:
await member.kick(reason=reason)
print(f"Kicked {member.name}")
except:
print(f"Could not kick {member}")
既然你不在Class
中,下面是你该怎么做的
@client.command()
async def kickall(ctx, *, reason=None):
if ctx.message.author.top_role.permissions.administrator:
for member in ctx.guild.members:
try:
await member.kick(reason=reason)
print(f"Kicked {member.name}")
except:
print(f"Could not kick {member}")
else:
await ctx.send("Missing permissions.")
https://stackoverflow.com/questions/63663965
复制相似问题