I am currently creating a bot that listens for channel point redemption on a specific channel, once the script is initialized it gets a fresh auth_token using the refresh token, however these tokens have an expiration of I believe one hour. Some streaming sessions might last longer so the token will expire after the hour, would sending a new message with a new oauth token before the end of the hour work for refreshing or would I have to close the current socket and open a new one?
Should be four hours for a regular user token.
For pubsub? No.
When the access token has expired (or close to expire)
Just use the refresh token to get a new token
Then just LISTEN (again) using the existing token. (may want to UNLISTEN first to prevent dupes/weirdness)
So no need to destory the old socket.
Or start a new socket with the new token + listen requests.
Then when that has finished connecting close the old socket.
I have a method in my Bot class that sends a message, would the message sent be something like this?
data = json.dumps({
"type": "LISTEN",
"nonce": str(nonce),
"data": {
"topics": ["channel-points-channel-v1."+str(self.channel_id)],
"auth_token": self.access_token}
})
await self.sendMessage(data)
where self.access_token is the refreshed token.
It is identical to the LISTEN command you sent on initial connecting, it’s just with the new token.
So yes.
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.