{"id":21515198,"url":"https://github.com/1git2clone/serenity-discord-bot","last_synced_at":"2026-02-09T21:33:57.909Z","repository":{"id":241885926,"uuid":"808117945","full_name":"1Git2Clone/serenity-discord-bot","owner":"1Git2Clone","description":"A discord bot built on top of the serenity-rs \u0026 poise-rs Rust frameworks using tokio.","archived":false,"fork":false,"pushed_at":"2026-01-12T00:07:16.000Z","size":372,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-12T04:28:06.428Z","etag":null,"topics":["discord-bot","gitlab-ci","poise-rs","rust","rust-discord","serenity-rs","sqlite","sqlite3","sqlx","tokio-rs"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/1Git2Clone.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}},"created_at":"2024-05-30T12:22:22.000Z","updated_at":"2026-01-12T00:07:20.000Z","dependencies_parsed_at":"2024-10-27T12:41:41.192Z","dependency_job_id":"016a3593-abc4-4c5f-9ee2-e7f5997b44d0","html_url":"https://github.com/1Git2Clone/serenity-discord-bot","commit_stats":null,"previous_names":["1git2clone/serenity-discord-bot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/1Git2Clone/serenity-discord-bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1Git2Clone%2Fserenity-discord-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1Git2Clone%2Fserenity-discord-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1Git2Clone%2Fserenity-discord-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1Git2Clone%2Fserenity-discord-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/1Git2Clone","download_url":"https://codeload.github.com/1Git2Clone/serenity-discord-bot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1Git2Clone%2Fserenity-discord-bot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29281968,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-09T19:05:41.198Z","status":"ssl_error","status_checked_at":"2026-02-09T19:05:37.449Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["discord-bot","gitlab-ci","poise-rs","rust","rust-discord","serenity-rs","sqlite","sqlite3","sqlx","tokio-rs"],"created_at":"2024-11-23T23:54:31.559Z","updated_at":"2026-02-09T21:33:57.904Z","avatar_url":"https://github.com/1Git2Clone.png","language":"Rust","readme":"# Serenity Discord Bot\n\n[![GH_Build Icon]][GH_Build Status]\u0026emsp;[![Build Icon]][Build Status]\u0026emsp;[![License Icon]][LICENSE]\n\n[GH_Build Icon]: https://img.shields.io/github/actions/workflow/status/1git2clone/serenity-discord-bot/rust.yml?branch=main\n[GH_Build Status]: https://github.com/1git2clone/serenity-discord-bot/actions?query=branch%3Amaster\n[Build Icon]: https://gitlab.com/1k2s/serenity-discord-bot/badges/main/pipeline.svg\n[Build Status]: https://gitlab.com/1k2s/serenity-discord-bot/-/pipelines\n[License Icon]: https://img.shields.io/badge/license-Apache2.0-blue.svg\n[License]: LICENSE\n\n\u003c!-- markdownlint-disable MD033 --\u003e\n\u003cp\u003e\n  \u003cimg\n    height=\"50px\"\n    src=\"https://codeberg.org/1Kill2Steal/skill-icons/raw/branch/main/icons/Rust.svg\"\n    alt=\"Rust\"\n  /\u003e\n  \u003cimg\n    height=\"50px\"\n    src=\"https://codeberg.org/1Kill2Steal/skill-icons/raw/branch/main/icons/SQLite.svg\"\n    alt=\"SQLite\"\n  /\u003e\n  \u003cimg\n    height=\"50px\"\n    src=\"https://codeberg.org/1Kill2Steal/skill-icons/raw/branch/main/icons/Docker.svg\"\n    alt=\"Docker\"\n  /\u003e\n\u003c/p\u003e\n\u003c!-- markdownlint-enable MD033 --\u003e\n\n## Features overview\n\nThis is a list of some of the Bots available features. For a more comprehensive\nlist you can always check out the code with all the commands or use the `help`\ncommand.\n\n- A help command containing all the bot commands.\n- A bunch of embed interaction commands (like pats, hugs and etc.)\n- A levelling system (managed locally). Some people like it, others hate it and\n  say its a MEE6 clone (They kinda have a point there). Nevertheless, you can\n  always use the SQLite database for something else if you need to. There's also\n  a cooldown implementation and periodic cleaning up of the users which aren't\n  under cooldown (This was a bit tricky to do because of the Mutex locking and my\n  overall skill issue).\n- The leveling system has a nice topranks command which gives a cool-looking embed!\n- A bot uptime command.\n\n## Setting up\n\n**ALL THE RELATIVE PATHS IN THIS DESCRIPTION BASED ON THE ROOT OF THE REPOSITORY!**\n\nIn order to set up your bot token you can do it manually by creating and\nmodifying the .env file and adding the token in it like this:\n\n```env\nBOT_TOKEN=YOUR_DISCORD_BOT_TOKEN_HERE\n```\n\nAlternatively, there's also a script that does the exact same thing! To compile\nand run it, enter in the following commands:\n\nFor Linux;\n\n```sh\nrustc extra_utils/generate_dotenv.rs -o bin/generate_dotenv\n\n./bin/generate_dotenv\n```\n\nFor Windows (Just change `/` to `\\`);\n\n```sh\nrustc extra_utils\\generate_dotenv.rs -o bin\\generate_dotenv\n\n.\\bin\\generate_dotenv\n```\n\nAfter you've configured your dotenv (.env) files, you can just run\n\n```sh\ncargo install sqlx-cli\n\nsqlx database setup\n\nsqlx migrate run\n\ncargo sqlx prepare\n\ncargo run --release\n```\n\nThe database setting up is a ONE TIME ONLY thing. From your second run after\nyou just need to do:\n\n```sh\ncargo run --release\n```\n\n### Advanced setting up (Containerization)\n\nI've also provided a Dockerfile in this repo for anyone who wants to build a\ndocker image and run the project like that.\n\nPrerequisites:\n\n- Docker engine [docker.com](https://docs.docker.com/engine/install/)\n\nAfter you have the Docker engine you need to run these commands in your\nterminal (Linux):\n\n```sh\ndocker volume create --name database\ndocker build -t YOUR_DOCKER_IMAGE_NAME .\ndocker run -v database:/database -d --env-file .env YOUR_DOCKER_IMAGE_NAME\n```\n\nNOTE: The image building could take some time (this is compiling Rust code\nafter all) so be patient!\n\nChecking your docker images is as simple as:\n\n```sh\ndocker images\n```\n\nThere's also a `docker-compose.yml` configuration if you wish to build the\nimage by using Docker Compose.\n\n```sh\ndocker-compose up -d\n```\n\nYou need to install Docker Compose from\n[docker.com/compose/install](https://docs.docker.com/compose/install/) though.\n\nFor Windows installs removing the `sudo` prefix and using the PowerShell as an\nadministrator should work (according to Google Gemini). If you encounter\nproblems with setting it up on Windows or want to tell me more details on\nsetting it up on there then feel free to chat to me on Discord - `1kill2steal`\n\n## Additional info\n\nIf you want to change your database location, make sure you also change the\n.env file.\n\n```env\n# This line determines where the database is based on the root directory of the repository.\nDATABASE_URL=sqlite:database/botdatabase.sqlite\n```\n\nNOTE: The database URL configuration is hard-coded in the\n`extra_utils/generate_dotenv.rs` file.\n\n### Tokio Console\n\nYou can also enable the [Tokio Console](https://github.com/tokio-rs/console)\nfeature by compiling the bot with `--features=\"tokio_console\"`.\n\n\u003e [!NOTE]\n\u003e Make sure to also compile with `RUSTFLAGS=\"--cfg tokio_unstable\"` if you\n\u003e choose to do so.\n\n### Telemetry\n\nThe project uses back-end agnostic OpenTelemetry meaning you can choose your\npreferred back-end if you choose to turn the `opentelemetry` feature flag on.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F1git2clone%2Fserenity-discord-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F1git2clone%2Fserenity-discord-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F1git2clone%2Fserenity-discord-bot/lists"}