【问题标题】:event file is not being triggered事件文件未被触发
【发布时间】:2022-12-03 11:29:05
【问题描述】:

所以我通常习惯将代码放在一个单一的 spaghetti-o index.js 文件中,但这次我有两个文件夹:

一个用于命令

一个用于活动

而主要的 index.js 仅具有上述两个的侦听器,以便执行事件和命令。

我正在尝试在 messageCreate.js 中获取 messageCreate 事件触发器事件文件夹,我弄乱了 index.js 和 messageCreate.js 事件文件的意图,但除非我做错了什么,否则似乎没有任何进展。

这是我正在尝试做的事情:

const { Events } = require('discord.js');


module.exports = {
    name: Events.MessageCreate,
    async execute(messageCreate) {
            if(message.content == "Give me a random phrase for no reason!") {
              var ran = [("A"),
                ("Some"),
                ("Ah"),
                ("You"),
                ("They"),
                ("He"),
                ("She"),
                ("Was"),
                ("Were"),
                ("Weren't"),
                ("Were you"),
                ("Weren't you"),
                ("Are you"),
                ("Aren't you"),

其余代码无需关注,其作用基本很简单。抓取三个变量,将它们混合在一起并输出随机的意大利面条,但是每当在服务器内发送触发消息时,代码都不会执行,也没有错误消息。

我尝试将它放入主 index.js 文件中,看看它是否会做任何不同的事情,但似乎没有任何效果。

以下是 index.js 文件中的意图,我也尝试将其复制到 messageCreate.js 事件文件中,但没有成功:

const { Client, Collection, Events, GatewayIntentBits, GuildMessages, DirectMessages } = require('discord.js');

发送触发消息后,如何才能执行 messageCreate.js?

【问题讨论】:

  • 这回答了你的问题了吗? message.content doesn't have any value in Discord.js
  • 不是真的,我已经尝试过 GuildMessages 意图,但列出的其他意图无济于事。虽然我会在几个小时内再试一次
  • 如果您尝试按照上面提到的方式导入它(即{ GuildMessages, DirectMessages } = require('discord.js');,那么它将不起作用。
  • 在主要的 index.js 中,我输入了 GatewayIntentBits.MessageContent,GatewayIntentBits.GuildMessages,,完全按照它在那里的写法。在主 index.js 文件上工作,但是在“事件”文件夹中的事件文件 messageCreate.js 上,在将相同的代码复制并粘贴到两个文件并测试它们之后,它没有。我是否必须执行const client = new Client之类的操作才能使其正常工作?

标签: node.js discord.js


【解决方案1】:

得到它的工作。

在主 index.js 文件中,只需执行以下操作:

const client = new Client({ intents: [
    GatewayIntentBits.Guilds,
    GatewayIntentBits.MessageContent,
    GatewayIntentBits.GuildMessages,
    ],
    partials: [Partials.Channel],
 });

然后在“事件”文件夹中的 messageCreate.js 文件中,我这样做了:

const { Events, MessageContent, client } = require('discord.js');


module.exports = {
    name: Events.MessageCreate,
    async execute(message) {
            if(message.content == "Give me a random phrase for no reason!") {
              var ran = [("A"),
                ("Some"),
                ("Ah"),
                ("You"),
                ("They"),
                ("He"),
                ("She"),
                ("Was"),

【讨论】:

    猜你喜欢
    • 2015-11-07
    • 2020-12-22
    • 2021-10-01
    • 2013-10-02
    • 2017-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-14
    相关资源
    最近更新 更多