我是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)
谢谢!
答案 0 :(得分:1)
只需discord.Message.author.name
,name就是discord.Author
类的一个属性。
答案 1 :(得分:0)
import { FormControl } from '@angular/forms';
import { Injectable ,Injector} from '@angular/core';
import { AbstractControl } from '@angular/forms';
import { StorageService } from '../../shared/service/storage.service';
@Injectable()
export class ValidatorService {
moment: any;
constructor(private storageService: StorageService) {}
public addressValidator(control:FormControl)
{
console.log('want to use service here ');
if (conditionNotFullfill) {
return { address: false; }
}
return null;
}
}
将作者对象的await client.send_message(message.channel, discord.Message.author)
发送到邮件所在的频道。
您想要的是__repr__
,因为第二个参数是您要发送的消息,第一个参数是目的地。
看起来你把命令放在一个大的on_message事件切换案例中,如果我没有弄错你就是;我不推荐这个。相反,使用await client.send_message(message.channel, 'Surge!')
扩展名,discord.py的异步分支不能很好地记录这个并且大部分都没有使用,首先我建议您使用rewrite branch of discord.py并阅读有关{{3}的文档}。
答案 2 :(得分:0)
要发送消息作者,只需使用import java.net.URI;
import java.awt.Desktop;
java.awt.Desktop desktop = java.awt.Desktop.getDesktop();
String arg="Your URI here";
java.net.URI uri = new java.net.URI( arg );
desktop.browse( uri );
。