【问题标题】:Discord message gets deleted until a new user responds在新用户回复之前,不和谐消息将被删除
【发布时间】:2021-02-04 21:34:44
【问题描述】:

我试图在用户发送消息时做到这一点,直到其他人在那里发送消息,消息被删除,所以在其他人发送之前,一个人不能两次发送消息。但我不知道该怎么做,也许可以通过检查频道上的最后一条消息和消息作者来做到这一点?

client.on('message', message => {
  if (!oChannel.includes(message.channel.id)) return;
  const args = message.content.slice().trim().split(/ +/);

  const { author, member } = message;

  if (!message.guild) return;
  if (author.bot) return;
  if (args.length === 3) {
    message.reply('Thanks, wait until other people continue')
      .then(m => m.delete({ timeout: 3000 }))
  } else {
    if (!oChannel.includes(message.channel.id)) return;
    if (message.deletable) message.delete({ timeout: 500 })
    message.reply('Please write 3 words !')
    .then(m => m.delete({ timeout: 2000 }))
  }
})

client.on('messageUpdate', (oldMessage, newMessage) => {
  if (!oChannel.includes(newMessage.channel.id)) return;
  if(newMessage.content != oldMessage) {
    if (newMessage.deletable) newMessage.delete({ timeout: 500 })
    newMessage.reply('Edit not allowed !')
      .then(m => m.delete({ timeout: 2000 }))
  }
})

到目前为止,这是我的代码,这就像一个三字故事代码,现在此代码所做的是,当有人在频道中发送的消息长于或短于三个字时,它会删除它并使其无法编辑消息但是

【问题讨论】:

    标签: javascript node.js discord discord.js


    【解决方案1】:

    你可以这样做: 只需过滤 message.channel.messages.cache 即可跳过机器人消息并获取最后一个元素

    client.on('message', (message) => {
        if (!oChannel.includes(message.channel.id)) return;
        const args = message.content.slice().trim().split(/ +/);
    
        const { author, member } = message;
    
        if (!message.guild) return;
        if (author.bot) return;
        if (args.length === 3) return message.reply('Thanks, wait until other people continue').then((m) => m.delete({ timeout: 3000 }));
        let previousMessage = message.channel.messages.cache.filter((m) => !m.author.bot).last();
        if (previousMessage.author.id === message.author.id) {
            message.channel.send('No no no').then((msg) => {
                msg.delete({
                    timeout: 2000,
                });
            });
        }
    });
    

    【讨论】:

      猜你喜欢
      • 2021-09-20
      • 2021-05-29
      • 2018-11-21
      • 1970-01-01
      • 2021-09-26
      • 2018-05-02
      • 1970-01-01
      • 2021-10-03
      • 2021-07-25
      相关资源
      最近更新 更多