{"id":25212888,"url":"https://github.com/lperezmo/simple-discord-bot","last_synced_at":"2026-04-12T11:34:18.822Z","repository":{"id":257504701,"uuid":"856745994","full_name":"lperezmo/simple-discord-bot","owner":"lperezmo","description":"An over-engineered discord bot that relies too much on OpenAI's JSON mode + a free-to-run version based on llamacpp and stable diffusion","archived":false,"fork":false,"pushed_at":"2025-02-06T22:02:10.000Z","size":56800,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-06T23:19:10.284Z","etag":null,"topics":["aws-s3","discord-py","discord-py-bot","duckduckgo-api","duckduckgo-search","google-search-api","llamacpp","llamafile","openai","openai-api","stable","stable-diffusion","stable-diffusion-webui"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lperezmo.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":"2024-09-13T06:03:51.000Z","updated_at":"2025-02-06T22:02:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"3e342faa-b4ac-4f7e-b14c-7d4120438daa","html_url":"https://github.com/lperezmo/simple-discord-bot","commit_stats":null,"previous_names":["lperezmo/gotc-discord-bot","lperezmo/simple-discord-bot"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lperezmo%2Fsimple-discord-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lperezmo%2Fsimple-discord-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lperezmo%2Fsimple-discord-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lperezmo%2Fsimple-discord-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lperezmo","download_url":"https://codeload.github.com/lperezmo/simple-discord-bot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247305906,"owners_count":20917202,"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","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":["aws-s3","discord-py","discord-py-bot","duckduckgo-api","duckduckgo-search","google-search-api","llamacpp","llamafile","openai","openai-api","stable","stable-diffusion","stable-diffusion-webui"],"created_at":"2025-02-10T15:18:02.197Z","updated_at":"2026-04-12T11:34:13.780Z","avatar_url":"https://github.com/lperezmo.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# A simple AI discord bot\n\nA simple AI discord bot\n\n    * Summarizing channel conversations up to x days, y hours ago\n    * Answer using embeddings when needed\n    * Use web search as well, through pypi's duckduckgo_search, Bing Search API, or Google Search API (first one is free)\n    * Return diagrams images to given commands\n    * Generate images\n    * Can be run locally, or a combination of both\n\n### Simple setup on a local computer/server:\n1. Create your discord bot, obtain its token, and add to your server (or test server) as described here: \n    * https://discordpy.readthedocs.io/en/stable/discord.html\n\n1. Clone repo\n    ```bash\n    git clone https://github.com/lperezmo/gotc-discord-bot.git\n    cd gotc-discord-bot\n    ```\n\n2. *(Recommended)* Install miniconda, create virtual env and install required packages\n    ```bash\n    conda create -n discord python==3.9 -y\n    pip install -r requirements.txt\n    ```\n\n3. *(Alternative)* Just make sure you have packages installed on your python environment of choice\n\n4. *(Optional)* Set up llama-cpp (or llamafile) and stable diffusion webui. Download models. Enable API access.\n\n4. Rename `.env-example` to `.env` and replace example env variables with yours.\n\n5. Navigate to the folder where app is stored, start, \u0026 talk to your new AI bot\n    ```bash\n    python ./app.py\n    ```\n    or \n    ```bash\n    python ./open-app.py\n    ```\n    for the open-source version\n\n### Freebot\n1. Generate replies using stable diffusion webui + llamacpp. Completely free. \n2. There are plenty of guides to get both of them working, so I won't go into detail here, but once you have the txt2txt and txt2image endpoints working you can go ahead and plug into your bot and it will run entirely free.\n\n### OpenAI-based bot\n1. This one uses OpenAI's. You can edit the models used, instructions, etc. \n2. Note that this example heavily relies on json mode (where custom replies with valid JSON, always) to route different replies, \n\n### Citadel diagrams\n1. These are in `data/gotc` folder on this repo. Upload + edit your bot to call them from S3, github, google drive, as attachment, or other hosting platform.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flperezmo%2Fsimple-discord-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flperezmo%2Fsimple-discord-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flperezmo%2Fsimple-discord-bot/lists"}