【问题标题】:Discord.js. CronJob not working with command handling不和谐.js。 CronJob 不适用于命令处理
【发布时间】:2021-05-09 08:44:40
【问题描述】:

正如标题中所说,当我需要导出使用 CronJob 制作的计划时,我遇到了问题。我得到的错误是:

TypeError: Cannot read property 'send' of undefined

Cron.js里面我有:

const Discord = require('discord.js');
const fs = require("fs");
const client = new Discord.Client();
const { prefix, token } = require("../config.json");

const cron = require("cron")

const test = new cron.CronJob("00 00 13 * * 5", () =>{
    client.channels.fetch("768752722743918614")
    let testmsg = client.channels.cache.get("768752722743918614")
    testmsg.send("test")
})
module.exports = test

bot.js内部:

const Discord = require('discord.js');
const fs = require("fs");
const client = new Discord.Client();
const { prefix, token } = require("../config.json");

const cron = require("cron")
const test = require("./commands/autocode")

test.start()

bot.js 内部的日程安排没有问题,但我不想让它混乱。

【问题讨论】:

    标签: javascript node.js cron discord.js


    【解决方案1】:

    似乎client.channels.cache.get 返回未定义。我认为您可以将 client 传递给您的 cron 作业以使用相同的客户端实例。你可以返回一个函数,返回你想要的cron作业.start()

    const cron = require("cron");
    
    const test = (client) => new cron.CronJob("00 00 13 * * 5", () => {
        client.channels.fetch("768752722743918614");
        let testmsg = client.channels.cache.get("768752722743918614");
        testmsg.send("test");
    })
    module.exports = test;
    

    bot.js

    const Discord = require('discord.js');
    const fs = require("fs");
    const client = new Discord.Client();
    const { prefix, token } = require("../config.json");
    
    const cron = require("cron");
    const test = require("./commands/autocode")(client);
    
    test.start();
    

    【讨论】:

      猜你喜欢
      • 2014-04-24
      • 2021-10-21
      • 2021-06-30
      • 2021-07-17
      • 2018-06-08
      • 2020-11-22
      • 1970-01-01
      • 2020-08-26
      • 2021-05-08
      相关资源
      最近更新 更多