You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Discord JDA的EmbedMessage中添加用户个人资料链接?

给Discord日志机器人的Embed作者添加个人资料链接解决方案

嘿,这问题其实很好解决!Discord的Embed作者字段本身就支持设置可点击的跳转链接,而用户的个人资料链接有固定格式,咱们只需要结合用户ID生成这个链接,再配置到Embed里就行。

核心思路

Discord用户的个人资料链接是固定格式:https://discord.com/users/{用户ID},你只需要获取到发送消息用户的唯一ID,拼接成这个URL,再在构建Embed作者时把这个URL传进去,就能实现点击作者名称直接跳转到个人资料的效果。

修改后的代码示例(以JDA库为例,Java开发Discord机器人最常用的库)

假设你之前是用EmbedBuilder构建消息的,把原来设置作者的代码替换成下面这段:

// 获取发送消息的用户对象(你代码里的author应该就是这个对象)
User author = event.getAuthor();

// 生成用户的个人资料链接
String userProfileLink = "https://discord.com/users/" + author.getId();

// 构建带个人资料链接的Embed作者
EmbedBuilder embedBuilder = new EmbedBuilder();
embedBuilder.setAuthor(
    "@" + author.getName() + "#" + author.getDiscriminator(), // 显示的作者名称(带标签)
    userProfileLink, // 点击作者名称跳转的个人资料链接
    author.getEffectiveAvatarUrl() // 可选:添加用户头像作为作者图标,让Embed更美观
);

// 后续继续设置Embed的其他内容,比如日志内容、时间等
embedBuilder.setDescription(event.getMessage().getContentRaw());
embedBuilder.setTimestamp(Instant.now());

// 发送到#log频道
event.getGuild().getTextChannelsByName("log", true).get(0).sendMessageEmbeds(embedBuilder.build()).queue();

关键说明

  • author.getId():获取用户的永久唯一标识ID,用它拼接的个人资料链接是长期有效的。
  • setAuthor()的重载方法:第二个参数就是跳转链接,设置后Embed里的作者名称会变成蓝色可点击状态,点击直接打开该用户的Discord个人资料页。
  • 如果你用的是其他Discord机器人开发库(比如Discord4J),思路完全一致:获取用户ID→拼接个人资料URL→在Embed作者配置中设置链接属性。

内容的提问来源于stack exchange,提问作者VeeAyeInIn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:43:58