JDA - 如何将 EmbedMessage 作为对象获取?
JDA - How do I get an EmbedMessage as an Object?
如何获取嵌入消息?我想获取已发布到聊天中的嵌入消息的页脚。谢谢!
与您收到任何其他消息的方式相同。嵌入只是消息的一个组成部分,您可以使用 Message#getEmbeds.
获取嵌入列表
要获取消息,您可以使用 retrieveMessageById。
这取决于您如何提取消息:
如果您正在使用反应或编辑事件(取决于您提取消息的方式),您可能正在使用:
@Override
public void onGuildMessageReactionAdd(@Nonnull GuildMessageReactionAddEvent event) {
event.getChannel().retrieveMessageById(event.getMessageId()).queue(p -> {
if (p.getEmbeds().size() > 0) {
if (p.getEmbeds().get(0) != null) {
p.getEmbeds().get(0).getFooter().getText();
}
}
});
}
请记住 MessageEmbed#Footer
中有 3 个组件
Click here for components picture
您有 getText()
, getProxyIconUrl()
and getText()
.
在您的情况下,您需要 getText()
。从现有嵌入中提取文本。
如何获取嵌入消息?我想获取已发布到聊天中的嵌入消息的页脚。谢谢!
与您收到任何其他消息的方式相同。嵌入只是消息的一个组成部分,您可以使用 Message#getEmbeds.
获取嵌入列表要获取消息,您可以使用 retrieveMessageById。
这取决于您如何提取消息:
如果您正在使用反应或编辑事件(取决于您提取消息的方式),您可能正在使用:
@Override
public void onGuildMessageReactionAdd(@Nonnull GuildMessageReactionAddEvent event) {
event.getChannel().retrieveMessageById(event.getMessageId()).queue(p -> {
if (p.getEmbeds().size() > 0) {
if (p.getEmbeds().get(0) != null) {
p.getEmbeds().get(0).getFooter().getText();
}
}
});
}
请记住 MessageEmbed#Footer
中有 3 个组件
Click here for components picture
您有 getText()
, getProxyIconUrl()
and getText()
.
在您的情况下,您需要 getText()
。从现有嵌入中提取文本。