【问题标题】:Fixing code for a discord !avatar command [duplicate]修复不和谐的代码!头像命令[重复]
【发布时间】:2020-03-31 22:24:06
【问题描述】:

我正在尝试制作一个机器人,它的一个命令将图像放入嵌入中,到目前为止,它的唯一工作时间是我执行 !avatar 但我希望它能够执行 !avatar @the specified user然后它把那个用户的个人资料图片链接。这是它当前拥有的代码。

bot.on('message', message => {
    if (message.content.startsWith('!embed')) {
      const embed = new Discord.RichEmbed()
        .setDescription(message.content)
        .setFooter('Cloudzy')
      message.channel.send({ embed })
    }

【问题讨论】:

  • 您不需要消息中的用户提及 ID 吗?
  • 我现在不太确定这就是我难过的地方。
  • 一秒钟前发布的链接我不太确定是谁发布的,但我可能有有效的代码,所以如果我的代码不起作用,我会检查那个链接谢谢.
  • 我发布了原始链接,这与我用来将其链接为重复问题的链接相同。建议的答案应该适合您。
  • @Mr.Polywhirl 其他帖子成功了,谢谢您的帮助。

标签: javascript visual-studio-code


【解决方案1】:

对于任何感兴趣的人,这里有一个示例机器人,它可以发布带有用户头像的丰富嵌入。

您所要做的就是将以下命令发送到服务器。

!avatar @username#0000

机器人 - index.js

const config = require('./config.json');
const { token } = require('./auth.json');
const { Client, RichEmbed } = require('discord.js');
const logger = require('winston');

const client = new Client();

// Configure logger settings
logger.remove(logger.transports.Console);
logger.add(new logger.transports.Console, { colorize: true });
logger.level = 'debug';

client.on('ready', (evt) => {
    logger.info('Connected');
    logger.info('Logged in as: ' + client.user.username + ' - (' + client.user.id + ')');
  });

  client.on('message', (message) => {
    if (!message.content.startsWith(config.prefix)) return; // Not listening...
    const withoutPrefix = message.content.slice(config.prefix.length).trim();
    let args = withoutPrefix.split(/\s+/g);
    let command = args.shift();

    switch (command) {
        case 'avatar':
            // Credit: PLASMA chicken - https://stackoverflow.com/a/55611445/1762224
            const user = message.mentions.users.first() || message.author;
            const avatarEmbed = new RichEmbed()
                .setColor(0x333333)
                .setAuthor(user.username)
                .setImage(user.avatarURL);
            message.channel.send(avatarEmbed);
    }
});

client.login(token);

配置 - config.json

{
    "prefix" : "!",
    "inviteLink" : "<INVITE LINK HERE>"
}

授权 - auth.json

{
    "token": "<AUTH TOKEN HERE>"
}

【讨论】:

  • 这基本上是同一个机器人,我只有几个命令,我的工作很好。
猜你喜欢
  • 2022-01-06
  • 2018-03-28
  • 2012-01-15
  • 1970-01-01
  • 2021-12-03
  • 2019-03-12
  • 2021-12-31
  • 2018-02-25
相关资源
最近更新 更多