首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Discord.js。CronJob不使用命令处理

Discord.js。CronJob不使用命令处理
EN

Stack Overflow用户
提问于 2021-02-05 08:39:02
回答 1查看 171关注 0票数 1

正如标题中所说,当我需要导出用CronJob制作的日程表时,我遇到了一个问题。我得到的错误是:

TypeError: Cannot read property 'send' of undefined

Cron.js内部,我有:

代码语言:javascript
复制
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内部

代码语言:javascript
复制
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内部没有问题,但我不想把它弄得不整洁。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-05 08:48:23

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

代码语言:javascript
复制
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

代码语言:javascript
复制
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();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66055975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档