Discord JDA getManager().setName() 立即恢复

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

我正在制作一个机器人,它读取用户提供的文本文件并根据它设置服务器设置。我的机器人可以设置服务器名称,但大约 0.5 秒后,它会变回旧名称。

我还检查了是否有任何其他代码将名称改回,但我找不到与之相关的任何内容。

List<String> lines = Files.readAllLines(settings.toPath());
String[] serverName =
         {lines.get(0).substring(lines.get(0).indexOf("\"")+1, lines.get(0).lastIndexOf("\"")), lines.get(0).substring(lines.get(0).lastIndexOf("\"")+1)};
// This is getting the server name from text server-name = "server_name"

if (!lines.get(0).isEmpty()) {
   int lineNumber = 0;
   if (!lines.get(lineNumber).equalsIgnoreCase("null")) {
       if (!lines.get(lineNumber).startsWith("//")) {
           Objects.requireNonNull(event.getGuild()).getManager().setName(serverName[0]).queue();
           event.getChannel().sendMessage("`` COMPLETED      []       " + lines.get(lineNumber) + "``").queue();
       } 
       else {
           event.getChannel().sendMessage("`` IGNORED        []       " + lines.get(lineNumber) + "``").queue();
       }
   }
}
java discord-jda
1个回答
0
投票

嘿,这是一种通过休息行动获得邀请者的方法

    private RestAction<User> getInviter(Guild guild, User user) {
        return guild.retrieveAuditLogs().type(ActionType.INVITE_CREATE).map(auditLogs -> {
            for (AuditLogEntry entry : auditLogs) {
                if (entry.getTargetId().equals(user.getId())) {
                    return entry.getUser(); // Returns the inviter
                }
            }
    
            // AuditLogEntry not found
            return null;
        });
    }
© www.soinside.com 2019 - 2024. All rights reserved.