telegram-todolist

TotalClaw 作者 totalclaw

Telegram 机器人待办事项列表管理器。三个命令:/todo 查询(显示任务)、/todo 组织(添加/删除/编辑任务)、/todo 执行(完成任务)。使用 TODO.md 文件。非常适合 Telegram 中的任务跟踪。支持统计、进度跟踪和有组织的任务管理。

安装 / 下载方式

TotalClaw CLI推荐
totalclaw install totalclaw:totalclaw~hengbo12345-telegram-todolist
cURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Atotalclaw~hengbo12345-telegram-todolist/file -o hengbo12345-telegram-todolist.md
# Telegram Todo List

Manage a Todo List stored in TODO.md through Telegram bot commands.

## Commands

### 1. 查询 (query)
**Usage**: `/todo query`

**Description**: Display current todo list with status

**Behavior**:
- Read TODO.md file
- Parse tasks (both completed [x] and pending [ ])
- Format and display in clean table/list
- Show statistics (total tasks, completed, pending)

**Example Output**:
```
📋 待办事项列表

今日任务 (2026-02-12)

- [ ] 学习并掌握 skill-creator 技能介绍
  - 理解技能创建的核心原则

待办总数:6 项未完成
已完成:1 项
```

### 2. 整理 (organize)
**Usage**: `/todo organize`

**Description**: Update, optimize, or restructure the todo list

**Behavior Options**:
- **Add new task**: User specifies task content
- **Delete task**: User specifies task number to remove
- **Move task**: Change task priority/order
- **Edit task**: Modify task content or check/uncheck status
- **Batch operations**: Add multiple tasks at once

**Input Format**:
``/todo organize <action> <details>
```

**Actions**:
- `add`: Add new task(s)
- `delete`: Remove task by number
- `move`: Move task to different position
- `edit`: Modify task content
- `check`: Mark task as completed
- `uncheck`: Mark task as uncompleted

**Example**:
``/todo organize add 学习Markdown语法
/todo organize delete 3
/todo organize move 1 to top
```

### 3. 执行 (execute)
**Description**: Complete a specific task

**Behavior**:
- Mark task as completed [x]
- Update timestamp
- Remove from active list
- Move to completed section
- Show confirmation

**Input Format**:
``/todo execute <task_number>
```

**Example**:
``/todo execute 1
```

## File Structure

**Storage**: TODO.md in workspace root
```
/root/.openclaw/workspace/TODO.md
```

**File Format**:
```markdown
# TODO List

## 今日任务 (2026-02-12)

- [ ] **Task 1**
  - Subtask 1
  - Subtask 2

- [ ] **Task 2**

---

## 待完成任务

### Category
- [ ] **Task 3**

---

## 已完成任务

- [x] **Completed Task**
  - 记录时间:2026-02-12 07:55 UTC
  - 内容:Task description
```

## Implementation Details

### Parsing Tasks

**Regular Expression**:
```regex
- \[([ x])\]\s*\*\*(.+?)\*\*.*?$         # Main task
  - (.+)$                                 # Subtasks
```

**Status**:
- `[x]` = completed
- `[ ]` = pending

### Display Format

**Clean Table**:
```
📋 待办事项

今日任务 (2026-02-12)
1. [ ] Task 1
2. [ ] Task 2

待办总数:2 项未完成
已完成:0 项
```

### Error Handling

**Task Not Found**:
- "未找到任务 #N"
- Ask user to verify task number

**Invalid Format**:
- "格式错误,请使用正确的命令格式"
- Show usage example

**File Read Error**:
- "无法读取 TODO.md,请检查文件权限"
- Try to recreate default template

### User Experience

**Confirmation Messages**:
- Task completed: "✅ 已完成任务 #N"
- Task deleted: "🗑️ 已删除任务 #N"
- Task added: "➕ 已添加任务"

**Progress Indicators**:
- Show real-time count updates
- Calculate completion percentage
- Highlight pending vs completed

## Tips

1. **Task Numbers**: Always reference task by number in organize/execute commands
2. **Indentation**: Keep consistent spacing for subtasks
3. **Comments**: Lines starting with `#` are ignored
4. **Status Updates**: Execute updates both visual status and file content

## Examples

### User: /todo query
Bot shows full todo list

