{"id":20466079,"url":"https://github.com/rizerphe/discord-mod-utils","last_synced_at":"2025-08-10T04:10:32.084Z","repository":{"id":109362639,"uuid":"486462990","full_name":"rizerphe/discord-mod-utils","owner":"rizerphe","description":"A very simple discord moderation utilities bot","archived":false,"fork":false,"pushed_at":"2022-04-29T21:45:00.000Z","size":37,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-05T12:34:11.122Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/rizerphe.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-28T05:49:20.000Z","updated_at":"2022-04-28T05:50:05.000Z","dependencies_parsed_at":"2023-07-27T09:45:13.814Z","dependency_job_id":null,"html_url":"https://github.com/rizerphe/discord-mod-utils","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rizerphe/discord-mod-utils","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rizerphe%2Fdiscord-mod-utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rizerphe%2Fdiscord-mod-utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rizerphe%2Fdiscord-mod-utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rizerphe%2Fdiscord-mod-utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rizerphe","download_url":"https://codeload.github.com/rizerphe/discord-mod-utils/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rizerphe%2Fdiscord-mod-utils/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269673969,"owners_count":24457242,"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","status":"online","status_checked_at":"2025-08-10T02:00:08.965Z","response_time":71,"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":[],"created_at":"2024-11-15T13:21:31.313Z","updated_at":"2025-08-10T04:10:32.052Z","avatar_url":"https://github.com/rizerphe.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Discord mod utils\nA simple set of moderation utilities written with pycord\n\nBackstory: in a server I moderate, we create a thread in our #mod-cases channel every time a user does something and we need to discuss it. However doing that takes way too much time, plus we then usually run the same set of commands to get the server join date etc in that thread, and we usually delete the original user's message (the one that started the case). This also means that we usually post a screenshot of that message to the moderation thread so that other mods can later understand what happened. This bot allows us to create such a thread by just right-clicking any message in the server, and it also shows all of the message and user info we need in the thread while also copying the message over into the thread using a webhook.\n\n# Running\n## Installing using pip\nYou should probably do this within a virtual environment - this bot uses an unstable beta version of pycord so it might break other stuff you're running.\n```sh\npip install git+https://github.com/rizerphe/discord-mod-utils\ndiscord-mod-utils-bot --help\n```\n## Installing using [pipx](https://github.com/pypa/pipx) (recommended)\nThis will automatically put everything into a virtual environment so you don't have to worry about it breaking everything\n```sh\npipx install git+https://github.com/rizerphe/discord-mod-utils\ndiscord-mod-utils-bot --help\n```\n## Running\nI use firestore for storing per-guild configuration so you'll need to create a new firebase project.\nPut your firestore credentials (get them [here](https://console.firebase.google.com/project/_/settings/serviceaccounts/adminsdk)) into `credentials.json` in the current working directory.\nGet your discord bot token. [Here's how to get one](https://github.com/reactiflux/discord-irc/wiki/Creating-a-discord-bot-\u0026-getting-a-token)\n```sh\ndiscord-mod-utils-bot -t [your token here]\n```\n## Storing the configuration\nI use python-dotenv to allow you to store the token in a `.env` file instead of passing it from the command line every time. Just put `TOKEN = [your token here]` into `.env` in the current working directory\n# Development\nIf you're modifying the code, you probably want to install it in editable mode and configure debug guilds:\n```sh\nvirtuelenv venv\n. venv/bin/activate\npip install -e .\ndiscord-mod-utils-bot -t [your token here] -d 000000000000000000 -d 000000000000000000\n```\nOr configure the debug guilds in the `.env` file:\n```env\nTOKEN = [your token here]\nDEBUG_GUILDS = '[000000000000000000, 000000000000000000]'\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frizerphe%2Fdiscord-mod-utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frizerphe%2Fdiscord-mod-utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frizerphe%2Fdiscord-mod-utils/lists"}