javascript - 如何将用户名和 ID 与命令分开?

标签 javascript node.js json discord discord.js

我使用 DankMemer Youtube Imgen API 编写了一个代码。当我输入: ,youtube 你好 ,它显示:

但是当我标记某人时,它会显示文本和 ID:

有没有办法可以将用户名与文本分开?

let target = message.mentions.users.first() || message.author;
let profilepic = target.avatarURL;
let sentence =  args.join(" ");
let url = ` https://dankmemer.services/api/youtube?avatar1=${profilepic}&username1=${target.username}&text=${sentence}`;

message.channel.startTyping();

snekfetch.get(url, {
  headers: {
    "Authorization": token
  }
}).then(async res => {
  await message.channel.send({
    files: [{
      attachment: res.body,
      name: `${target.tag}-youtube.jpg`
    }]
  }).then(() => message.channel.stopTyping());
}).catch(err => console.error(err));

最佳答案

let sentence =  args.join(" ");

您在那里加入了参数,我认为其中也包括提到的用户。您唯一需要做的就是删除提及。如果您只想删除第一个提及的内容,请执行以下操作-

if (!target === message.author) {
    let toremove = `{@${target.id}}`;
    sentence = sentence.replace(toremove, "");
}

在此行之后添加此代码-

let sentence =  args.join(" ");

关于javascript - 如何将用户名和 ID 与命令分开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58037910/

相关文章:

javascript - 查找使用 vue-cli 生成的 Webpack-simple 和 Vuejs 图像的问题

javascript - JQuery fadeOut回调函数在fadeOut结束后正在执行

javascript - 在循环中调用时函数返回类型未正确解析

Nodejs 开发人员的 Java 依赖管理

json - 如何在JSP中进行REST调用?

python - 使用 Python 解码 JSON 并存储嵌套对象

javascript - 如何更改另一个跨度内的跨度文本?

javascript - Object.keys(KeyboardEvent) 只获取一个 "isTrusted"键而不是所有键

javascript - 如何仅使用 jquery 将导航栏固定在大屏幕顶部

javascript - Puppeteer 查询选择器 - 如何获得第二个匹配项