gpt4 book ai didi

python - 如何创建赋予提到的用户角色的机器人命令 |不和谐.py

转载 作者:行者123 更新时间:2023-12-04 15:32:36 25 4
gpt4 key购买 nike

我想创建一个 Discord 机器人命令。

例如,我想创建一个警告命令。因此管理员将输入以下命令:

?Warn @user "<A warning message>"

然后该命令将检查目标用户 (@user) 是否具有某些角色(例如,“A”、“B”、“C”和“D”)。如果他没有“A”角色,他会得到它,如果他有 A,他会得到 B,依此类推。

管理员必须具有“Staff Team”角色才能使用该命令。

我试过了,但没用:

#Warning
@bot.command(name="Warn", pass_context=True)
@commands.has_role("Staff Team")
async def addrole(ctx,arg):
user = arg
if user.role.name != "Warning 1" or "Warning 2" or "Warning 3":
role = get(user.server.roles, name="Warning 1")
await bot.add_roles(user, role)
elif user.role.name == "Warning 1":
role = get(user.server.roles, name="Warning 2")
role_last = get(user.server.roles, name="Warning 1")
await bot.add_roles(user, role)
await bot.remove_roles(user,role_last)
elif user.role.name == "Warning 2":
role = get(user.server.roles, name="Warning 3")
role_last = get(user.server.roles, name="Warning 2")
await bot.add_roles(user, role)
await bot.remove_roles(user,role_last)

然后机器人用文本和消息向用户发送 DM。

最佳答案

这是回答:

  1. async def Warn(ctx, args1: discord.Member, args2 = "no reason"):

                      ^                         ^
    User Mention Optional
  2. 成员 = args1

  3. Role = ctx.guild.get_role(ROLE ID)

  4. 对于 Member.roles 中的角色:

  5. if roles != Role: 或者 if roles == Role:

  6. await Member.add_roles(角色)

关于python - 如何创建赋予提到的用户角色的机器人命令 |不和谐.py,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60870781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com