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

如何让Python开发的Discord Bot匹配任意HH:MM格式时间?

解决Discord机器人响应任意HH:MM格式时间的问题

问题场景

我用Python开发的Discord机器人目前只有输入"00:00"时才会返回指定内容,代码如下:

if p_message == "00:00":
    return "TIME HAS BEEN SUBMITTED"

需要修改成能响应任意HH:MM格式的时间输入(比如11:11、03:11),要求仅接受数字组成的合法时间,同时不能影响已有的其他命令。之前尝试用random模块没解决问题,现在已经找到可行方案。

解决方案

使用正则表达式精准匹配合法的HH:MM格式,替换原有的精确字符串判断即可:

import re

# 消息处理函数示例
def process_message(p_message):
    # 正则匹配00-23:00-59的时间格式
    time_regex = r'^([01]\d|2[0-3]):([0-5]\d)$'
    if re.fullmatch(time_regex, p_message):
        return "TIME HAS BEEN SUBMITTED"
    
    # 原有其他命令的处理逻辑放在这里
    # ...

关键说明

  • re.fullmatch()会检查整个输入字符串是否完全匹配正则规则,避免误判包含时间片段的其他内容
  • 正则表达式规则:
    • ^和$限定匹配范围,确保输入只有时间,没有多余字符
    • ([01]\d|2[0-3])确保小时是00-23之间的合法数字
    • ([0-5]\d)确保分钟是00-59之间的合法数字
  • 这个判断逻辑只会对符合格式的时间输入触发响应,不会干扰其他命令的正常执行

内容的提问来源于stack exchange,提问作者Cheddar Sun Chips

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 12:14:58