我正在使用node.js和discord.js创建一个Discord bot,并且有一个功能允许用户通过命令进行投票,但我希望他们每周只投票一次.
问题在于,在本次Discord上,周数从周五开始,到周四结束,因此我不能简单地写道:
var weekNow = moment().week();
var weekLastVote = moment(dateLastVote).week();
if (weekNow == weekLastVote){
//Prevent from voting again
} else {
//Let the user vote
}
Run Code Online (Sandbox Code Playgroud)
因此,我写了一些似乎有效的代码,但我希望你对它的看法,因为它看起来很草率,我不确定我是否已经考虑到所有的可能性(我不知道我是否需要使用我的月变量例如):
module.exports = {
isSameWeek: function (dateLastVote) {
// moments for today's date
var dayNow = moment().weekday();
var weekNow = moment().week();
var monthNow = moment().month();
var yearNow = moment().year();
var dateNow = moment().format('MMDDYYYY'); // moment without hours/minutes/seconds
// moments for last vote's date
var dayLastVote = moment(dateLastVote).weekday();
var weekLastVote …
Run Code Online (Sandbox Code Playgroud)