Skip to content

itgoyo/GroupSilentBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GroupSilentBot

一个 Telegram 群组定时禁言机器人,支持自动按时间段禁言/解禁所有普通成员。


功能特点

  • 🕐 定时禁言:设置每日禁言时间段,到时自动禁言所有普通成员
  • 🌙 跨天支持:支持跨天时间段,如 23:00 ~ 08:00(夜间静默)
  • 📅 多时间段:支持同一群同时配置多个时间段,如夜间 + 午休
  • 👑 管理员豁免:管理员/群主全程不受禁言影响,可正常发言
  • 🚪 新成员自动禁言:禁言期间新加入的成员会被立即禁言
  • 🔓 临时解禁:管理员可对指定成员单独临时解禁,禁言结束后自动恢复
  • 💾 配置持久化:设置保存到本地文件,重启机器人后依然生效
  • 🌏 多群独立配置:支持同时管理多个群组,每个群单独配置

效果预览

禁言开始时,机器人自动发送:

🔇 禁言时间段已开始。 所有普通成员已被禁言(共 X 人)。 管理员不受影响,仍可正常发言。

禁言结束时,机器人自动发送:

🔊 禁言时间段已结束,所有成员恢复正常发言。


部署教程

1. 克隆仓库

git clone https://github.com/你的用户名/GroupSilentBot.git
cd GroupSilentBot

2. 安装依赖

pip install -r requirements.txt

3. 配置 Bot Token

复制环境变量模板并填入你的 Token:

cp .env.example .env

编辑 .env 文件:

BOT_TOKEN=你的机器人Token

Token 可在 Telegram 中找 @BotFather 创建机器人获取。

4. 运行机器人

python3 bot.py

将机器人添加到群组

  1. 把机器人拉进目标群组
  2. 将机器人设为管理员
  3. 管理员权限中需勾选:
    • ✅ 限制成员
    • ✅ 删除消息

命令列表

命令 说明 权限
/start 查看机器人介绍与使用说明 所有人
/help 查看详细命令帮助 所有人
/addperiod HH:MM-HH:MM 添加一个每日禁言时间段 仅管理员
/removeperiod <编号> 删除指定编号的禁言时间段 仅管理员
/listperiods 查看本群所有禁言时间段及当前状态 所有人
/unmute 引用消息,临时解禁该成员 仅管理员
/status 查看当前群组禁言状态与统计 所有人

使用示例

# 添加夜间禁言(每天 23:00 到次日 08:00)
/addperiod 23:00-08:00

# 再添加午休禁言(每天 12:00 到 13:30)
/addperiod 12:00-13:30

# 查看所有已配置的时间段
/listperiods

# 删除第 2 个时间段
/removeperiod 2

# 临时解禁某个成员(先引用该成员的消息,再发送)
/unmute

# 查看当前群组状态
/status

注意事项

  • 所有时间均为北京时间(UTC+8)
  • 机器人每 30 秒检查一次时间,禁言/解禁最多有约 30 秒误差
  • 成员首次发言后才会被机器人记录,若某成员从未发过消息,禁言开始时不会被主动禁言,但一旦他在禁言期间发消息,消息会被立即删除并被禁言
  • 临时解禁在当前禁言时间段结束后自动失效
  • .env 文件包含敏感 Token,已加入 .gitignore,请勿手动提交

文件结构

GroupSilentBot/
├── bot.py           # 主程序
├── requirements.txt # 依赖列表
├── .env             # 环境变量(不提交)
├── .env.example     # 环境变量模板
├── .gitignore       # Git 忽略规则
├── config.json      # 运行时自动生成,保存群组配置
└── README.md        # 使用说明

依赖


License

MIT

About

telegram禁言机器人

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages