我正在为discord制作机器人,我想获取服务器所有者的用户名并将其放入字符串中。
我想要的ProcessCommand类的代码:
@SuppressWarnings("unused")
public static void proccessCommand(IMessage message, String prefix) {
IUser sender = message.getAuthor();
IChannel channel = message.getChannel();
IGuild guild = message.getGuild();
String[] command = message.getContent().toLowerCase().replaceFirst(prefix, "").split(" ");
if(command[0].equals("rules")) {
channel.sendMessage("ImConor's Discord Server Rules!" + "\r\n" + "No Racism, No Alts, No Disrespect to ANYONE, No Ban Evasion" );
}
else if(command[0].equals("restart")) {
message.delete();
channel.sendMessage("@everyone, I am restarting! Please do NOT use any ModBot commands!");
}else if(command[0].equals("ping")) {
channel.sendMessage("Pong!");
}else if(command[0].equals("start")) {
if (message.getAuthor() == *string of username here*) {
message.delete();
channel.sendMessage("@everyone, I have returned!");
}
}
}
答案 0 :(得分:1)
查看此文档here
您已经从IGuild
方法获得了名为guild
的{{1}}变量。
如果您搜索所有者的文档(Ctrl + F帮助),您会看到message.getGuild()
类的getOwner()
方法,其结果为{{1该对象基本上包含有关服务器所有者的详细信息。
最后,IGuild
对象有一个IUser
方法。
简而言之,你可以做IUser
或者只是getName()
,然后使用所有者的用户对象执行任何操作。