Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Telegram 机器人

一个功能强大的 Telegram 机器人。

功能特点

  • 支持 cron 表达式的消息定时发送
  • 结构化日志记录
  • 强大的错误处理和自动重试机制
  • 清晰的代码结构
  • 完整的类型提示和详细文档

环境配置

  1. 克隆仓库

  2. 安装依赖:

pip install -r requirements.txt
  1. 获取 Telegram API 凭证:

    • 访问 https://my.telegram.org/auth
    • 登录你的 Telegram 账号
    • 点击 "API development tools"
    • 创建一个新的应用
    • 记下 api_idapi_hash
  2. 创建配置文件:

    • 在项目根目录创建 .env 文件
    • 添加以下内容(替换为你的实际值):
    API_ID=你的api_id
    API_HASH=你的api_hash
    

使用说明

  1. 启动机器人:
python main.py
  1. 可用命令:

    • /start - 显示帮助信息
    • /list - 列出所有可用的对话
    • /schedule - 设置定时消息
  2. 设置定时消息示例:

/schedule "早上好!" "0 9 * * *" "123456789"

这将在每天早上 9 点发送 "早上好!" 到指定的对话。

Cron 表达式说明

* * * * *
│ │ │ │ │
│ │ │ │ └── 星期 (0-7, 0 和 7 都表示星期日)
│ │ │ └──── 月份 (1-12)
│ │ └────── 日期 (1-31)
│ └──────── 小时 (0-23)
└────────── 分钟 (0-59)

常用例子:

  • 0 9 * * * - 每天早上 9 点
  • 0 */2 * * * - 每 2 小时一次
  • 0 9 * * 1-5 - 工作日早上 9 点
  • 0 9,18 * * * - 每天早上 9 点和晚上 6 点

项目结构

项目采用模块化设计:

  • main.py - 机器人核心逻辑和命令处理
  • config.py - 使用 Pydantic 的配置管理
  • utils.py - 工具函数和辅助方法

错误处理

机器人实现了完善的错误处理机制:

  • 消息发送失败自动重试
  • 结构化日志记录,方便调试
  • 友好的错误提示信息

注意事项

  • 请妥善保管你的 API 凭证,不要分享给他人
  • 确保机器人保持运行状态才能发送定时消息
  • 使用 /list 命令获取正确的对话 ID
  • 定时任务使用服务器的本地时间

About

一个功能强大的 Telegram 机器人。

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages