当前位置: 首页 > 面试题库 >

JDA-发送消息

百里伟
2023-03-14
问题内容

我有自己的基于JDA的Discord BOT。我需要向特定频道发送短信。我知道如何将消息作为onEvent响应发送,但是在我的情况下,我没有此类事件。

我有:作者(BOT),令牌和通道号。

我的问题是:如何在 没有事件的情况下 将消息发送到此频道?


问题答案:

好吧,我想我知道你的意思。您无需进行任何事件即可获取频道ID和发送消息。您唯一需要做的就是实例化JDA,调用awaitReady(),从实例中可以获取所有通道(MessageChannels,TextChannels,VoiceChannels,或者通过调用

  • get [Text] Channels()
  • get [Text] ChannelById(id = ..)
  • get [Text] ChannelsByName(名称,忽略大小写))

所以1.实例化JDA

        JDABuilder builder; 
        JDA jda = builder.build();
        jda.awaitReady();
  1. 获取频道
        List<TextChannel> channels = jda.getTextChannelsByName("general", true);
    for(TextChannel ch : channels)
    {
        sendMessage(ch, "message");
    }
  1. 发信息
        static void sendMessage(TextChannel ch, String msg) 
    {
        ch.sendMessage(msg).queue();
    }

希望能帮助到你。



 类似资料:
  • 我的机器人不能发送嵌入或常规文本信息,代码执行,但没有什么是发送在不和谐的通道。我遵循了JDA维基的设置,我不知道我做错了什么。 机器人登录码

  • 我试图使用Discord JDA API发送消息,但是每当我发送一条消息时,它就会无限地发送。 JDA版本:4.2.1_255 我尝试过什么: 使用GuildMessageReceivedEvent而不是MessageReceivedEvent来研究此问题 伪代码: SendPrivate ateMessage():

  • 我目前正在使用Java和jda为discord制作一个机器人。我想让机器人向特定的通道发送消息。我该怎么做?

  • 我有:作者(BOT)、令牌和频道号。 我的问题是:如何在没有事件的情况下将消息发送到这个通道?

  • 问题内容: 如何要求机器人将消息发送到与机器人接收命令不同的另一个通道(特定通道)? 假设bot 在channel中接收到消息,并且如果操作完成,则bot发送到channel 。 代码: 代码: 问题答案: 答案很简单: