首页 文章

discord.js - 向用户发送私人消息

提问于
浏览
6

我正在使用discord.js库和node.js来创建一个促进扑克的Discord机器人 . 除了向所有人展示双手之外,它是有用的,我需要循环播放玩家并用手向他们发送DM .

bot.on("message", message => {
message.channel.sendMessage("string");
})

这是在任何用户发送消息时向消息发送消息的代码 . 我需要机器人在私人 Channels 回复;我见过dmChannel,但我不明白如何使用它 . 我有要向其发送消息的成员的用户名 . 一个例子将不胜感激 .

编辑:在查找用户对象后,我发现我可以使用客户端(bot)的.users属性获取所有用户 . 我将尽快尝试使用user.sendMessage(“string”)方法 .

5 回答

  • 0

    为了让机器人发送消息,您需要 <client>.send()client 是机器人将消息发送到的位置(A通道,服务器中的任何位置或PM) . 由于您希望机器人PM某个用户,您可以使用 message.author 作为 client . (您可以在消息或其他内容中替换 author 作为提及的用户等)

    因此,答案是: message.author.send("Your message here.")

    我建议您在遇到卡片时查找有关某个对象属性的Discord.js文档,您可能会发现可以作为解决方案的特定功能 .

  • 0

    上面的答案也可以正常工作,但我发现你通常只需使用 message.author.send("blah blah") 而不是 message.author.sendMessage("blah blah") .

    .send往往比.sendMessage更好地为我工作,它有时遇到问题 . 希望有助于一点点!

  • 13

    让代码说 if (msg.content === ('trigger') msg.author.send('text')}

  • 1

    这很简单,这是一个例子

    在这里添加您的命令代码,如:if(cmd === !dm ){

    let dUser = message.guild.member(message.mentions.users.first()) || message.guild.members.get(args[0]);
    if (!dUser) return message.channel.send("Can't find user!")
    if(!message.member.hasPermission("ADMINISTRATOR")) return message.reply("You can't you that command!")
    let dMessage = args.join(" ").slice(22);
    if(dMessage.length < 1) return message.reply('You must supply a message!')
    
    dUser.send(`${dUser} A moderator from WP Coding Club sent you: ${dMessage}`)
    
    message.author.send(`${message.author} You have sent your message to ${dUser}`)
    
    }
    })
    
  • 0

    target.send('string')应该可以工作

相关问题