目录

telegram-typeseter-bot

基于 grammy 的 Telegram 机器人,排版能力由 Typeseter 提供。

现在的接入方式

本项目不再维护一份独立排版核心,直接依赖 GitHub 上的 Typeseter

  • typeseter: github:TinySnow/Typeseter#master

详细对接文档见:docs/typeseter-github-integration.md

命令列表

  • /settings — 查看当前所有排版选项(含 key 名和段落间距)
  • /mode <plain|markdown> — 切换排版模式
  • /toggle <选项名或 key> — 开关某个选项(支持中文标签或 key 名,无需 on/off)
  • /gap <0|1|2|分隔符> — 设置段落间距
  • /preset <poetry|default|strict> — 应用预设配置
    • poetry:维持空行 + 首行不缩进 + md 缩减连续空行
    • strict:全选项开启
    • default:恢复默认
  • /reset — 恢复默认设置
  • 直接发送文本即可排版

Quickstart

  1. 安装依赖:
npm install
  1. 启动:
npm run start

生产环境部署

自编译

  1. 更改 .env 文件
  2. 构建:
npm run build
  1. 运行:
node dist/main.js
  • 自编译的部署方式能减少内存占用到原来的 1/3

Docker

  1. 更改 .env 文件
  2. docker compose up -d --build

配置通过 docker-compose.yml 中的 volume 挂载 config.json 持久化,容器重建不丢失。

环境变量

变量 必填 说明
BOT_TOKEN Telegram Bot Token
SOCKS_PROXY SOCKS5 代理地址(如 socks5h://127.0.0.1:7890
TARGET_CHAT_ID 排版结果转发目标群组 ID,不设置则直接回复当前聊天

Branch 约定

  • master:对外公开,建议依赖稳定 commit/tag。
  • self-use:自用部署分支,可先追新再回灌到 master

License

MIT

    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号