|
1 | 1 | <div align="center"> |
2 | 2 | <img width="256" src="https://raw.githubusercontent.com/buape/.github/main/buape_circle.png" alt="Buape Logo"></a> |
| 3 | +</div> |
3 | 4 |
|
4 | 5 | # Buape Tags |
5 | 6 |
|
6 | | -TODO |
| 7 | +Buape Tags is a simple Discord bot that allows you to save custom text snippets and use them for later. It's a great way to save time and effort when you're typing out the same thing over and over again. |
| 8 | + |
| 9 | +Some of the use cases Tags might serve are: |
| 10 | + |
| 11 | +- A bot support server where users ask the same questions often, |
| 12 | +- A server with frequent live moderation where rules may need to be quoted often, |
| 13 | +- A development server where you may need to share code snippets often, |
| 14 | +- Or even just a server where you want to share a funny meme or quote often |
| 15 | + |
| 16 | +## Commands |
| 17 | + |
| 18 | +| Command | Arguments | Description | |
| 19 | +| ----------- | -------------------------------------------------------------- | ------------------------------------------------------------------------------ | |
| 20 | +| /create-tag | private: true/false | Opens a modal where the user is asked for the tag trigger and tag content. | |
| 21 | +| /send-tag | tag: auto-populates, user: auto-populates, private: true/false | Replies to the command with the tag content, with an optional user to mention. | |
| 22 | +| /edit-tag | tag: auto-populates, private: true/false | Opens a modal where the user is asked for the new tag trigger and/or content. | |
| 23 | +| /delete-tag | tag: auto-populates, private: true/false | Deletes the tag. | |
| 24 | +| /list-tags | private: true/false | Lists all tags in the server and their usage count, author, last editor, etc. | |
| 25 | + |
| 26 | +## Future Plans |
| 27 | + |
| 28 | +- [ ] Move away from a HTTP based bot to a gateway based bot |
| 29 | +- [ ] Web dashboard to allow for a much better user experience |
| 30 | +- [ ] Setup repository with Buape standards for maintenance |
| 31 | +- [ ] Role, channel lock tags |
| 32 | +- [ ] Log actions |
| 33 | + |
| 34 | +## Self Hosting |
| 35 | + |
| 36 | +### Prerequisites |
| 37 | + |
| 38 | +Right now the bot is pretty simple to setup and run. You'll need to have the following: |
| 39 | + |
| 40 | +- A non-ancient version of Node.js |
| 41 | +- [pnpm](https://pnpm.io) installed globally |
| 42 | +- A Discord bot application |
| 43 | +- A CockroachDB database |
| 44 | + |
| 45 | +### Setup |
| 46 | + |
| 47 | +1. Clone the repository `git clone https://github.com/Buape/Tags.git` |
| 48 | +2. Run `pnpm install` |
| 49 | +3. Create a `.env` file in the root of the project based on `.env.example`, all `DISCORD_` variables can be found in the Discord Developer Portal, the `DATABASE_URL` variable can be found in the CockroachDB Console, `COMMANDS_DEBUG` and `DEVELOPMENT_GUILD_ID` aren't required but are useful for development, `PORT` can remain as it is, if you know you need to change it, you probably know how to change it. |
| 50 | +4. Run `pnpm run build` |
| 51 | +5. Run `pnpm run db:push` |
| 52 | +6. Run `pnpm run sync` |
| 53 | +7. Run `pnpm run start` |
| 54 | + |
| 55 | +### Hosting |
| 56 | + |
| 57 | +For the sake of transparency, the [public version of Tags](https://go.buape.com/tags) is hosted on [Hop.io](https://hop.io) but you can host it anywhere you want. |
| 58 | + |
| 59 | +The main thing to keep in mind is that once your application is hosted on a public URL, you'll need to add it to the [Interactions Endpoint URL](https://discord.com/developers/docs/tutorials/upgrading-to-application-commands#adding-an-interactions-endpoint-url) in the Discord Developer Portal. |
| 60 | + |
| 61 | +## License |
| 62 | + |
| 63 | +This project is licensed under the [MIT License](https://choosealicense.com/licenses/mit/). |
| 64 | + |
| 65 | +## Notes |
| 66 | + |
| 67 | +No additional permissions are required for the bot to run, other than the base Send Messages permission. |
| 68 | + |
| 69 | +If you have any questions, or similarly if you find any issues with the bot, feel free to [create an issue](https://github.com/Buape/Tags/issues/new) or join the [Buape Discord Server](https://go.buape.com/discord). |
0 commit comments