{"id":49418074,"url":"https://github.com/csusters/csust-got","last_synced_at":"2026-04-29T04:04:39.080Z","repository":{"id":37561999,"uuid":"248917600","full_name":"CSUSTers/csust-got","owner":"CSUSTers","description":"🎉🎉🎉 csust new bot in go","archived":false,"fork":false,"pushed_at":"2026-04-22T05:13:27.000Z","size":39806,"stargazers_count":11,"open_issues_count":9,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-04-23T13:26:48.406Z","etag":null,"topics":["bot","telegram"],"latest_commit_sha":null,"homepage":"","language":"Go","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/CSUSTers.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-03-21T06:08:10.000Z","updated_at":"2026-01-12T08:22:38.000Z","dependencies_parsed_at":"2023-09-27T11:04:56.431Z","dependency_job_id":"fd432bfd-361d-46a1-9574-d0534d57ab7d","html_url":"https://github.com/CSUSTers/csust-got","commit_stats":null,"previous_names":[],"tags_count":74,"template":false,"template_full_name":null,"purl":"pkg:github/CSUSTers/csust-got","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CSUSTers%2Fcsust-got","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CSUSTers%2Fcsust-got/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CSUSTers%2Fcsust-got/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CSUSTers%2Fcsust-got/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CSUSTers","download_url":"https://codeload.github.com/CSUSTers/csust-got/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CSUSTers%2Fcsust-got/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32409963,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T03:46:11.172Z","status":"ssl_error","status_checked_at":"2026-04-29T03:37:55.317Z","response_time":110,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["bot","telegram"],"created_at":"2026-04-29T04:04:31.923Z","updated_at":"2026-04-29T04:04:39.070Z","avatar_url":"https://github.com/CSUSTers.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# csust-got\r\n\r\n[![Go Report](https://goreportcard.com/badge/github.com/csusters/csust-got)](https://goreportcard.com/report/github.com/csusters/csust-got)\r\n[![codebeat badge](https://codebeat.co/badges/4d134b7f-e345-4378-b00d-7ab2177b94bc)](https://codebeat.co/projects/github-com-csusters-csust-got-master)\r\n\r\n![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/CSUSTers/csust-got/test.yml?branch=master\u0026label=Test%20%7C%20master)\r\n![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/CSUSTers/csust-got/test.yml?branch=dev\u0026label=Test%20%7C%20dev)\r\n\r\n![GitHub language count](https://img.shields.io/github/languages/count/csusters/csust-got)\r\n![GitHub](https://img.shields.io/github/license/csusters/csust-got)\r\n![GitHub code size](https://img.shields.io/github/languages/code-size/csusters/csust-got)\r\n![GitHub repo size](https://img.shields.io/github/repo-size/csusters/csust-got)\r\n![GitHub issues](https://img.shields.io/github/issues/csusters/csust-got)\r\n![GitHub closed issues](https://img.shields.io/github/issues-closed/csusters/csust-got)\r\n\r\nA modern Telegram bot for CSUST, developed in Go.\r\n\r\n[English](README.md) | [中文](README_zh-CN.md)\r\n\r\n## Features\r\n\r\n- 🤖 AI Chat Conversations (supports multiple models)\r\n- 🔍 Message Search (powered by MeiliSearch)\r\n- 🎨 Stable Diffusion Image Generation\r\n- 🎲 Gacha System\r\n- 🎭 Entertainment Features\r\n- 🔧 Flexible Configuration System\r\n- 🎯 Regular Expression Triggers\r\n- 🛡️ Comprehensive Permission Management\r\n- 🔗 MCP (Model Context Protocol) Support\r\n\r\n## System Requirements\r\n\r\n- Go 1.26+\n- Redis\r\n- Docker \u0026 Docker Compose (recommended)\r\n\r\n## Quick Deployment\r\n\r\n### Using Docker Compose (Recommended)\r\n\r\nYou need to install Docker first.\r\n\r\nClone the project:\r\n\r\n```bash\r\ngit clone git@github.com:CSUSTers/csust-got.git\r\ncd csust-got\r\n```\r\n\r\nThen run with Docker Compose:\r\n\r\n```bash\r\ndocker-compose up -d\r\n```\r\n\r\n### Build from Source\r\n\r\n```bash\r\n# Clone the project\r\ngit clone git@github.com:CSUSTers/csust-got.git\r\ncd csust-got\r\n\r\n# Install dependencies\r\nmake deps\r\n\r\n# Build\r\nmake build\r\n\r\n# Run\r\n./got\r\n```\r\n\r\n## Upgrade\r\n\r\nPull the latest version:\r\n\r\n```bash\r\ndocker-compose pull\r\ndocker-compose up -d\r\n```\r\n\r\n## Configuration\r\n\r\nPlease modify the configuration in `config.yaml`.\r\n\r\n- `token`: Change to your bot token\r\n- `redis.pass`: Change Redis password\r\n- `requirepass` in `redis.conf`: Change Redis password (must match the above)\r\n\r\n## Commands\r\n\r\n### Basic Functions\r\n\r\n``` text\r\nsay_hello - A simple greeting\r\nhello_to_all - Greet everyone\r\nrecorder - \u003cmsg\u003e Repeat messages\r\ninfo - Get bot information\r\nid - Get user ID (private chat)\r\ncid - Get group ID\r\n```\r\n\r\n### Search Functions\r\n\r\n``` text\r\ngoogle - \u003cKey Words\u003e Google search\r\nbing - \u003cKey Words\u003e Bing search\r\nbilibili - \u003cKey Words\u003e Search on Bilibili\r\ngithub - \u003cKey Words\u003e Search on GitHub\r\nsearch - \u003ckeyword\u003e Search message history\r\nsearch - -id \u003cchat_id\u003e \u003ckeyword\u003e Search messages in specific group\r\nsearch - -p \u003cpage\u003e \u003ckeyword\u003e Search with pagination\r\n```\r\n\r\n### AI Chat\r\n\r\n``` text\r\nchat - \u003ctext\u003e Chat with AI\r\nthink - \u003ctext\u003e Deep thinking mode\r\nsummary - Summarize replied content (reply to a message)\r\n```\r\n\r\n### Management Functions\r\n\r\n``` text\r\nban_myself - Ban yourself for rand[40,120] seconds\r\nban - Ban command [Admin]\r\nban_soft - Soft ban [Admin]\r\nfake_ban - [duration] Fake ban\r\nfake_ban_myself - Fake ban yourself\r\nkill - Fake kill\r\nno_sticker - Enable traffic-saving mode\r\nshutdown - Shutdown bot\r\nboot - Boot up bot\r\n```\r\n\r\n### Entertainment Functions\r\n\r\n``` text\r\nhitokoto - [type:ab..kl] Random quotes\r\nhitowuta - Random poems\r\nhito_netease - NetEase style quotes\r\nmc - Minecraft mini-game\r\nreburn - Respawn (MC game)\r\ngacha_setting - Set JSON gacha configuration\r\ngacha - Draw cards according to your configuration\r\n```\r\n\r\n### Voice Related\r\n\r\n``` text\r\ngetvoice - character=\u003ccharacter\u003e gender=\u003csex\u003e theme=\u003ctopic\u003e type=\u003ctype\u003e \u003ctext\u003e \r\n```\r\n\r\n### Stable Diffusion\r\n\r\n``` text\r\nsd - \u003cprompt\u003e Generate images\r\nsdcfg - Configure SD server\r\nsdcfg - set \u003ckey\u003e \u003cvalue\u003e Set configuration\r\nsdcfg - get \u003ckey\u003e Get configuration\r\nsdlast - Get last used prompt\r\n```\r\n\r\n### Utility Functions\r\n\r\n``` text\r\nforward - [msgID] Forward a historical message\r\nsleep - Time to sleep\r\nno_sleep - Don't sleep\r\nrun_after - \u003cduration\u003e \u003cmsg\u003e Remind yourself to do something later\r\nhoocoder - \u003ctext\u003e Hoo encoding\r\ndecode - _[decoding]_[encoding] \u003ctext\u003e Decode text\r\nbye_world - [duration] Say goodbye to the world\r\nhello_world - Say hello to the world  \r\niwant - f=\u003cformat\u003e I want sticker\r\nsetiwant - f=\u003cformat\u003e vf=\u003cformat\u003e sf=\u003cformat\u003e Set sticker format\r\n```\r\n\r\n## Tech Stack\r\n\r\n- **Language**: Go 1.26+\n- **Framework**: [telebot.v3](https://github.com/tucnak/telebot)\r\n- **Database**: Redis\r\n- **Search**: MeiliSearch\r\n- **AI**: OpenAI API Compatible Interface\r\n- **Image Generation**: Stable Diffusion WebUI\r\n- **Containerization**: Docker \u0026 Docker Compose\r\n\r\n## Development\r\n\r\n### Local Development\r\n\r\n```bash\r\n# Install dependencies\r\nmake deps\r\n\r\n# Run tests\r\nmake test\r\n\r\n# Build\r\nmake build\r\n\r\n# Code check\r\ngolangci-lint run\r\n```\r\n\r\n## License\r\n\r\nThis project is licensed under the [MIT License](LICENSE).\r\n\r\n---\r\n\r\n**Note**: This project is for educational and communication purposes only.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcsusters%2Fcsust-got","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcsusters%2Fcsust-got","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcsusters%2Fcsust-got/lists"}