我想为我的机器人制作 Patreon Only 命令,但我不知道如何制作它,因此我可以根据 1 个服务器中的 1 个角色限制对命令的访问,我希望该命令在全球范围内工作,但我想要我的支持服务器上“Patreon”角色的人只能访问该命令。
问问题
69 次
2 回答
1
您可以使用discord.utils.get
获取 Patreon 角色,然后遍历成员的角色和一个简单的if-else
.
@client.command()
async def test(ctx):
homeGuild = client.get_guild(7300646418576xxxxx) # Home Guild/Support Server; where user has "Patreon" role.
patreonRole = get(homeGuild.roles, id=7570088168301xxxxx) # Patreon role ID that a user must have.
member = []
for pledger in homeGuild.members:
if pledger == ctx.author:
member = pledger
if patreonRole in member.roles:
await ctx.send("You are a Patreon.")
else:
await ctx.send("You are not a Patreon.")
于 2020-09-19T22:46:28.383 回答
0
在您的命令中,使用get_guild获取您的支持服务器公会,然后使用Guild.get_member获取执行命令的任何人的成员对象 (ctx.author.id)。然后,您可以检查您的Patreon
角色是否在该成员的Member.roles 中(我会使用utils.get),如果不是则退出命令。
于 2020-09-19T22:26:24.643 回答