【问题标题】:How do I get my bot to react with custom emotes?如何让我的机器人对自定义表情做出反应?
【发布时间】:2020-08-06 00:57:50
【问题描述】:

我目前正在使用类似的东西:

String emote = event.getJDA().getEmoteById("emoteAlias:guildId").getAsMention();
            event.getMessage().addReaction(emote).queue();

我已经尝试过很多不同的方式,使用不同的语法,还使用表情 ID 代替别名和公会 ID(正如我在其他地方被指示这样做的那样)。

当试图运行它时,它说它需要一个有效的 long 值。我试过只给出表情ID的长值。没用。

有人可以告诉我这个 sn-p 的语法应该是什么样子吗?

另外,我已经尝试阅读文档。它真的不是很清楚,也没有给出例子。

【问题讨论】:

    标签: java discord-jda


    【解决方案1】:

    getEmoteById 本身接受原始 ID。 emoteAlias:guildId 不是一种引用表情的方式,因为您可以在同一个公会中拥有多个同名的表情。您可以通过使用\:name: 将其发布到不和谐频道中来获取表情ID,这将导致类似<:name:id> 的格式。

    您不需要 Emote 实例来添加反应。您可以直接将反应代码传递给addReaction("name:id")之类的方法:

    1. 在聊天中发布表情。请注意,这不是“公会 ID”,而是表情名称和 ID。表情和消息一样有自己的 ID。

    1. 让表情成为代码中的常量
    public class Emotes {
        public static final String VIM = "vim:414776062380343296";
    }
    
    1. addReaction 通话中使用表情
    channel.addReaction(Emotes.VIM).queue();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-11
      • 2018-12-15
      • 2021-02-23
      • 2020-07-30
      • 1970-01-01
      • 1970-01-01
      • 2021-12-04
      • 2020-11-07
      相关资源
      最近更新 更多