Python Discord.py - discord.Message.author输出一个奇怪的结果

问题描述 投票:0回答:2

我是Discord API的新手,我正在尝试制作自己的机器人。我试图让它记录发送消息“-clan”的人的昵称(而不是用户名)。例:

Surge - Today at 15:01
-clan

这应输出结果“Surge”。

但是,它输出:

surge epic bot!!!BOT - Today at 15:01
<member 'author' of 'Message' objects>

我无法弄清楚它为什么这样做,所以一些输入将非常感激。

我目前的代码:

@client.event
async def on_message(message):
    if message.content.startswith("-clan"):
        await client.send_message(message.channel, discord.Message.author)

谢谢!

python python-3.x discord discord.py
2个回答
1
投票

只做discord.Message.author.name,name是discord.Author类的属性。


0
投票

await client.send_message(message.channel, discord.Message.author)将作者对象的__repr__发送到消息所在的频道。

你想要的是await client.send_message(message.channel, 'Surge!')因为第二个参数是你要发送的消息而第一个是目的地。

此外,您似乎将命令放在一个大的on_message事件切换案例中,如果我没有弄错你就是;我不推荐这个。而是使用commands扩展,discord.py的异步分支不能很好地记录这个并且大部分没有使用,首先我建议你使用rewrite branch of discord.py并阅读有关commands extension here的文档。

© www.soinside.com 2019 - 2024. All rights reserved.