You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

discord.js如何获取当日星期信息 修复!today指令代码

Discord星期识别机器人!today指令修复方案

原代码问题点

  • 基础语法错误:JavaScript条件判断关键字为小写if,原代码使用大写开头的If会直接抛出语法错误,代码无法运行
  • 缺少日期获取逻辑:原代码中Today is Sunday属于自然语言描述,不是合法的JavaScript判断表达式,没有实际获取当前系统星期的能力
  • 判断规则不严谨:直接硬编码字符串匹配星期名,很容易出现大小写、拼写不匹配导致判断失效的问题

修复实现

使用JavaScript原生Date对象的getDay()方法获取当前星期,该方法返回0-6的整数,不存在字符串匹配的兼容问题:

  • 返回值0:对应周日
  • 返回值1:对应周一
  • 返回值2-6:依次对应周二至周六

修复后可正常运行的代码:

client.on("message", msg => {
  // trim()用来忽略用户输入指令前后的多余空格,避免误判
  if (msg.content.trim() === "!today") {
    const currentWeekDay = new Date().getDay();
    if (currentWeekDay === 0) {
      msg.reply("Time to Holiday");
    } else if (currentWeekDay === 1) {
      msg.reply("Time to work");
    }
    // 若需要给其他星期设置回复,在此处追加else if判断即可
  }
});

注意:如果你使用的是v13及以上版本的discord.js,需要先在机器人开发者后台开启Message Content Intent(消息内容权限),否则机器人无法监听到普通文本消息,!today指令不会触发。

内容的提问来源于stack exchange,提问作者Nevada

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 01:39:34