【问题标题】:Discord JDA EmbedMessage Profile LinkDiscord JDA EmbedMessage 个人资料链接
【发布时间】:2018-11-04 20:26:00
【问题描述】:

目前我正在为 Discord 制作一个相当简单的日志记录机器人。它所做的只是将EmbedMessage 发送到服务器中的任何#log 频道。

这点杂乱的代码:

@Override
public void onMessageReceived(MessageReceivedEvent e) {

    Message message = e.getMessage();
    User author = e.getAuthor();
    MessageChannel channel = e.getChannel();

    if (channel.getName().equalsIgnoreCase("log") && !author.isBot()) {
        message.delete().queue();
    } else {

        EmbedBuilder eBuilder = new EmbedBuilder();

        String aMention = "@" + author.getName() + "#" + author.getDiscriminator();

        eBuilder.setAuthor(aMention, null, author.getEffectiveAvatarUrl());
        eBuilder.setColor(Color.GRAY);
        eBuilder.setFooter("#" + channel.getName(), null);
        eBuilder.appendDescription(message.getContentDisplay());

        MessageEmbed embed = eBuilder.build();

        for (MessageChannel mc : e.getGuild().getTextChannels()) {
            if (mc.getName().equalsIgnoreCase("log") && !author.isBot()) {
                mc.sendMessage(embed).queue();
            }
        }
    }
}

是记录非机器人聊天的设置。目前,它似乎没有在String aMention = "@" + author.getName() + "#" + author.getDiscriminator(); 行中设置与用户交谈的直接个人资料链接。我尝试搜索获取个人资料链接的特定方法,但目前我无法找到它。

【问题讨论】:

  • 你不能我想,但要让用户提到你可以做author.getAsMention()

标签: java bots discord discord-jda


【解决方案1】:

如果你想提及一个成员,只需使用:

Member yourMember = e.getMember();

String mention = yourMember.getAsMention();

// ...your code

【讨论】:

    猜你喜欢
    • 2014-10-09
    • 2012-02-19
    • 1970-01-01
    • 2021-09-23
    • 2012-01-20
    • 2015-07-02
    • 1970-01-01
    • 2013-04-29
    • 2012-09-06
    相关资源
    最近更新 更多