javascript - Discord.js:机器人应该提到执行命令的用户
问题描述
我正在为 Discord 制作一个机器人,作为第一个 JS 项目,它会在用户编写 !GIF 或 !JPG 命令后打印出 GIF 或图像。此外,它将添加一条消息。我如何在 GIF / 图片上方的消息中提及发出命令的用户?我尝试并进行了搜索,但找不到解决方案。
client.on("message", msg => {
const sentences = ["Here is your sh*", "Take that image and shove it!", "Lol ok..."]
const texts = sentences[Math.floor(Math.random() * sentences.length)];
if (msg.content === "!Commands") {
msg.reply("Use '!GIF' for random GIFs and '!JPG'for random JPGs");
}
if (msg.content === "!GIF") {
gifNumber = 6
var randomGif = Math.floor (Math.random() * (gifNumber - 1 + 1)) + 1;
msg.reply(texts, {files: ["./gif/" + randomGif + ".gif"]});
}
if (msg.content ==="!JPG") {
jpgNumber = 2
var randomJpg = Math.floor (Math.random() * (jpgNumber - 1 + 1)) + 1;
msg.reply(texts, {files: ["./jpg/" + randomJpg + ".jpg"]});
}
});
解决方案
字符串化的 User 对象将解析为提及。发送 2 条消息,1 条用于提及,2 条用于内容
msg.channel.send(msg.author);
msg.channel.send(texts, {files: ["./jpg/" + randomJpg + ".jpg"]});
推荐阅读
- delphi - Winapi.ShlObj.SHGetFolderPath 的可重现错误
- php - 如何使用 composer.json 自动加载?
- amazon-s3 - 基于对象元数据值的 AWS S3 策略
- python - 如何在python中将多行输入读取到二维数组中
- lua - 用于 conky 的 Lua 脚本运行没有错误,但不绘制任何东西
- vue.js - VueJS - 页面上所有 vue 实例的列表
- java - 如何在 JUNG 的 DirectedSparseGraph 上使用 getNeighbors 函数?
- angular - FormArray 分页
- node.js - Firebase nodejs admin SDK每次获取实时数据库路径的数据时都会下载数据
- amazon-web-services - AWS - IIS 和 Windows 服务以及 SQL 服务器 - 负载均衡器和高可用性