{"id":21275407,"url":"https://github.com/ffreemt/koyeb-nb2","last_synced_at":"2026-02-22T04:36:06.679Z","repository":{"id":50735939,"uuid":"386216055","full_name":"ffreemt/koyeb-nb2","owner":"ffreemt","description":"Nonebot2 up and running with ease","archived":false,"fork":false,"pushed_at":"2022-12-13T02:15:19.000Z","size":37943,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-11T09:40:07.812Z","etag":null,"topics":["docker","go-cqhttp","nonebot2"],"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/ffreemt.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}},"created_at":"2021-07-15T08:17:45.000Z","updated_at":"2024-03-15T01:44:38.000Z","dependencies_parsed_at":"2023-01-28T05:00:43.801Z","dependency_job_id":null,"html_url":"https://github.com/ffreemt/koyeb-nb2","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ffreemt/koyeb-nb2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffreemt%2Fkoyeb-nb2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffreemt%2Fkoyeb-nb2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffreemt%2Fkoyeb-nb2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffreemt%2Fkoyeb-nb2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ffreemt","download_url":"https://codeload.github.com/ffreemt/koyeb-nb2/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffreemt%2Fkoyeb-nb2/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29704832,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-22T03:17:42.375Z","status":"ssl_error","status_checked_at":"2026-02-22T03:17:31.622Z","response_time":110,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["docker","go-cqhttp","nonebot2"],"created_at":"2024-11-21T09:31:00.507Z","updated_at":"2026-02-22T04:36:06.663Z","avatar_url":"https://github.com/ffreemt.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# koyeb-nb2\n[![nonebot2](https://img.shields.io/static/v1?label=nonebot\u0026message=v2.0.0b4\u0026color=green)](https://v2.nonebot.dev/)[![onebot](https://img.shields.io/static/v1?label=driver\u0026message=onebot\u0026color=green)](https://v2.nonebot.dev/guide/cqhttp-guide.html)[![python](https://img.shields.io/static/v1?label=python+\u0026message=3.7%2B\u0026color=blue)](https://img.shields.io/static/v1?label=python+\u0026message=3.7%2B\u0026color=blue)[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nNonebot2 up and running with ease\n\n\u003c!--Dockerfile.gocqhttp-nb2 for go-cqhttp-940fix5 and nonebot2--\u003e\n([中文](https://github.com/ffreemt/koyeb-nb2/blob/master/dumbot.md))\n\n## Oneclick start\n- Authenticate when necessary\n\n    `cd go-cqhttp` \u0026\u0026 `go-cqhttp`  # or ./go-cqhttp in Linux/Mac\n\n    or copy valid `config.yml` `session.token` `session.token` to the `go-cqhttp` directory.\n- Run `start_nb.py` in  the `koyeb-nb2` directory\n    ```python\n    python start_nb2.py\n    ```\n\n    or click `run-python-start_nb2.bat` (in Windows).\n\n## Setup details\n\n### Clone/fork this repo\n\nE.g.\n```bash\ngit clone https://github.com/ffreemt/koyeb-nb2\n```\n\n### Authenticate\nIn `go-cqhttp-940fix5`, run `go-cqhttp` and ready `config.hjson`/` device.json`\n\n换到`go-cqhttp`目录里。运行`go-cqhttp` 生成config.hjson。编辑`config.hjson`填上机器人的qq号和密码，参考config.hjson- 修改reverse_url 及设置端口（8680）。再次运行 `go-cqhttp` 完成验证生成 `device.json`\n\n## Three ways to use it\n\n### Run it in Docker Locally\n\nIn `koyeb-nb`\n\n1.   run\n         ```\n        docker build -t koyeb-nb -f Dockerfile.gocqhttp-nb2 .`\n         ```\n2.   run `docker run --rm koyeb-nb`\n\n3.   (Optional) Upload to Docker Hub ([https://hub.docker.com/](https://hub.docker.com/))\n    ```\n    export DOCKER_ID=your_docker_id  # hub.docker.com\n    docker tag koyeb-nb:latest $DOCKER_ID/koyeb-nb:latest\n    docker push $DOCKER_ID/koyeb-nb:latest\n    ```\n4.   Test the bot\n    *  Send a private message to the bot: `/echo hey ya`\n    *  Send a group message to the bot: `@botname /echo sup`\n\n5.  Install more plugins and repeat 1-2.\n\n    For example, `poetry add nonebot-plugin-guess`\n\n    Readily made plugins are available\n    [https://v2.nonebot.dev/store.html](https://v2.nonebot.dev/store.html)\n\n    You can also copy plugin directly to koyeb_nb2/plugins.\n\n### Run it in Docker in Cloud\n For example, in `koyeb` and such serverless services that support docker deployments.\n\n### **For Testing Plugins Locally 本地开发测试插件**\nOptionally use a venv, e.g., `python -m venv venv \u0026\u0026 source venv/bin/activate` in Linux or `python -m venv venv \u0026\u0026 venv/Scripts/activate` in Windows.\n\n1. Install packages\nIn `koyeb-nb`, run `pip install -r requirements.text`\n\n    Or run `poetry install` and **`pip install nonebot2 -U`** since we need `nonebot2a13post1` but poetry cannot handle `post`.\n\n2. Run `go-cqhttp`/`nonebot` and make your own plugin\n    *   In `go-cqhttp-940fix5`, run `go-cqhttp`\n        N.B. For Windows, download and run go-cqhttp.exe\n\n    *   In `koyeb-nb`, run `uvicorn --port 8680 bot:app --reload --reload-dir koyeb_nb2`\n    *   In `koyeb_nb2/plugins`, create/edit/save `fancy_plugin.py`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fffreemt%2Fkoyeb-nb2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fffreemt%2Fkoyeb-nb2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fffreemt%2Fkoyeb-nb2/lists"}