![](/img/trans.png)
[英]Is there a setCurrency function for a discord bot using discord.js?
[英]setInterval Not Repeating Function using Discord.js
我正在嘗試制作一個 discord 機器人,它會為您提供每周提醒。 我正在使用momentjs
來獲取時間。 以及使用discord.js-commando
。 我發現多次調用 function 的最佳方法是使用setInterval
。
const moment = require('moment');
const Commando = require('discord.js-commando');
const bot = new Commando.Client();
bot.on('ready', function () {
var day = moment().format('dddd');
var time = moment().format('h:mm a');
function Tuesday() {
if (day == 'Tuesday' && time == '6:30 pm') {
const channel = bot.channels.get('933047404645724234');
console.log('Sending Message');
channel.send('Reminder: You have a week to complete your To-Do List!');
} else {
console.log('Not Sending Message');
}
}
console.log('Bot is now ready!');
setInterval(Tuesday, 100);
});
我注意到setInterval
的問題是它只被調用一次。 我也嘗試過使用異步 function 但也失敗了。
每 100 毫秒執行一次 function 並不是最優的。 我不知道只運行一次的原因是什么(它應該無限運行),但有更好的方法來做你需要的事情。
您將需要名為“node-schedule”的 package。 對於這樣的事情真的很有用。
這是一個例子:
const schedule = require("node-schedule");
schedule.scheduleJob({hour: 18, minute: 30, dayOfWeek: 2}, function(){
// your code here
});
您可以在此處的節點計划文檔中閱讀更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.