【问题标题】:Discord.js - how to edit bot command confirmation messageDiscord.js - 如何编辑机器人命令确认消息
【发布时间】:2020-01-28 14:39:55
【问题描述】:

我有一个密码。此代码将成员姓名中的字母“x”替换为“y”。但它会发送我为每个用户设置的消息。也就是说,如果有 15 个用户,它会发送 15 次消息“我更改了 x 人的姓名”。我想让它成为一条消息,然后我希望机器人根据用户编辑消息。 像这样; “我改了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}***`)

        }
    });

    }

【问题讨论】:

    标签: node.js discord discord.js


    【解决方案1】:

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

    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)
            }
    

    【讨论】:

    • 谢谢它的工作,但是当会员显示名称不包含'x'时它发送更多次我怎么能这样做?
    • 我已经调整了代码。如果你想编辑另一条消息,那么你需要发送更多消息并像.then (msg2 =&gt; {
    猜你喜欢
    • 2020-09-08
    • 2020-11-02
    • 2020-10-18
    • 2022-11-14
    • 2021-07-02
    • 2020-08-21
    • 2021-05-08
    • 2018-06-05
    • 2021-02-01
    相关资源
    最近更新 更多