### User: /todo organize add 学习CSS
Bot adds task and shows confirmation

### User: /todo execute 2
Bot marks task #2 as completed and updates list

### User: /todo organize delete 5
Bot removes task #5 from list

---

## 中文说明

# Telegram 待办事项列表

通过 Telegram 机器人命令管理存储在 TODO.md 中的待办事项列表。

## 命令

### 1. 查询 (query)
**用法**:`/todo query`

**说明**:显示当前待办事项列表及状态

**行为**:
- 读取 TODO.md 文件
- 解析任务(已完成 [x] 和待办 [ ])
- 格式化并以整洁的表格/列表显示
- 显示统计信息(任务总数、已完成、待办)

**示例输出**:
```
📋 待办事项列表

今日任务 (2026-02-12)

- [ ] 学习并掌握 skill-creator 技能介绍
  - 理解技能创建的核心原则

待办总数:6 项未完成
已完成:1 项
```

### 2. 整理 (organize)
**用法**:`/todo organize`

**说明**:更新、优化或重组待办事项列表

**行为选项**:
- **添加新任务**:用户指定任务内容
- **删除任务**:用户指定要删除的任务编号
- **移动任务**:更改任务优先级/顺序
- **编辑任务**:修改任务内容或勾选/取消勾选状态
- **批量操作**:一次添加多个任务

**输入格式**:
``/todo organize <action> <details>
```

**操作**:
- `add`:添加新任务
- `delete`:按编号删除任务
- `move`:将任务移动到不同位置
- `edit`:修改任务内容
- `check`:将任务标记为已完成
- `uncheck`:将任务标记为未完成

**示例**:
``/todo organize add 学习Markdown语法
/todo organize delete 3
/todo organize move 1 to top
```

### 3. 执行 (execute)
**说明**:完成指定任务

**行为**:
- 将任务标记为已完成 [x]
- 更新时间戳
- 从活动列表中移除
- 移至已完成区块
- 显示确认信息

**输入格式**:
``/todo execute <task_number>
```

**示例**:
``/todo execute 1
```

## 文件结构

**存储**:工作区根目录下的 TODO.md
```
/root/.openclaw/workspace/TODO.md
```

**文件格式**:
```markdown
# TODO List

## 今日任务 (2026-02-12)

- [ ] **Task 1**
  - Subtask 1
  - Subtask 2

- [ ] **Task 2**

---

## 待完成任务

### Category
- [ ] **Task 3**

---

## 已完成任务

- [x] **Completed Task**
  - 记录时间:2026-02-12 07:55 UTC
  - 内容:Task description
```

## 实现细节

### 解析任务

**正则表达式**:
```regex
- \[([ x])\]\s*\*\*(.+?)\*\*.*?$         # Main task
  - (.+)$                                 # Subtasks
```

**状态**:
- `[x]` = 已完成
- `[ ]` = 待办

### 显示格式

**整洁表格**:
```
📋 待办事项

今日任务 (2026-02-12)
1. [ ] Task 1
2. [ ] Task 2

待办总数:2 项未完成
已完成:0 项
```

### 错误处理

**未找到任务**:
- "未找到任务 #N"
- 请用户核实任务编号

**格式无效**:
- "格式错误,请使用正确的命令格式"
- 显示用法示例

**文件读取错误**:
- "无法读取 TODO.md,请检查文件权限"
- 尝试重新创建默认模板

### 用户体验

**确认消息**:
- 任务完成:"✅ 已完成任务 #N"
- 任务删除:"🗑️ 已删除任务 #N"
- 任务添加:"➕ 已添加任务"

**进度指示**:
- 显示实时计数更新
- 计算完成百分比
- 突出显示待办与已完成

## 提示

1. **任务编号**:在 organize/execute 命令中始终通过编号引用任务
2. **缩进**:子任务保持一致的间距
3. **注释**:以 `#` 开头的行会被忽略
4. **状态更新**:execute 会同时更新可视状态和文件内容

## 示例

### 用户:/todo query
机器人显示完整的待办事项列表

### 用户:/todo organize add 学习CSS
机器人添加任务并显示确认

### 用户:/todo execute 2
机器人将任务 #2 标记为已完成并更新列表

### 用户:/todo organize delete 5
机器人从列表中删除任务 #5