【问题标题】:bot in discord.py cannot create rolediscord.py 中的机器人无法创建角色
【发布时间】:2020-10-16 14:06:35
【问题描述】:

我正在尝试制作一个不和谐的机器人,当有人发送消息时它会创建一个角色。出于某种原因,它一直说“ctx”未定义。我该如何解决这个错误?

@client.event
async def on_message(message):
    server=ctx.message.server
    perms=discord.Permissions(administrator=true)
    await client.create_role(server,name='testrole', colour=discord.Colour(0x0000FF),permissions=perms)

当我改变时

async def on_message(message):

async def on_message(ctx):

它说“消息”未定义。 我不明白如何定义这两个,因为当我添加如下所示的未定义部分时,它仍然说'ctx'未定义或'message'未定义。

async def on_message(message,ctx):
async def on_message(ctx,message):

更新:我没有 (pass_context=True) 但现在我知道了更多

【问题讨论】:

  • 你知道你使用的是哪个版本的 discord.py 库吗?
  • on_message 没有 ctxctx 。您可以获得公会(不是服务器)或message 对象的频道。另请阅读docs

标签: python python-3.x discord discord.py


【解决方案1】:

试试这个:

@client.event
async def on_message(message):
    guild=message.guild
    perms=discord.Permissions(administrator=True)
    await guild.create_role(name='testrole', colour=discord.Colour(0x0000FF),permissions=perms)

附:您的机器人需要一些权限才能创建此角色。

【讨论】:

    猜你喜欢
    • 2019-04-20
    • 1970-01-01
    • 2020-12-13
    • 2021-04-02
    • 1970-01-01
    • 2019-01-22
    • 1970-01-01
    • 1970-01-01
    • 2021-04-09
    相关资源
    最近更新 更多