小编Sku*_*sal的帖子

当我向机器人发送 DM 时,事件 messageCreate 未触发/发射 (discord.js v13)

我编写了以下代码来记录发送到我的机器人的 DM:

client.on('messageCreate', async message => {

    if (message.author.bot) return;

    const attachment = message.attachments.first()

    if (message.channel.type === 'DM') {
        console.log(message.content)

        const dmLogEmbed = new MessageEmbed()
            .setColor("RANDOM")
            .setTitle(`${message.author.tag} dmed the bot and said: `)
            .setDescription(message.content)
            .setFooter(`User's id: ${message.author.id}`)

        if (message.attachments.size !== 0) {
            dmLogEmbed.setImage(attachment.url)

        }

        client.channels.fetch("852220016249798756").then((channel) => {

            channel.send({ embeds: [dmLogEmbed] })

        })
    }

});
Run Code Online (Sandbox Code Playgroud)

但是当更新到discord.js v13时,它不再工作了,据我了解,唯一的变化是“dm”通道类型不再是“dm”而是“DM”,所以我在代码中更改了它,但它仍然不起作用,我真的不知道为什么。

javascript node.js discord discord.js

13
推荐指数
1
解决办法
3万
查看次数

Discord.js V13:如何编辑交互的消息对象?

我正在尝试将我的discord 机器人更新到新版本的discord.js (v13)。我有一条带有嵌入和两个按钮的消息,一个用于上一页,一个用于下一页。当用户单击按钮时,我尝试编辑嵌入以显示其他内容。但后来我得到了

类型错误:interaction.message.edit() 不是函数。

我可以打印出来interaction.message并显示消息对象,但无法调用该函数。我正在使用该interactionCreate事件。

提前致谢!

javascript bots discord discord.js

5
推荐指数
1
解决办法
1万
查看次数

Discord.js 删除功能

我的问题是我在尝试删除 Discord 中的消息时收到错误消息。

client.on('message', msg => {

    if(msg.content.startsWith(".del ")) {

      msg.delete(1000); //Supposed to delete message

    }
});
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

C:\Users\---\Desktop\Test\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 (C:\Users\---\Desktop\Test\node_modules\discord.js\src\structures\Message.js:501:44)
    at Client.<anonymous> (C:\Users\---\Desktop\Test\index.js:51:17)
    at Client.emit (events.js:310:20)
    at MessageCreateAction.handle (C:\Users\---\Desktop\Test\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
    at Object.module.exports [as MESSAGE_CREATE] (C:\Users\---\Desktop\Test\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
    at WebSocketManager.handlePacket (C:\Users\---\Desktop\Test\node_modules\discord.js\src\client\websocket\WebSocketManager.js:386:31)
    at WebSocketShard.onPacket (C:\Users\---\Desktop\Test\node_modules\discord.js\src\client\websocket\WebSocketShard.js:436:22)
    at WebSocketShard.onMessage (C:\Users\---\Desktop\Test\node_modules\discord.js\src\client\websocket\WebSocketShard.js:293:10)
    at WebSocket.onMessage (C:\Users\---\Desktop\Test\node_modules\ws\lib\event-target.js:120:16)
    at WebSocket.emit (events.js:310:20) {
  [Symbol(code)]: 'INVALID_TYPE'
}
Run Code Online (Sandbox Code Playgroud)

我也试过message.delete(1000),但我收到一条错误消息,告诉我消息未定义。

当我删除试图删除消息的代码时,该程序会起作用。

javascript discord.js

0
推荐指数
1
解决办法
1877
查看次数

标签 统计

discord.js ×3

javascript ×3

discord ×2

bots ×1

node.js ×1