【问题标题】:How do you assign roles with the discord.py rewrite?您如何通过 discord.py 重写分配角色?
【发布时间】:2019-10-20 10:45:43
【问题描述】:

我正在使用discord.py rewrite 创建一个不和谐的机器人并托管它 repl.it。我正在尝试添加角色分配,但每次尝试添加时都会出错

我查看了堆栈溢出问题,但找不到添加角色的解决方案。我也浏览了文档,但这让我更加困惑。

import discord.utils 
@client.command()
async def role(ctx, * role):
  user = ctx.message.author
  role = discord.utils.get(user.guild.roles, name=f"{role}")
  await ctx.add_roles(user, role)

它应该将指定的角色添加到消息作者,但它只会产生这个错误

File "main.py", line 18, in role
    await ctx.add_roles(user, role)
AttributeError: 'Context' object has no attribute 'add_roles'

【问题讨论】:

  • 谢谢@AlbertoPoljak。更新后我收到一个新错误。我用那个更新了帖子。
  • 你必须在会员例子await user.add_roles(role)使用它
  • 对于角色,你最好使用转换器,所以不要使用 * role 使用 role: discord.Role,它可以通过 id、名称或提及来扮演角色。它会自动给你角色对象。
  • @AlbertoPoljak 谢谢你的帮助

标签: python discord.py discord.py-rewrite


【解决方案1】:

我添加了 Alberto Poljak 的建议,它奏效了!

import discord.utils 
@client.command()
async def role(ctx, * role: discord.Role):
  user = ctx.message.author
  await user.add_roles(role)

【讨论】:

    猜你喜欢
    • 2021-04-17
    • 2019-08-06
    • 1970-01-01
    • 2021-03-17
    • 2021-06-05
    • 2020-09-13
    • 2020-09-24
    • 2021-05-15
    • 2022-01-19
    相关资源
    最近更新 更多