๐ PinBot enables communities to allow users to pin messages even without the MANAGE_MESSAGES permission.
Some of the use cases PinBot might serve are:
- A community that wants to allow members to pin messages, but aren't comfortable giving them the MANAGE_MESSAGES permission.
- A lazy admin who doesn't want to click the three dots and then click "Pin Message" every time they want to pin a message.
Pin Message
- This is a message context menu command that allows users to pin messages. If a channel has reached its pin limit, the bot will offer the user the option to unpin the oldest pinned message.Unpin Message
- This is a message context menu command that allows users to unpin messages.
Right now the bot is pretty simple to setup and run. You'll need to have the following:
- A non-ancient version of Node.js
- pnpm installed globally
- A Discord bot application
- Clone the repository
git clone https://github.com/Codeize/PinBot.git
- Run
pnpm install
- Create a
.env
file in the root of the project based on.env.example
, allDISCORD_
variables can be found in the Discord Developer Portal,COMMANDS_DEBUG
andDEVELOPMENT_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. - Run
pnpm run build
- Run
pnpm run sync
- Run
pnpm run start
For the sake of transparency, the public version of PinBot is hosted on Hop.io but you can host it anywhere you want.
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 in the Discord Developer Portal.
This project is licensed under the MIT License.
The only permission the bot requires aside from basic VIEW_CHANNEL
and SEND_MESSAGES
is MANAGE_MESSAGES
.
If you have any questions, or similarly if you find any issues with the bot, feel free to create an issue or join the Buape Discord Server.