从用户删除旧消息-Discord.js

时间:2020-04-03 06:55:40

标签: discord discord.js

我目前正在制造一个机器人,该机器人被用作排队等候的人的队列。我在删除用户发送的旧消息时遇到困难,该消息已添加到队列中(这样就不会引起混乱)。

从客户端访问和删除旧邮件的正确方法是什么?

!next->将人员添加到队列中,
!remove->应该删除队列中的第一个人,并删除用户在聊天中输入的“!next”呼叫。

client.on('message', message => {
    user = message.member;
    user = user.toString();
    idNumber = message.member.id;

   if (message.content === '!next') {
        x++;
       message.reply('Added to waiting queue. Position ' + x);
       arrayName.push(user);
       idName.push(idNumber);
       }
     else if (message.content === '!remove') {
         x--;
         arrayName.shift();
         idName.shift();
         message.reply('Removed Top User from Queue. Users Left: '  + x);
         //how to remove !next call from user that called it?
         }

1 个答案:

答案 0 :(得分:2)

我会在您的评论中同意Syntle,您应该立即将其删除。

也就是说,如果您真的想这样做,这是问题的答案:

队列将需要某种多维存储。有多种选择,但是我将用一组对象进行演示。

if (message.content === '!next') {
    array.push({Id: idNumber, User: user, Message: message});
    message.reply('Added to waiting queue. Position ' + array.length);
} else if (message.content === '!remove') {
    let record = array.shift();
    message.reply('Removed Top User from Queue. Users Left: ' + array.length);

    if(!record.Message.deleted) {
        record.Message.delete();
    }
}