Tip
Pinbot was recently rewritten to support message interactions. Looking for the old Pinbot? Check out the last version here
Join the Pinbot Discord Server
Whenever you use the bot's "Pin" command (right-click a message, choose Apps, choose Pin), Pinbot posts the message to a channel.
Pinbot will reply with a link to the pinned message, and signal it's done by reacting to the original message with a 📌 emoji.
Pinbot is designed as an extension to Discord's channel pins system. Use Pinbot to:
- Bypass Discord's 50-pin limit and create a historic stream of all your pins
- Collect all your server's pins into one place (with optional overrides)
- Give your server's pins a more permanent home
Discord guilds use pins for a lot more than just highlighting important information. In fact, many guilds use the pin system as a form of memorialising a good joke, a savage putdown, or other memorable moments. As a result, the 50 pin per channel limit means that in order to keep something, you will eventually have to get rid of something else.
Pinbot uses the channel name to decide where it will post. In order of priority it will pin in:
#{channel}-pins
, wherechannel
is the name of the channel the message was pinned in#pins
, a general pins channel#{channel}
, the channel the pin was posted in, so that if you don't want a separate pins channel you can instead search for pins by @pinbot in the channel
Whenever Pinbot pins a message, or whenever you update the actual channel pins, Pinbot will trigger a reimport of all
the channel's pins. You can also trigger this manually with the /import
command.
Don't forget that Pinbot needs permission to see and post in these channels, otherwise it won't be able to do its job.
Pinbot is deployed as an AWS Lambda function
Pinbot is designed to be run with as few permissions as possible, however as part of its core functionality it needs to be able to read the contents of messages in your server. If you're not cool with this then you're welcome to audit the code yourself, or host and run your own Pinbot.
Pinbot requires the following permissions to function in any channels you intend to use it:
- Read messages (
VIEW_CHANNEL
) - Send messages (
SEND_MESSAGES
) - Add reactions (
ADD_REACTIONS
)
Variable | Description | Required |
---|---|---|
DISCORD_TOKEN |
Bot token | true |
DISCORD_PUBLIC_KEY |
Bot public key | true |
LOG_LEVEL |
Log level. trace enables discord-go debug logs |
false |
/tests
contains a suite of integration tests which run against fakediscord in a test guild. Simply run docker-compose up
from the root of the repo and execute the tests.