javascript - 如何让我的机器人私信成为被机器人踢出的用户? (Discord.js)

标签 javascript node.js discord

bot.on('message', message => {
    if (message.content.startsWith(prefix + "kick")) {
    let modRole = message.guild.roles.find("name", "Staff");
    if(message.member.roles.has(modRole.id)) {
        message.author.sendMessage(`some insulting stuff...`)
        message.mentions.users.map(member => {
        message.guild.member(member).kick().catch(console.error);})

如何编辑此代码以使其向被踢出的用户发送私有(private)消息?

最佳答案

您可以在 map 上添加一行,以尝试在踢用户之前向他们发送消息:

message.mentions.users.map(async user => {
    const member = message.guild.member(user);
    try { await user.send('kicked'); }
    catch (err) { console.log('failed to kick user'); }
    member.kick();
});

如果用户禁用了 DM,有时此操作会失败,但没有太多解决方法。

关于javascript - 如何让我的机器人私信成为被机器人踢出的用户? (Discord.js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44731377/

相关文章:

javascript - Angular Directive(指令)上的正则表达式仅返回 false

javascript - 在 .js 文件中写入图像链接 - Symfony2

javascript - 循环遍历 Javascript 中的嵌套对象

c - 理解 libuv/epoll/非阻塞网络 IO

javascript - "prompt not defined"从命令行使用 Node ?

python - Discord.py-rewrite - close() 和 logout() 方法之间的区别?

javascript - Grunt 服务器如何正确设置主机名和虚拟主机?

javascript - Socket.io动态 "on"绑定(bind)

python - FFmpeg 不工作(discord.py)

node.js - Discord.js V14 interaction.editReply 给出无效的 webhook token 错误