【问题标题】:Discord.js How to use emojies in a embed showing user presenceDiscord.js 如何在显示用户存在的嵌入中使用表情符号
【发布时间】:2021-01-30 21:20:56
【问题描述】:

最后有一个 pastebin 与相同的代码更容易访问。我想知道如何而不是在频道中发送单独的消息。仅在嵌入本身中显示它。

Discord.js = 11.5.1

不,我不想更新到 V12,但大多数代码似乎都可以正常工作,但是(至少在我的机器人中)

那么,如果我想在嵌入中显示“BLACK_HEART”,我该怎么办?


const { RichEmbed } = require("discord.js");
const color = require("../../color.json");
const moment = require("moment");

module.exports = {
    name: "userinfo",
    aliases: ["ui"],
    description: "SOMETHING",
    usage: "ALSO SOMETHING",
    run: (client, message, args) => {
        message.delete();
        
        const rMember = message.mentions.members.first()
        
        if(!rMember) 
            return message.channel.send("Please mention a user you want to see the status's off.")

            // switch (rMember.presence.status) {
            //     case 'online':
            //         ('<:Online:720645133699121292> | Online');
            //         break;
            //     case 'idle':
            //         ('<:Idle:720645133720223794> | Idle');
            //         break;
            //     case 'dnd':
            //         ('<:Offline:720645133577748491> | Offline');
            //         break;
            //     case 'offline':
            //         ('<:disagree:720645133065912381> | Offline');
            //         break;
            // }

        const embed = new RichEmbed()
            .setFooter(message.author.username, message.author.displayAvatarURL)
            .setColor(color.orange)
            .setTimestamp()
            .setTitle(`Central Operating System | User Info`)
            .addField(`Username`, rMember.user.username)
            
            .addField(`User ID`, rMember.user.id, true)
            .addField(`User Discriminator`, rMember.user.discriminator, true)
            .addField(`User Bot?`, rMember.user.bot, true)
            .addBlankField()

            .addField(`Account Creation Date`, `${moment(rMember.user.createdAt)}`, true)
            .addField(`Account Joined Server`, `${moment(rMember.user.joinedAt)}`, true)
            .addBlankField()

            .addField(`User Status`, rMember.presence.status, true) // <- I want this to show with emoji's
            .addField(`User Precense`, `UN-USED IN THIS BUILD`, true)
            .addField(`Avatar URL Link`, rMember.user.displayAvatarURL)

        message.channel.send(embed)
    }
}

THIS PASTEBIN

提前谢谢你们。

【问题讨论】:

  • 见鬼,我喜欢你给我的帮助,但这不是我想要的。让我为你们解释一下。假设我提到@user1,我希望能够看到他们各自的存在,无论他们是在线还是离线,空闲还是免打扰。黑心类似于离线,但如果他们在线,发送黑心是没有意义的。感谢您的帮助。

标签: discord.js


【解决方案1】:

Discord 中有两种类型的表情符号。自定义的和其他已经不和谐的。您可以通过输入此格式 &lt;EmojiName:EmojiId&gt; 添加自定义表情符号。要获取任何表情符号名称和 ID,请在表情符号前使用反斜杠“\”。例如。如果我的表情符号名称是 x 和 id 720645133699121292,如果我使用 \:x:,它将返回 <:x:720645133699121292:>。对于 Unicode 表情符号,您可以在表情符号之前使用 \,或者如果您使用 Windows,请使用 WINDOWS_KEY + PERIOD (.),您将获得一组表情符号。在您的情况下,这里是一个 Unicode 表情符号 [black_heart],所以请使用 ?。我不确定你需要在代码中的什么地方使用表情符号,这似乎是一个普遍的问题,所以我认为不需要代码。

【讨论】:

    【解决方案2】:

    默认值:

    Go To Emojipedia & Copy Emote And Paste It In Your Code
    

    非动画自定义表情:

    <:Name:ID>
    

    动画自定义表情:

    <a:Name:ID>
    

    BLACK_HEART:

    message.channel.send("? | Back Heart")
    

    如何获取自定义动画 Emoji ID?

    硝基:
    将 \ 放在动画表情符号之前并将消息发送到频道并复制 ID ID> (709346456045355010>)
    没有硝基:
    复制表情符号链接并从链接获取 ID https://cdn.discordapp.com/emojis/**ID**.gifv=1 (https://cdn.discordapp.com/emojis/**709346456045355010**.gif?v=1)

    如何获取自定义非动画表情符号 ID?
    将 \ 放在表情符号之前并将消息发送到频道并复制 ID <:name:>ID> (<:cuteaww:>709347796276478022>)

    【讨论】:

      【解决方案3】:

      使用构造函数和数组解决了问题。所以现在的代码是这样的。

      const { RichEmbed } = require("discord.js");
      const color = require("../../color.json");
      const moment = require("moment");
      
      module.exports = {
          name: "userinfo",
          aliases: ["ui"],
          description: "SOMETHING",
          usage: "ALSO SOMETHING",
          run: (client, message, args) => {
              message.delete();
              
              const rMember = message.mentions.members.first()
              
              if(!rMember) 
                  return message.channel.send("Please mention a user you want to see the status's off.")
      
                  const presence = {
                      "online": "<:Online:720645133699121292> | Online",
                      "idle": "<:Idle:720645133720223794> | Idle",
                      "dnd": "<:Offline:720645133577748491> | Offline",
                      "offline": "<:disagree:720645133065912381> | Offline"
                  }
      
              const embed = new RichEmbed()
                  .setFooter(message.author.username, message.author.displayAvatarURL)
                  .setColor(color.orange)
                  .setTimestamp()
                  .setTitle(`Central Operating System | User Info`)
                  //.setDescription(`Currently Work In Progres. . . .`)
                  .addField(`Username`, rMember.user.username)
                  
                  .addField(`User ID`, rMember.user.id, true)
                  .addField(`User Discriminator`, rMember.user.discriminator, true)
                  //.addField(`User Verified?`, rMember.user.verified)
                  .addField(`User Bot?`, rMember.user.bot, true)
                  .addBlankField()
      
                  .addField(`Account Creation Date`, `${moment(rMember.user.createdAt)}`, true)
                  .addField(`Account Joined Server`, `${moment(rMember.user.joinedAt)}`, true)
                  .addBlankField()
      
                  .addField(`User Status`, presence[rMember.presence.status], true)
                  .addField(`User Precense`, `UN-USED IN THIS BUILD`, true)
                  .addField(`Avatar URL Link`, rMember.user.displayAvatarURL)
      
              message.channel.send(embed)
          }
      }
      

      感谢大家的帮助!

      我在这里找到了答案。 Discord.js User Presence Customize

      【讨论】:

        猜你喜欢
        • 2020-12-19
        • 1970-01-01
        • 2021-11-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-21
        • 2021-02-06
        • 2020-12-21
        相关资源
        最近更新 更多