【问题标题】:discord.js delete message if it contains a spacediscord.js 删除包含空格的消息
【发布时间】:2020-12-03 12:38:49
【问题描述】:

我正在尝试让我的机器人删除包含空格的消息,但它似乎不起作用。

oneword.on('message', message => {
    if (Attivo == true) {
        messaggio.push(message.content)
        console.log("il bot riceve un messaggio")
        if (message.content.includes(" ")) {
            message.delete(200)
        }
        return
    }
})

但每当我尝试执行此操作(我输入命令“;start”)时,它就会崩溃并出现此错误。

    /home/broog/discord-bot-terzo/node_modules/discord.js/src/structures/Message.js:501
        if (typeof options !== 'object') throw new TypeError('INVALID_TYPE', 'options', 'object', true);
                                         ^
    
    TypeError [INVALID_TYPE]: Supplied options is not an object.
        at Message.delete (/home/broog/discord-bot-terzo/node_modules/discord.js/src/structures/Message.js:501:44)
        at Client.oneword.on.message (/home/broog/discord-bot-terzo/index.js:16:55)
        at Client.emit (events.js:203:15)
        at MessageCreateAction.handle (/home/broog/discord-bot-terzo/node_modules/discord.js/src/client/actions/MessageCreate.js:31:14)
        at Object.module.exports [as MESSAGE_CREATE] (/home/broog/discord-bot-terzo/node_modules/discord.js/src/client/websocket/handlers/MESSAGE_CREATE.js:4:32)
        at WebSocketManager.handlePacket (/home/broog/discord-bot-terzo/node_modules/discord.js/src/client/websocket/WebSocketManager.js:386:31)
        at WebSocketShard.onPacket (/home/broog/discord-bot-terzo/node_modules/discord.js/src/client/websocket/WebSocketShard.js:436:22)
        at WebSocketShard.onMessage (/home/broog/discord-bot-terzo/node_modules/discord.js/src/client/websocket/WebSocketShard.js:293:10)
        at WebSocket.onMessage (/home/broog/discord-bot-terzo/node_modules/ws/lib/event-target.js:125:16)
        at WebSocket.emit (events.js:198:13)

这里发生了什么,我该如何解决?

这是我的第一个 discord 机器人,所以我对 discord.js(甚至 JavaScript)真的很陌生

(是的,我知道这不是所有代码,但相信我,如果我离开第二个 if 语句,它会起作用)

【问题讨论】:

    标签: javascript node.js discord discord.js


    【解决方案1】:

    我猜你正在尝试删除超时的消息。您的代码使用 Discord.js v11 运行。目前最新版本为v12。你应该使用一个选项对象:

    oneword.on ('message', message=>{
        if(Attivo == true){
        messaggio.push(message.content)                            
        console.log("il bot riceve un messaggio")
        if (message.content.includes(" ")) {message.delete({ timeout: 200 })}
        return
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2018-08-26
      • 2020-07-04
      • 1970-01-01
      • 1970-01-01
      • 2020-01-09
      • 2021-06-28
      • 1970-01-01
      • 2020-07-15
      • 2021-03-07
      相关资源
      最近更新 更多