Discord.js-如何编辑Bot命令确认消息

时间:2020-01-25 21:23:03

标签: node.js discord discord.js

我有一个密码。此代码用“ y”替换成员名称中的字母“ x”。但它会发送我为每个用户设置的消息。也就是说,如果有15个用户,它将发送消息“我更改了x人的名字” 15次。我想使这条消息成为一条消息,然后让机器人根据用户来编辑消息。 像这样; “我更改了member人的名字”,然后“我更改了member2人的名字。(已编辑)”?

exports.run =async (bot, message, args) => {
    let tokaci = message.guild.members.filter(membersx => {
        return membersx.roles.some(r=>["639572199409319994"].includes(r.id));
    });
   let tokacis = message.guild.members.filter(membersx => {
        return membersx.roles.some(r=>["tokuchi"].includes(r.name));
    }).size;
    tokaci.forEach(member => {
      if(!member.displayName.includes(`✯`)) return message.channel.send(`<:reds:669706016375701574> **Belirtilen role sahip kişilerin isminde değiştirilmesi gereken harfi bulamadım.**`)
        if(member.manageable) {
            let newNickName = member.displayName.replace(`✯`, '⛥');
            member.setNickname(newNickName)
            .catch(console.error)
          message.channel.send(`***<:onays:669706016354729984> Belirtilen role sahip olan kişilerin ismindeki harfi değiştiriyorum. ${member}***`)

        }
    });

    }

1 个答案:

答案 0 :(得分:0)

您可以使用其他功能来编辑消息或使用message.edit。方法channel.send()返回带有已发送消息的Promise。

exports.run =async (bot, message, args) => {
        let tokaci = message.guild.members.filter(membersx => {
            return membersx.roles.some(r=>["639572199409319994"].includes(r.id));
        });
       let tokacis = message.guild.members.filter(membersx => {
            return membersx.roles.some(r=>["tokuchi"].includes(r.name));
        }).size;
        message.channel.send('Start edit nicknemes').then(msg => {
        tokaci.forEach(member => {
          if(!member.displayName.includes(`✯`)) return message.channel.send(`<:reds:669706016375701574> **Belirtilen role sahip kişilerin isminde değiştirilmesi gereken harfi bulamadım.**`)
            if(member.manageable) {
                let newNickName = member.displayName.replace(`✯`, '⛥');
                member.setNickname(newNickName)
                .catch(console.error)
                let text = `***<:onays:669706016354729984> Belirtilen role sahip olan kişilerin ismindeki harfi değiştiriyorum. ${member}***`
                editMsg(msg,text)
            }
        });
        })

    }



    function editMsg(message, text) {
        message.edit(text)
    }

V2

exports.run =async (bot, message, args) => {
            let tokaci = message.guild.members.filter(membersx => {
                return membersx.roles.some(r=>["639572199409319994"].includes(r.id));
            });
           let tokacis = message.guild.members.filter(membersx => {
                return membersx.roles.some(r=>["tokuchi"].includes(r.name));
            }).size;
            message.channel.send('Start edit nicknemes').then(msg => {
            tokaci.forEach(member => {
              if(!member.displayName.includes(`✯`)) {
                    editMsg(msg,`***<:onays:669706016354729984> Belirtilen role sahip olan kişilerin ismindeki harfi değiştiriyorum. ${member}***`)
                  }
                if(member.manageable) {
                    let newNickName = member.displayName.replace(`✯`, '⛥');
                    member.setNickname(newNickName)
                    .catch(console.error)
                    let text = `***<:onays:669706016354729984> Belirtilen role sahip olan kişilerin ismindeki harfi değiştiriyorum. ${member}***`
                    editMsg(msg,text)
                }
            });
            })

        }



        function editMsg(message, text) {
            message.edit(text)
        }