Python 3.x Discord Bot无法发送消息,因为send不是上下文的属性

Python 3.x Discord Bot无法发送消息,因为send不是上下文的属性,python-3.x,discord.py,Python 3.x,Discord.py,根据文档,我正在以正确的方式重新实现我的命令,使用上下文和命令装饰器而不是on_消息侦听器,将我的命令传递到上是一种痛苦,但文档非常有用。不幸的是,我遇到了一个阻止我发送消息的问题 在搬家之前,我发送信息的方式是这样的 @client.event async def on_message(message): if message.author.id in AdminID: await client.send_message(message.channel. 'message')

根据文档,我正在以正确的方式重新实现我的命令,使用上下文和命令装饰器而不是on_消息侦听器,将我的命令传递到上是一种痛苦,但文档非常有用。不幸的是,我遇到了一个阻止我发送消息的问题

在搬家之前,我发送信息的方式是这样的

@client.event
async def on_message(message):
    if message.author.id in AdminID:
    await client.send_message(message.channel. 'message')
不幸的是,这在新格式上不起作用,因为没有消息参数可以从中获取信息,您需要做的是使用ctx(上下文)参数,根据文档,它看起来像这样

@bot.command()
async def test(ctx, arg):
    await ctx.send(arg)

虽然bot识别了该命令并转到那里,但我无法发送消息,因为send不是ctx的属性,该代码已从文档中删除,我是否遗漏了什么?有人能帮我弄清楚吗?谢谢

您正在查看的文档与您正在使用的库版本不同

您使用的是版本
0.16
,也称为“异步”分支。该分支的文档是

您正在阅读
1.0
版本(也称为重写分支)的文档

你的命令看起来像

@bot.command(pass_context=True)
async def test(ctx):
    if ctx.message.author.id in AdminID:
        await client.send_message(ctx.message.channel, 'message')

非常感谢!应该猜到它会是这样的,但是在发送部分,您用句号而不是逗号分隔每个参数,这会导致它崩溃,但是如果用逗号替换,它工作得很好!