我正在尝试让我的discord javascript discord bot使用ID向我发送dm,但它一直在说:
TypeError:无法读取未定义的属性“发送”。
有什么主意吗?
const Discord = require('discord.js');
const{prefix,token} = require('./config.json');
const bot = new Discord.Client();
bot.once('ready', () => {
console.log(`Ready!`);
});
bot.on('message', message => {
let e = message.content.split(" ");
if(message.content.startsWith(`${prefix}help`))
{
if (message.channel.type == "dm")
{
message.author.send("use !send");
}
}
if(message.content.startsWith(`${prefix}send`))
{
if (message.channel.type == "dm")
{
try{
message.author.send("Message sent");
message.client.users.get("266928832726xxxxxxx").send("someMessage");
}catch(e){console.log("[ERROR]",e)}
}
}
})
bot.login(token);
答案 0 :(得分:0)
好吧,要知道send
的问题所在,首先要做的是console.log(message)
并检查是否得到了名为author
的值,然后检查author
是否具有值或称为send
的方法。
答案 1 :(得分:0)
您将客户定义为漫游器const bot = new Discord.Client();
并尝试以message.client.users.get("266928832726xxxxxxx")
的身份获得成员
邮件没有属性client.users
,请使用bot.users.get()
bot.on('message', message => {
let e = message.content.split(" ");
if(message.content.startsWith(`${prefix}help`)){
if (message.channel.type == "dm"){
message.author.send("use !send");
}
}
if(message.content.startsWith(`${prefix}send`)){
if (message.channel.type == "dm"){
message.author.send("Message sent");
bot.users.get("266928832726xxxxxxx").send("someMessage").catch(console.error);
}
}
})