Before you start
PostQueen checks the
identify and guilds scopes when a server connects and refuses the connect if either is missing. The bot permissions are part of the install link, so you do not set them in the portal.
Create the app
1
Create the application
In the developer portal, choose New Application, enter a name, accept the terms and choose Create.
2
Set up the bot
Open the Bot page:
- Upload an icon for the bot. The channel’s picture in PostQueen is the bot’s avatar, and without one the channel connects with no picture.
- Choose Reset Token and copy the token. Discord shows it once.
- Keep Public Bot on if people other than you will connect their servers. With it off, only the application’s owner can add the bot.
3
Add the redirect URI
Open the OAuth2 page. Under Redirects, choose Add Redirect, enter the address and save:The redirect URI is where the network sends the browser back after someone approves PostQueen. It is
your
FRONTEND_URL + /integrations/social/ + the network’s identifier, for example
https://postqueen.example.com/integrations/social/pinterest.Most networks need exactly one URI, with no trailing slash. Two exceptions: TikTok Business needs
the trailing slash (/integrations/social/tiktok-business/), and a Google web client that also
serves Google Business Profile lists both /integrations/social/youtube and
/integrations/social/gmb. Channel developer apps lists every
network’s ending.4
Copy the client ID and secret
On the same OAuth2 page, copy the Client ID, then choose Reset Secret and copy the client secret.
Set the variables
Add the three values to your environment:docker restart or
docker compose restart keeps the old container and its old environment.
In the folder that holds docker-compose.yaml, recreate only the postqueen service:
docker compose down for a settings change: on
a host that runs other Compose services in the same project, it stops them too.
Then open PostQueen, go to Channels, choose Add Channel and pick this network. You are
sent to its login to authorize PostQueen, and the channel appears in the Channels list once you
accept.
The channel is in the Channels list with its avatar and name.
Add Channel does not check whether your variables are set. A missing or misspelled key shows
up as a broken authorization page on the network’s side rather than a helpful message in
PostQueen, so if the login page itself looks wrong, check the keys before anything else.
App review
Discord needs no review to start. Once the bot is in 100 servers, Discord requires the application’s owner to verify their identity before the bot can join more. See Discord’s verification guide.Troubleshooting
Not enough scopes, when choosing a provider, please add all the scopes
Not enough scopes, when choosing a provider, please add all the scopes
Discord returned a token without
identify or guilds. Connect again and approve everything on the consent screen.Discord says the redirect_uri is invalid
Discord says the redirect_uri is invalid
The address PostQueen sent is not listed under Redirects. It is exactly your
FRONTEND_URL followed by /integrations/social/discord. Check the scheme, the port and that there is no trailing slash.The server is not offered on the consent screen
The server is not offered on the consent screen
Your Discord account does not have Manage Server there. Ask the server’s owner for that permission, or to connect it themselves.
The channel picker is empty
The channel picker is empty
DISCORD_BOT_TOKEN_ID is missing or wrong, or the token was reset after you copied it. Copy a fresh token from the Bot page and recreate the container.Bot doesn't have access to this channel
Bot doesn't have access to this channel
The channel hides itself from the bot’s role. In Discord, give the bot’s role View Channel, Send Messages and Attach Files on that channel. The same applies to “Bot lacks permission to send messages in this channel”.
Pictures or link previews do not come through
Pictures or link previews do not come through
The bot was added before PostQueen asked for Embed Links and Attach Files, and keeps the permissions its server gave it then. Reconnect the channel, or give the bot’s role those permissions.