{"id":16168570,"url":"https://github.com/thatxliner/slashtilities","last_synced_at":"2026-02-05T13:31:32.368Z","repository":{"id":37031699,"uuid":"354683252","full_name":"ThatXliner/slashtilities","owner":"ThatXliner","description":"A nice and simple, slash command-based, Discord utility bot.","archived":false,"fork":false,"pushed_at":"2022-10-05T04:39:45.000Z","size":5628,"stargazers_count":2,"open_issues_count":6,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-07T18:44:16.435Z","etag":null,"topics":["bot","discord","discord-bot","utility-bot"],"latest_commit_sha":null,"homepage":"https://top.gg/bot/828341132865437737","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/ThatXliner.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-04-05T01:17:17.000Z","updated_at":"2024-09-12T03:34:33.000Z","dependencies_parsed_at":"2023-01-19T04:15:53.967Z","dependency_job_id":null,"html_url":"https://github.com/ThatXliner/slashtilities","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ThatXliner/slashtilities","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThatXliner%2Fslashtilities","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThatXliner%2Fslashtilities/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThatXliner%2Fslashtilities/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThatXliner%2Fslashtilities/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ThatXliner","download_url":"https://codeload.github.com/ThatXliner/slashtilities/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThatXliner%2Fslashtilities/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265485410,"owners_count":23774485,"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":["bot","discord","discord-bot","utility-bot"],"created_at":"2024-10-10T03:12:15.646Z","updated_at":"2026-02-05T13:31:27.343Z","avatar_url":"https://github.com/ThatXliner.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Slashtilities\n\n# Notice\n I haven't got time to maintain this bot. [Heroku's free plan is dying](https://blog.heroku.com/next-chapter), and since this is just a fun project, *this is going to die along with it.*\n\nThank all the people who helped contribute and test this project! It was fun while it lasted.\n\n---\n\n\u003ccenter\u003e\n\n\u003cimg src=\"./assets/banner.png\" height=\"100\"\u003e\u003c/img\u003e\n\n***A nice and simple, [slash command](https://discord.com/developers/docs/interactions/slash-commands#slash-commands)-based, [Discord](https://discord.com/) utility bot.***\n\n\u003c/center\u003e\n\n## Features\n\n - Intuitive, [slash command](https://discord.com/developers/docs/interactions/slash-commands#slash-commands)-based interface\n - Open source and written in [discord.py](https://discordpy.readthedocs.io/) and [discord-py-slash-command](https://discord-py-slash-command.readthedocs.io)\n\n### Available commands\n#### `/ping`\n\n\u003e Returns the bot's [ping](https://www.rtr.at/TKP/service/rtr-nettest/help/test_result/netztestfaq_testergebnis_0300.en.html) in miliseconds\n\nOther than being a basic sanity check, this command is quite useless.\n\n#### `/igotpinged`\n\n\u003e Get the last message(s) pinging you after your last message sent in the channel\n\nWhen you're in servers where people talk 100 messages a minute, this command is useful when\n\n1. You got pinged when you come back\n2. You don't want to scroll through all those messages to find who pinged you and why\n\nWhile Discord's find feature is nice, typing `/igotpinged` saves a lot of keystrokes or (in the case of mobile) tapping.\n\n#### `/emoji_backup`\n\n\u003e Back up the guild's emojis\n\nGet a copy of the current guild (server)'s emojis. This is useful for backing up emojis for a guild that freely allows emoji modification (e.g. [my server](https://thatxliner.github.io/discord/server.html)).\n\n#### `/cc @someone, ...`\n\n\u003e Sends a dm to the people you `/cc`'d with your last message's contents and jump-link. Also tells them who else you CC'd\n\nBecause just pinging them is risky.\n\n1. Your original message (or the message you used to ping them) can get deleted\n2. And if number 1 happens, your reputation will be ruined because you \"ghost pinged them\"\n\nDMs are a safe and persistent place for dumping messages.\n\n**NOTE:** Because of Discord's current API limits, you can only [`/cc`](#cc-someone-)/[`/bcc`](#bcc-someone-) a limited number of people. I have currently made that limit *10* but **if you want to make the limit higher, request it in our [issue tracker][issue]**\n\n#### `/bcc @someone, ...`\n\n\u003e Sends a dm to the people you `/bcc`'d with your last message's contents and jump-link\n\nBasically [`/cc`](#cc-someone-) but the dm message doesn't tell them who else you've CC'd.\n\n#### `/poll question, choice1, choice2, ...`\n\n\u003e Send a multi-choice poll (options mutually exclusive)\n\nThis is useful if you want a group vote. This command will also add the nessecary reactions.\n\n**NOTE:** The current limit of choices is 9\n\n![demo](./multichoicepoll.png)\n\n#### `/yesno question`\n\n\u003e Send a yes-or-no question (options mutually exclusive)\n\nBecause yes. Or was it no?\n\n#### `/invite`\n\n\u003e Our bot's invite links!\n\nBecause yes!\n\n#### `/vote`\n\n\u003e Vote for our bot here!\n\nPlease.\n\n#### `/???`\n\n\u003e ???\n\nSuggest your command in our [issue tracker][issue]! Maybe the newest command came from your idea!\n\n[issue]: https://github.com/ThatXliner/slashtilities/issues\n\n## Instructions\n\n### Adding to your server\n\nJust follow [this link](https://thatxliner.github.io/discord/bots/slashtilities.html) and add it to your server like any other bot.\n\n### Self-hosting the bot\n\nIf you have Python 3.7+ installed (instructions [here](#python-37-and-pip)), you may run our experimental auto-installer via\n\n```bash\n$ curl -sSf https://raw.githubusercontent.com/ThatXliner/slashtilities/master/autoselfhost.py | python3 -\n```\n\nOr you can [![Deploy to Heroku](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/ThatXliner/slashtilities) (you may need to add the [PostgreSQL Add-on](https://elements.heroku.com/addons/heroku-postgresql) in order for it to work properly)\n\n#### Requirements\n\n - Python 3.7+ and pip OR the latest stable version of Poetry\n - PostgreSQL\n - Git (of course)\n\nIf you're missing any of these requirements, check the [install requirements instructions](#installing-requirements)\n\n#### First steps\n\nNo matter what, you still need to clone this git repository\n\n```bash\n$ git clone https://github.com/ThatXliner/slashtilities\n```\n\n#### Installing dependancies\n\nYou got 2 options: [install the dependancies with poetry](#with-poetry) or [install the dependancies with pip (in a venv, of course)](#with-python-and-pip)\n\n##### With Python and pip\n\n```bash\n$ python3 -m venv .venv\n$ source .venv/bin/activate\n(venv) $ pip install -r requirements.txt\n```\n\n##### With Poetry\n\n```bash\n$ poetry install\n```\n\n#### Running the bot\n\nFinally, start running the bot. Remember to replace `\u003cyour token here\u003e` with your actual Discord bot token.\n\nYou still got 2 options: [run the bot with poetry](#run-with-poetry) or [run the bot with Python in a venv](#run-with-python)\n\n\n##### Run with Poetry\n\n```bash\n$ DISCORD_TOKEN=\"\u003cyour token here\u003e\" poetry run python -m slashtilities\n```\n\n##### Run with Python\n\n```bash\n$ source .venv/bin/activate\n(venv) $ DISCORD_TOKEN=\"\u003cyour token here\u003e\" python3 -m slashtilities\n```\n\n### Installing requirements\n\n#### Git\n\nYou should have Git. To check, run\n\n```bash\n$ git --help\n```\n\nIf you don't, how come you're browsing GitHub? Anyways, you can download Git [here](https://git-scm.com/downloads)\n\n#### Python 3.7+ and pip\n\nYou might already have Python 3.7+. To check, run\n\n```bash\n$ python3 -V\n```\n\nGet the latest version of Python [here](https://www.python.org/downloads/). Once you did that run\n\n```bash\n$ python3 -m ensurepip --upgrade --user\n```\n\n#### Poetry (optional)\n\nTo make life easier, you can install Poetry [here](https://python-poetry.org/docs/#installation) or with\n\n```bash\n$ python3 -m pip install poetry\n```\n\n#### PostgreSQL\n\nYou need PostgreSQL if you want features that have settings (e.g. `cc` and `bcc`).\n\nIf you don't want to install PostgreSQL, set the environment variable `NO_DB` to `1` when running the bot.\n\nOtherwise, download PostgreSQL from [here](https://www.postgresql.org/download/)\n\nVerify that your PostgreSQL is installed via\n\n```bash\n$ psql -l\n```\n\nIt should not error\n\n### Self-host (uninstalling)\n\nJust remove the `slashtilities` directory\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthatxliner%2Fslashtilities","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthatxliner%2Fslashtilities","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthatxliner%2Fslashtilities/lists"}