1 回答

TA貢獻1816條經驗 獲得超6個贊
您可以遍歷所有成員,并檢查他們是否具有指定的角色。如果他們這樣做,你可以踢他們。
@client.command(pass_context=True)
@has_permissions(administrator=True)
async def kick(ctx, role: discord.Role, reason: str=None):
? ? for member in ctx.guild.members:
? ? ? ? if role in member.roles: # does member have the specified role?
? ? ? ? ? ? await ctx.guild.kick(member, reason=reason)
用法是k! kick <role> <reason(optional)>
參數(?ctx, role: discord.Role, reason: str=None
)如下:
ctx
- 默認傳入。這包含所有上下文信息,例如消息作者、發送消息的服務器等role: discord.Role
- 用戶在調用命令時必須指定要踢出的角色。冒號告訴 python 和discord.py 嘗試將參數轉換為的類型,這意味著它將把角色名稱(即字符串)轉換為對象discord.Role
,以便您可以對其進行操作,例如比較角色。reason: str=None
- 可選參數(默認為None
)。如果提供此選項,被踢出的用戶將看到此字符串作為被踢出的原因消息。
添加回答
舉報