javascript - 该机器人不会在私人消息中写入 Discord.js
问题描述
我想让机器人通过提及和通过ID写入BOT。
现在它只能通过ID工作
client.on("message", async (message) => {
if (!message.content.startsWith(prefix) || message.author.bot) return;
const args = message.content.slice(prefix.length).trim().split(" ");
const command = args.shift().toLowerCase();
const target = message.mentions.members.first() || message.guild.members.cache.get(args[0])
const { guild } = message;
const { name, region, memberCount, owner, afkTimeout } = guild;
const icon = guild.iconURL();
const User = client.users.cache.get(`${args[0]}`);
const time = args.slice(1).join(" ");
const reason = args.slice(2).join(" ");
if (command === "mute") {
client.users.fetch(args[0]).then((target) => {
target.send({
embed: {
title: `${User.username}`,
description: `**Miderator:** ${message.author} \n**Time:** ${args[1]} \n**Reason:** ${reason}`,
thumbnail: {
url: `${User.avatarURL()}`,
},
},
});
}); }});
解决方案
你可以这样做
let person = message.mentions.users.first().id || args[0]
client.users.fetch(person).then(target => {
target.send({
embed: {
title: `${User.username}`,
description: `**Miderator:** ${message.author} \n**Time:** ${args[1]} \n**Reason:** ${reason}`,
thumbnail: {
url: `${User.avatarURL()}`,
},
},
});
});
推荐阅读
- java - 播放框架泄漏 jar 文件导致“打开的文件过多”错误
- c++ - 计算闰年 - 表达式必须有一个可修改的左值
- c# - 带有接口列表的接口,如何选择接口实现的一种类型
- php - 在for循环中添加所有先前的数字以获取当前数字
- c++ - C++ if 语句不打印所需的输出
- c# - 对从 AutoMapper 映射的实体使用 AsNoTracking
- python - 为什么不能从我的个人 PyPI 服务器安装 Python 包?
- python - Tensorflow 数据管道:缓存到磁盘很慢 - 如何提高评估性能?
- php - 使用总计创建报告
- powerbi - Power Bi - 如何过滤和计算 52 列中的零值