【发布时间】:2021-02-13 09:02:52
【问题描述】:
你好,所以我在 JDA 中制作了一个机器人,我刚刚发出了一个禁令命令,但它并没有禁止代码所在的任何人 我提到了用户,还写了一个理由,写了用户 ID,仍然没有区别
package me.programmer.CodeDevelopment.Commands;
import me.programmer.CodeDevelopment.Bot;
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.Member;
import net.dv8tion.jda.api.entities.TextChannel;
import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;
import java.util.List;
public class Ban extends ListenerAdapter {
public void onMessageGuildReceived(List<String> args, GuildMessageReceivedEvent e){
String msg = e.getMessage().getContentRaw();
if(msg.equalsIgnoreCase(Bot.PREFIX + "ban")){
TextChannel channel = e.getChannel();
Member member = e.getMember();
List<Member> mentionedMembers = e.getMessage().getMentionedMembers();
if (mentionedMembers.isEmpty() || args.size() < 2) {
channel.sendMessage("Missing Arguments").queue();
return;
}
Member target = mentionedMembers.get(0);
String reason = String.join(" ", args.subList(1, args.size()));
if (!member.hasPermission(Permission.BAN_MEMBERS) && !member.canInteract(target)){
channel.sendMessage("You dont have pmerission to run this command").queue();
return;
}
target.ban(1)
.reason(String.format("Ban by: %#s, with reason: %s", e.getAuthor(), reason)).queue();
}
}
}
请帮助我在这个问题上停留了一段时间。
【问题讨论】:
-
您没有正确覆盖 ListenerAdapter 的方法。名称和参数列表必须匹配。
-
已经试过了,还是不行
标签: discord-jda