我正在编写一个机器人,但在用户连接到服务器后,我不知道如何使用它向用户发送私人消息。
据我了解,与服务器本身的连接可以这样捕获:
const robot = new Discord.Client();
robot.on("guildMemberAdd", (gMembAdd) =>
{
gMembAdd.guild.channels.find("name", "test").sendMessage(gMembAdd.toString() + "hello people");
});
收到名为“测试”的公共聊天频道中的消息,但我无法通过私人频道向个人用户发送消息。像这样尝试:
robot.on("guildMemberAdd", (gMembAdd) =>
{
gMembAdd.mentions.users.first().sendMessage(message.content.slice(4));
gMembAdd.guild.channels.find("name", "test").sendMessage(gMembAdd.toString() + "hello people");
});
但是代码会引发错误。
像这样尝试过:
robot.on("guildMemberAdd", (gMembAdd) =>
{
let ment = new Discord.Message();
ment.mentions.users.first().sendMessage(message.content.slice(4));
gMembAdd.guild.channels.find("name", "test").sendMessage(gMembAdd.toString() + "hello people");
});
我也试过这样:
robot.mentions.users.first().sendMessage(message.content.slice(4));
我究竟做错了什么?
我找到了我的问题的答案,或者更确切地说是我在英语社区中提出的,我会在这里发布它,也许它会对某人有所帮助。所以对于初学者来说,正如我被告知的那样,你需要放弃
.sendMessage
它,因为它在新版本中已经过时Discord-api
,而不是你需要使用.send()
. 此外,当您订阅时,guildMemberAdd
您会获得一个GuildMember,它允许您直接发送消息: