← 返回
效率工具 中文

Mrc Monitor

Real-time token monitoring for MRC canteen order system. Monitors Firebase Firestore for token status and notifies when orders are ready. Use when user sends commands like "mrc 73", "token 97", or "monitor 42" to monitor one or multiple canteen tokens. Handles multiple tokens simultaneously, sends independent notifications per token, and auto-exits when all tokens are ready.
为MRC食堂订餐系统提供实时叫号监控。监听Firebase Firestore状态,订单就绪时发送通知。适用于“mrc 73”等指令监控单或多 token,支持并发处理、独立通知,全部就绪后自动退出。
wysh3
效率工具 clawhub v1.0.0 1 版本 99909.7 Key: 无需
★ 1
Stars
📥 2,193
下载
💾 31
安装
1
版本
#latest

概述

MRC Canteen Monitor

Monitor MRC canteen order tokens and notify when they're ready for pickup.

Quick Start

When user sends any command containing canteen tokens:

  1. Extract all token numbers from the message
  2. Start the background monitor script
  3. Respond immediately with confirmation

Command Recognition

Users may send tokens with various prefixes:

  • "mrc 73" or "mrc 73 97 42"
  • "token 73" or "token 73 97"
  • "monitor 73"
  • "check 73" (one-time check only)

Starting the Monitor

Extract all numbers from the user message and start the background monitor:

python3 skills/mrc-monitor/scripts/monitor.py <platform> <channel_id> <token1> <token2> ...

Where:

  • platform: "telegram" or "discord"
  • channel_id: Current channel identifier (platform prefix is optional, e.g., telegram_123 or 123 both work)
  • token1, token2, ...: Token numbers to monitor

Example:

python3 skills/mrc-monitor/scripts/monitor.py telegram telegram_6046286675 73 97 42
# or
python3 skills/mrc-monitor/scripts/monitor.py telegram 6046286675 73 97 42

Background Execution

Start the monitor as a background process so the agent responds immediately:

import subprocess

# channel_id can be with or without platform prefix (both work)
cmd = ['python3', 'skills/mrc-monitor/scripts/monitor.py',
       platform, channel_id] + [str(t) for t in tokens]
subprocess.Popen(cmd, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)

Agent Response

After starting the monitor, respond immediately with:

✅ Monitoring tokens: 73, 97, 42
Checking every 15 seconds.
I'll notify you here when they're ready! 🍕

One-Time Check

For "check 73" commands, perform a single Firebase query and respond with status without starting a background monitor.

Monitor Behavior

The monitor script:

  • Polls Firebase Firestore every 15 seconds
  • Checks all monitored tokens in each poll
  • Sends "🍕 Order X is ready!" notification when a token's status is "Ready"
  • Removes notified tokens from the watch list
  • Exits automatically when all tokens are notified
  • Handles errors gracefully with retries
  • Logs all activity to skills/mrc-monitor/logs/monitor_YYYYMMDD_HHMMSS.log

Error Handling

The script automatically handles:

  • Network timeouts (retries up to 5 times)
  • HTTP errors (including rate limits)
  • Unexpected errors (stops after 5 consecutive failures)
  • Signal termination (SIGTERM, SIGINT)

On fatal errors, the script sends a notification before exiting.

Firebase Details

  • Project: kanteen-mrc-blr-24cfa
  • Collection: orders
  • Document fields:
  • studentId (string): "student-{token_number}"
  • status (string): "Preparing", "Ready", "Completed"

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-03-28 16:37 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

suspicious
查看报告

🔗 相关推荐

productivity

Nano Pdf

steipete
使用nano-pdf CLI通过自然语言指令编辑PDF
★ 275 📥 115,019
productivity

Obsidian

steipete
操作 Obsidian 仓库(纯 Markdown 笔记)并通过 obsidian-cli 自动化。
★ 433 📥 103,898
productivity

Word / DOCX

ivangdavila
创建、检查和编辑 Microsoft Word 文档及 DOCX 文件,支持样式、编号、修订记录、表格、分节符及兼容性检查等功能。
★ 440 📥 148,389