[英]get list of all members with specific role discord bot
我希望機器人向所有成員發送名為 weed 的角色,但它只發送機器人名稱
我的代碼:
@commands.command(pass_context=True)
@commands.has_permissions(manage_messages=True)
async def mom(self,ctx, *args):
server = ctx.message.guild
role_name = (' '.join(args))
role_id = server.roles[0]
for role in server.roles:
if role_name == role.name:
role_id = role
break
else:
await ctx.send("Role doesn't exist")
return
for member in server.members:
if role_id in member.roles:
await ctx.send(f"{member.display_name} - {member.id}")
您可以簡單地使用role.members
@commands.command() # ↓ This will make sure that the argument passed is a discord.Role object
async def mom(self, ctx, role: discord.Role):
members = role.members
for member in members:
await ctx.send(f'{member.display_name} - {member.id}')
參考:
我相信有一個叫做role.members
東西,它返回所有具有“角色”角色的成員。 以下是代碼示例:
@commands.command(pass_context=True)
@commands.has_permissions(manage_messages=True)
async def mom(self,ctx, *args):
server = ctx.message.guild
role_name = (' '.join(args))
role_id = server.roles[0]
for role in server.roles:
if role_name == role.name:
role_id = role
break
else:
await ctx.send("Role doesn't exist")
return
for member in role.members:
await ctx.send(f"{member.display_name} - {member.id}")
嘗試用此命令替換您的命令。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.