Javascript 聊天Discord.js中的消息dm
我似乎不知道如何让别人说!dm并将其仅发送给指定的玩家。下面是一个例子: Coolgay的留言: “!dm Moogstir你好” 接收器(Moogstir): “-酷家伙 “你好” 这是我的密码:Javascript 聊天Discord.js中的消息dm,javascript,node.js,discord.js,Javascript,Node.js,Discord.js,我似乎不知道如何让别人说!dm并将其仅发送给指定的玩家。下面是一个例子: Coolgay的留言: “!dm Moogstir你好” 接收器(Moogstir): “-酷家伙 “你好” 这是我的密码: const Discord = require('discord.js'); const bot = new Discord.Client(); const Player = new Discord.Client(); bot.on('ready', () => { console.
const Discord = require('discord.js');
const bot = new Discord.Client();
const Player = new Discord.Client();
bot.on('ready', () => {
console.log(`It's an owl! It's a Bagel! NO It's a ${bot.user.tag}`)
});
Player.on('message', (message) => {
if (message.author.bot) return;
const args = message.content.split(/ +/g);
const command = args.shift().toLowerCase();
if(command === `!dm ` + `${player.user.tag}` + `${message.content}`) {
message.Player.sendMessage(`-${message.author}` + "\n" +
`${message.content}`);
}
});
要向消息作者发送消息,请使用
message.reply(``)代码>
如果希望邮件发送给作者以外的其他人,则需要获取收件人ID/用户名,并将其传递到集合中以查找他们。例如:collection.find('username','myUsername')代码>
另外,sendMessage
会被折旧,如果要发送到服务器中的某个频道,则应该是message.channel.send
你应该通读这本书,把基本知识记下来。一开始它可能会让人困惑,但你玩得越多,它就越有意义
编辑:我不知道你为什么把你的客户命名为player
,而不是client
或bot
,但我建议你改一下,以免以后混淆。有很多方法可以做到这一点,但这里有一个最简单的方法
//命令:!dm@user
让user=message.indications.users.first()//抓住用户提及
user.send();
运行命令后!dm
,代码找到用户提及的内容,然后向用户发送一条dm消息
旁注:为什么还要使用两个不同的客户端?使用bot
或使用player
//dm命令
bot.on('message', function(message){
if(message.content.startsWith("!ddm")){
var user = message.mentions.users.first();
var text = message.content.split(' ').slice(2).join(' ');
message.delete();
if(message.author.bot) return;
if(!message.member.hasPermission("ADMINISTRATOR")){
message.channel.send("Du hast leider keine Rechte dafür!")
return;
}
if(message.author.id == "ID hier"){
message.reply("Tja da hast du wohl keine Rechte für! Du stehst für diesen Command leider auf der Blacklist!")
return;
}
if(!user) return message.channel.send("Du hast keinen User angegeben.");
if(!text) return message.channel.send("Du hast keine Nachricht angegeben.")
user.send(`**${message.guild.name}:**`)
user.send(text)
}
})
运行代码时会发生什么?尝试将sendMessage
替换为send
。AssendMessage
现在已被弃用。谢谢,这有很多帮助!:汉克斯!我还在努力做很多,谢谢!没问题,但我犯了个错误。它应该是message.notices.members.first()代码>如果你能解释你的建议如何帮助解决这个问题,那就太好了。这很可能解决了OP的问题,但添加一些评论或解释会改进这个答案。