1

我正在制作一个不和谐的机器人,我想获取服务器所有者的用户名并将其放入字符串中。

我想要的 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!");
        }
    }
}
4

1 回答 1

2

在此处查看此文档。
您已经有一个从您的方法IGuild命名的变量。guildmessage.getGuild()

如果您在文档中搜索所有者(Ctrl + F 有帮助),您将看到一个类的getOwner()方法IGuild,其结果是 aIUser并且该对象基本上包含有关服务器所有者的详细信息。

最后,IUser对象有一个getName()方法。

所以简而言之,你可以对所有者的用户对象做String ownerName = guild.getOwner().getName();
或简单地做任何你想做的事情。IUser ownerObject = guild.getOwner()

于 2017-08-27T18:08:49.947 回答