{"id":20380590,"url":"https://github.com/dxsooo/feishu-notifier-bot","last_synced_at":"2025-07-27T03:33:32.028Z","repository":{"id":77023574,"uuid":"493701927","full_name":"dxsooo/feishu-notifier-bot","owner":"dxsooo","description":"飞书/Lark 通知用机器人","archived":false,"fork":false,"pushed_at":"2022-05-20T08:39:04.000Z","size":22,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-06T01:51:11.128Z","etag":null,"topics":["bot","fastapi","lark"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dxsooo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-05-18T14:37:37.000Z","updated_at":"2024-10-23T12:40:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"28d80802-5a38-4ee9-bbba-aaa42e3930bd","html_url":"https://github.com/dxsooo/feishu-notifier-bot","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/dxsooo/feishu-notifier-bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dxsooo%2Ffeishu-notifier-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dxsooo%2Ffeishu-notifier-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dxsooo%2Ffeishu-notifier-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dxsooo%2Ffeishu-notifier-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dxsooo","download_url":"https://codeload.github.com/dxsooo/feishu-notifier-bot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dxsooo%2Ffeishu-notifier-bot/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267294180,"owners_count":24065343,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-27T02:00:11.917Z","response_time":82,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bot","fastapi","lark"],"created_at":"2024-11-15T02:07:58.156Z","updated_at":"2025-07-27T03:33:32.021Z","avatar_url":"https://github.com/dxsooo.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# feishu-notifier-bot\n\n飞书/Lark 通知用机器人\n\n## 开发初衷\n\n人在国内，想要有一个免费的方式收取程序运行的信息。而国内的聊天软件同时满足开放、有一定装机量、跨平台的不多，所以选择使用飞书/Lark。\n\n从实现方式来说，最简单应该是创建一个群，然后添加自定义机器人，使用 webhook url 发送，但是这种模式需要先拉一个群，对于使用个人版飞书的个人开发者，操作起来不自然，而且自定义机器人功能也比较少。\n\n## 实现方式\n\n使用飞书的机器人，应用程序发送信息给机器人的代理服务，服务调用机器人将信息发到个人飞书。这是考虑到在应用程序中嵌入机器人发信息的代码通用性较差，且发消息的代码也不是十分轻量，所以将机器人发信息做成一个服务，应用程序通过 http 请求调用。相当于做一个套机器人，本项目就是这个代理服务（也可以理解成机器人）。注意这个服务当前只能支持定向发送到一个人（对个人开发者足够了）。\n\u003e 和自定义机器人的区别，自定义机器人必须依附群存在，不能单聊。\n\n## 使用方法\n\n### 准备工作\n\n- 安装飞书并创建一个个人帐号\n- 创建机器人\n  - 按照[飞书开放平台](https://open.feishu.cn/app?lang=zh-CN)的指引创建应用，并且启用机器人\n  - 在“权限管理”面板中开通“获取与发送单聊、群组消息”\n  - 发布机器人\n  - 记录应用凭证的 app id 和 app secret\n- 一台可以访问公网的机器，安装了docker或有python3.10以上环境\n- 找到自己的飞书帐号的open id\n\n### 部署\n\n#### docker\n\n```bash\n$ docker run -d -e APP_ID=${YOUR_APP_ID} \\\n  -e APP_SECRET=${YOUR_APP_SECRET} \\\n  -e OPEN_ID=${OPEN_ID_OF_YOUR_RECEIVE_ACCOUNT} \\\n  -p 8000:80 dxsooo/feishu-notifier-bot\n```\n\nAPI 服务将部署到 \u003chttp://localhost:8000\u003e\n\n#### 源码部署\n\n```bash\n# clone项目后\n$ cd feishu-notifier-bot\n\n# 安装依赖\n$ pip install -r requirements.txt\n\n# 创建环境变量文件\n$ cat \u003e .env \u003c\u003c EOF\nAPP_ID=${YOUR_APP_ID}\nAPP_SECRET=${YOUR_APP_SECRET}\nOPEN_ID=${OPEN_ID_OF_YOUR_RECEIVE_ACCOUNT}\nEOF\n\n# 启动\n$ uvicorn app.main:app\n```\n\nAPI 服务将部署到 \u003chttp://localhost:8000\u003e\n\n### 使用示例\n\n```bash\ncurl -X POST http://localhost:8000/notifications -H 'Content-Type: application/json' -d '{\"content\":\"对不起，我是警察\"}'\n```\n\n## 开发\n\n服务基于 [FastAPI](https://github.com/tiangolo/fastapi) 开发，包管理工具使用 Poetry\n\n```bash\n# 初始化项目\n$ poetry install\n\n# 创建环境变量文件\n$ cat \u003e .env \u003c\u003c EOF\nAPP_ID=${YOUR_APP_ID}\nAPP_SECRET=${YOUR_APP_SECRET}\nOPEN_ID=${OPEN_ID_OF_YOUR_RECEIVE_ACCOUNT}\nEOF\n\n# 启动\n$ uvicorn app.main:app --reload\n```\n\n主要逻辑代码位于 [app/](./app/) 下，参考[飞书官方的示例](https://github.com/larksuite/lark-samples/tree/main/robot_quick_start/python)改写。\n\n欢迎提 issue 和 PR。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdxsooo%2Ffeishu-notifier-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdxsooo%2Ffeishu-notifier-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdxsooo%2Ffeishu-notifier-bot/lists"}