我目前正在使用与此类似的东西:
String emote = event.getJDA().getEmoteById("emoteAlias:guildId").getAsMention();
event.getMessage().addReaction(emote).queue();
我已经尝试了许多不同的方法,使用了不同的语法,还使用了表情符号ID来代替别名和行会ID(正如我在其他地方所指示的那样)。
尝试运行此命令时,它表示期望有效的long值。我已经尝试过给出表情符号ID的长值。没用。
有人可以告诉我该代码段的语法如何吗?
此外,我尝试阅读文档。确实不是很清楚,也没有显示示例。
答案 0 :(得分:2)
getEmoteById
本身接受原始ID。 emoteAlias:guildId
不是引用表情的方法,因为在同一个公会中可以有多个具有相同名称的表情。您可以通过将其发布到\:name:
的不和谐频道中来获得表情ID,其格式将类似于<:name:id>
。
您不需要Emote
实例即可添加反应。您可以将反应代码直接传递给类似addReaction("name:id")
的方法:
public class Emotes {
public static final String VIM = "vim:414776062380343296";
}
addReaction
通话中使用表情符号channel.addReaction(Emotes.VIM).queue();