{"id":16973740,"url":"https://github.com/ssmjae/pepperbot","last_synced_at":"2026-03-07T03:02:55.252Z","repository":{"id":40596544,"uuid":"351811211","full_name":"SSmJaE/PepperBot","owner":"SSmJaE","description":"An intuitive multi-platform bot framework, easily forward messages among platforms, support QQ, WeChat, Telegram. 一个符合直觉的跨社交平台机器人框架，轻松地在平台间传递消息，支持QQ、微信、Telegram","archived":false,"fork":false,"pushed_at":"2023-08-16T09:19:35.000Z","size":8174,"stargazers_count":105,"open_issues_count":5,"forks_count":15,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-09-18T14:48:08.008Z","etag":null,"topics":["async","asyncio","bot","chinese","cqhttp","cross-platform","framework","keaimao","onebot","pydantic","pyrogram","python","qq","telegram","type-annotations","type-hint","wechat"],"latest_commit_sha":null,"homepage":"https://SSmJaE.github.io/PepperBot/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SSmJaE.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2021-03-26T14:34:47.000Z","updated_at":"2025-08-08T08:08:54.000Z","dependencies_parsed_at":"2024-10-27T12:47:25.854Z","dependency_job_id":"535fb299-f8c2-4df2-a667-dabf2299f5fc","html_url":"https://github.com/SSmJaE/PepperBot","commit_stats":{"total_commits":162,"total_committers":2,"mean_commits":81.0,"dds":"0.043209876543209846","last_synced_commit":"5658292c17c366be3520f984e37dc44413e97363"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SSmJaE/PepperBot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SSmJaE%2FPepperBot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SSmJaE%2FPepperBot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SSmJaE%2FPepperBot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SSmJaE%2FPepperBot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SSmJaE","download_url":"https://codeload.github.com/SSmJaE/PepperBot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SSmJaE%2FPepperBot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30206339,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T19:07:06.838Z","status":"online","status_checked_at":"2026-03-07T02:00:06.765Z","response_time":53,"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":["async","asyncio","bot","chinese","cqhttp","cross-platform","framework","keaimao","onebot","pydantic","pyrogram","python","qq","telegram","type-annotations","type-hint","wechat"],"created_at":"2024-10-14T01:03:25.155Z","updated_at":"2026-03-07T03:02:55.222Z","avatar_url":"https://github.com/SSmJaE.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003ePepperBot\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg  src=\"./archive/icon.png\" width=\"200\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e一个符合直觉的跨社交平台机器人框架，轻松地在平台间传递消息，支持QQ、微信、Telegram\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://ssmjae.github.io/PepperBot/\"\u003e文档\u003c/a\u003e ·\n\u003ca href=\"https://jq.qq.com/?_wv=1027\u0026k=EPhcRRib\"\u003eQQ交流群\u003c/a\u003e  \n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"./archive/coverage-badge.svg\" /\u003e\n\u003cimg src=\"https://badge.fury.io/py/pepperbot.svg\" /\u003e\n\u003cimg src=\"https://img.shields.io/badge/python-3.8+-blue.svg\" /\u003e\n\u003cimg src=\"https://static.pepy.tech/badge/pepperbot/month\" /\u003e\n\n\u003c/p\u003e\n\n## 生而跨平台\n\n- QQ 基于 `Onebot`，`Mirai`(待实现)、`OPQ`(待实现)\n- 微信基于`可爱猫`\n- Telegram基于`Pyrogram`\n- 提供了跨平台、易用的消息类型(片段)\n- 通用事件，比如群消息、私聊消息等，提供了统一的接口，只需要写一次代码，就可以无缝应用到各个平台上，跨平台的消息传递从未如此轻松随意\n- 可以跨群、跨平台共享指令(的状态)，或者全局锁定用户(不管用户是通过群聊还是私聊)\n\n## 性能也够用\n\n- 底层基于异步的 Sanic 框架，目前有一定生态的 python web 框架中，[性能最好的](https://www.techempower.com/benchmarks/)\n- 轻量，主要处理消息，对于其他功能，暴露底层接口，方便实现深度定制\n- 几行代码，即可实现**多进程负载均衡**\n\n## 自带全家桶\n\n- 支持 `Django`或`starlette` 风格的集中化路由，或者`flask`或`fastAPI` 风格的装饰器式路由\n- 非常灵活的权限系统，支持路由、class、method级别的权限控制\n- Django 类视图风格或Vue 生命周期风格的**指令系统**\n- 定时任务\n- 日志支持\n- 基于`ormar`的异步数据库支持(ormar基于`sqlalchemy` + `pydantic`)\n- 自带插件市场，可以安装社区指令\n- [ ] 提供cli工具，快速创建项目\n- [ ] 类似`Selenium`的事件等待\n- [ ] `fastAPI`风格的**依赖注入**\n\n## 接口合语义\n\n- API 符合直觉，直观，流畅地把想法映射到代码上\n- 基于 python3.6 之后的类型注解，提供了完全的类型提示\n- 大部分可以自动获取的参数，都会自动获取，不需要每次手动提供了\n- 只会动态注入用到的参数，没必要每次写一长串用不到的参数了！\n- 文档中，均有可直接复制使用的代码片段，快速开发\n\n## 测试文档全\n\n- 自带linter\n  - 通过元编程(AST 之类)手段，对编写的各种代码进行规则检查，并输出易于理解的错误信息，将问题消灭在框架启动之前\n- 文档比较全\n- 测试覆盖比较全面\n- 大量官方示例/指令\n- 来自作者的 QA(加群以获取)\n\n## 安装\n\n```bash\npip install pepperbot\n```\n\n## 使用\n\n[具体使用见文档](https://ssmjae.github.io/PepperBot/)\n\n## 示例\n\n六行代码实现消息互转\n\n```py\nclass WhateverNameYouWant:\n    async def group_message(self, bot: UniversalGroupBot, chain: MessageChain):\n        if bot.onebot: # 转发qq消息至微信、TG\n            await bot.arbitrary.keaimao.group_message(\"19521241254@chatroom\", *chain.segments)\n            await bot.arbitrary.telegram.group_message(\"bot_father\", *chain.segments)\n\n        if bot.keaimao: # 转发微信消息至qq、TG\n            await bot.arbitrary.onebot.group_message(\"1041902989\", *chain.segments)\n            await bot.arbitrary.telegram.group_message(\"bot_father\", *chain.segments)\n```\n\n只需要非常少的代码，就可以实现**跨平台**的群消息的响应\n\n```py\n@register()\nclass WhateverNameYouWant:\n\n    # 注册跨平台群事件\n    async def group_message(self, bot: GroupBot, chain: MessageChain, sender: Sender):\n        # chain即为消息链，pure_text是消息中的纯文本，不包含表情、图片等\n        if \"撤回我\" == chain.pure_text:\n            await chain.withdraw() # 可以直接“撤回消息”，符合直觉\n\n        if \"踢出我\" == chain.pure_text:\n            await sender.kickout() # 可以直接踢出发言群员\n\n        # 也可以对消息链进行in操作，相当于in chain.pure_text\n        if \"禁言我\" in chain:\n            await sender.ban(10) # 可以直接禁言发言群员\n\n        if chain.regex(\"有人(在|吗|嘛|在吗).?\"):\n            # 发送一条群消息\n            # 接受任意个参数，必须是合法的消息片段，比如Text，Face，Image\n            await bot.group_message(\n                Text(\"没人\"),\n                Image(\"http://123.jpg\"),\n            )\n```\n\n## 生态\n\n[插件市场](https://ssmjae.github.io/PepperBot/market/)\n\n### 可以记忆上下文的GPT群聊机器人\n\n[pepperbot-ai-query](https://github.com/SSmJaE/PepperBot/tree/master/capabilities/pepperbot_gpt_example )\n\n### 通过GPT，自动检测群聊中的广告信息\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fssmjae%2Fpepperbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fssmjae%2Fpepperbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fssmjae%2Fpepperbot/lists"}