我是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)
谢谢!
只做discord.Message.author.name
,name是discord.Author
类的属性。
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的文档。