【发布时间】:2021-08-08 23:58:40
【问题描述】:
我需要将我的机器人可以看到的所有频道放入一个字符串数组中,例如 {#general,#memes}。我该怎么做呢。我滚动浏览了 JDA 类方法,但一无所获。
【问题讨论】:
标签: java discord discord-jda
我需要将我的机器人可以看到的所有频道放入一个字符串数组中,例如 {#general,#memes}。我该怎么做呢。我滚动浏览了 JDA 类方法,但一无所获。
【问题讨论】:
标签: java discord discord-jda
有很多方法可以做到这一点,没有任何代码很难帮助你。
首先,如果你有一个 JDA 实例,你可以这样做
jda.getGuildById("your_guild_id").getChannels();
其次,如果您有来自onMessageReceived 事件的event,您可以这样做:event.getGuild().getChannels()
@Override
public void onMessageReceived(MessageReceivedEvent event)
{
System.out.println(String.join(",", event.getGuild().getChannels()));
}
第三,如果你有来自onReady 事件的event,你可以这样做:event.getJDA()getGuildById("your_guild_id").getChannels()
@Override
public void onReady(ReadyEvent event)
{
System.out.println(String.join(",", event.getJDA().getGuildById("your_guild_id").getChannels()));
}
这是一个例子:
public class Main implements EventListener{
public static void main(String[] args) {
JDABuilder builder = JDABuilder.createDefault("YOUR_BOT_TOKEN");
builder.addEventListeners(new Main());
builder.build();
}
@Override
public void onReady(ReadyEvent event){
JDA jda = event.getJDA();
Guild guild = jda.getGuildById("YOUR_GUILD_ID");
System.out.println(String.join(",", guild.getChannels());
}
}
如果这没有帮助,请发布一些你所拥有的代码。
【讨论】: