Before you start
Scopes are not set on the app form: PostQueen asks for the three when a channel connects, and does not check which were granted.
user:write:chat sends chat messages and moderator:manage:announcements sends announcements, so approve all three on Twitch’s screen.
Create the app
1
Turn on two-factor authentication
Twitch lets you register apps only once two-factor authentication is on. Verify your email, turn it on under Security and Privacy in your Twitch settings, then open the developer console.
2
Register the application
Open Applications and choose Register Your Application:
- Name: a name no other Twitch app uses, such as
PostQueen Example Inc. - OAuth Redirect URLs: your address from the next step. Choose Add after typing it.
- Category: pick the closest one.
- Client Type: Confidential. A public client gets no secret, and the type cannot be changed later.
3
Set the redirect URL
Use the address that matches how you run PostQueen:Twitch accepts
https addresses, and plain http for localhost.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 a new secret
In Developer Applications, choose Manage on the app. Copy the Client ID, then choose New Secret and copy the secret. A new secret replaces the previous one, so update your environment whenever you make one.
Set the variables
Add the two keys 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.
Chat limits
In your own chat you can send 100 messages every 30 seconds, and one announcement every 2 seconds. PostQueen sends one Twitch message at a time and waits 2 seconds before each.Troubleshooting
Redirection URLs must use HTTPS protocol
Redirection URLs must use HTTPS protocol
Twitch refused the redirect URL on the app form. Use an
https address, or http://localhost for a local install, and make sure no empty URL row is left on the form.Twitch says the redirect_uri does not match
Twitch says the redirect_uri does not match
The address PostQueen sent is not in OAuth Redirect URLs. It is exactly your
FRONTEND_URL followed by /integrations/social/twitch.Chat messages go out, announcements do not
Chat messages go out, announcements do not
The token lacks
moderator:manage:announcements. PostQueen does not read Twitch’s answer to an announcement, so it is recorded as posted even when Twitch refused it. Reconnect the channel and approve every permission.