如何让我的机器人对自定义表情做出反应?
How do I get my bot to react with custom emotes?
我目前正在使用类似的东西:
String emote = event.getJDA().getEmoteById("emoteAlias:guildId").getAsMention();
event.getMessage().addReaction(emote).queue();
我尝试过很多不同的方法,使用不同的语法,还使用表情符号 ID 而不是别名和公会 ID(我在其他地方被指示这样做)。
当尝试 运行 这个时,它说它需要一个有效的 long 值。我试过只给出表情 ID 的长值。没用。
谁能告诉我这段代码的语法应该是什么样子的?
此外,我已经尝试阅读文档。它真的不是很清楚,也没有显示示例。
getEmoteById
接受原始 ID 本身。 emoteAlias:guildId
不是引用表情的一种方式,因为您可以在同一个公会中拥有多个同名的表情。您可以通过使用 \:name:
将其发布在不和谐频道中来获得表情 ID,这将导致格式类似于 <:name:id>
.
您不需要 Emote
实例来添加反应。您可以直接将反应代码传递给方法 addReaction("name:id")
:
- Post 在聊天中表达。请注意,这不是 "guild id" 而是表情名称和 ID。表情和消息一样有自己的 ID。
- 使表情成为代码中的常量
public class Emotes {
public static final String VIM = "vim:414776062380343296";
}
- 在你的
addReaction
通话中使用表情
channel.addReaction(Emotes.VIM).queue();
我目前正在使用类似的东西:
String emote = event.getJDA().getEmoteById("emoteAlias:guildId").getAsMention();
event.getMessage().addReaction(emote).queue();
我尝试过很多不同的方法,使用不同的语法,还使用表情符号 ID 而不是别名和公会 ID(我在其他地方被指示这样做)。
当尝试 运行 这个时,它说它需要一个有效的 long 值。我试过只给出表情 ID 的长值。没用。
谁能告诉我这段代码的语法应该是什么样子的?
此外,我已经尝试阅读文档。它真的不是很清楚,也没有显示示例。
getEmoteById
接受原始 ID 本身。 emoteAlias:guildId
不是引用表情的一种方式,因为您可以在同一个公会中拥有多个同名的表情。您可以通过使用 \:name:
将其发布在不和谐频道中来获得表情 ID,这将导致格式类似于 <:name:id>
.
您不需要 Emote
实例来添加反应。您可以直接将反应代码传递给方法 addReaction("name:id")
:
- Post 在聊天中表达。请注意,这不是 "guild id" 而是表情名称和 ID。表情和消息一样有自己的 ID。
- 使表情成为代码中的常量
public class Emotes {
public static final String VIM = "vim:414776062380343296";
}
- 在你的
addReaction
通话中使用表情
channel.addReaction(Emotes.VIM).queue();