I realise this could just a much belong in the feature requests section, but I’m more curious as to the technical restrictions.

So yeah: What are the technical delays/restrictions on being able to post golive announcements in Discord for other streamers?

I’m trying to keep the number of bots in my server to a minimum (1). I could add mee6, but I’d be adding it solely for go live announcements, and if there is a realistic chance of PB doing this, I’d rather wait.

I cannot think of any, per se. I mean, some sort of looping mechanism against the Twitch API would have to be created to check those streams – and stay within Twitch’s API limits. That is where the trick lies, I think. I mean, lots of bots just throw caution to the wind and just hammer the hell out of the Twitch API (even we do to a point - but you may have noticed we cache data from Twitch and reduced our calls a bit). That said, I would probably check streams every 30-60 seconds to see if they have gone live, but not more often.

My usual boilerplate statement aside about APIs and limits

The /streams/ endpoint allows for a multiple list of channels to be checked for online status. However, remember that you must have their numeric ID now, and not the channel (user) name, so you would you want to cache the IDs of the folks that you want to lookup (PhantomBot does this) with the API call we provide to Twitch from our library — however you may consider a new call to check multiple users all at once.

So, since I managed to sneak this into feature requests, I’ve been thinking about how/what I’d like to see. Obviously this may not be possible, or I might just need to duplicate a module once it’s done or something, but I’ll just dump the words here and see what comes of it.

Aside from the obvious things of being able to create a list to get called out, I’d quite like to have the announcement be separately customisable between the owner/main broadcaster and other people.

If at all possible, based on my ideas and what I have in mind, I’d like it to have two different groups, so that I could set one announcement type for some streamers, and a different announcement for the others. This might end up involving me having to duplicate the module, but that’s fine.

Ideally, I think the best way to do this would be to have customisable announcements for each channel targeted, though I’ve no idea if this would be practical. Based on what I understood of the earlier technical post, it would be a separate check for each channel, which I think means you could have a separate response for each as well, but I defer to those who actually understand coding.

So, I’ve been thinking about this for a while, and rather than start a new topic, I thought I’d update this one. This is from an end user point of view, not a backend angle, because I can’t technical at all.

Given that we already have the account link function, I would ideally see it have something like !account live on/off randomstreamername, so that we can turn on notifications for users.

Alternatively, it could be self-activated, so it would look more like !account live on/off, and it would activate your own shoutout.

This could also possibly be done with both of these functions. Hoping this makes sense.

Sounds reasonable until Helix becomes the default. The streams endpoint is rate limited. You will get (by default) 30 queries in a minute - that includes the need to query your own streams endpoint to see if you are on/offline. That amount, in theory, may be allowed to be 120 queries, but that depends upon the type of query being made. So, in theory, to continue to support your own queries, and provide for others, you could pick, let us say, 14-30 people so you can query enough for yourself as well – assuming you still want Helix to pull data for other relevant parts of your stream – followers, subscribers, stream up/down, followage, clips, … you get the idea. Also, we would have to query to get the ID from their username (unless it is already cached) - there are potentially 2 queries per user at least once.

Note the rate limit? 29 remaining? Helix will be much more interesting than what we are used to with the v5 API.

We are going to look at migrating to Helix probably middle of the year – we want to give Twitch plenty of time to get the APIs from v5 ported over that we need and give them time to shake things out. We also need to architect in paying attention to the rate limit and time that it is refreshed to either queue up or dispose of queries to Twitch. Once we move, get ready for much tighter rate limits, unfortunately. Then, at the end of the year, v3 and v5 are going away. So, even if we try to cling to them, we have a date already on the tombstone from Twitch.

The API does allow you to do multiple queries, up to 100 in one call, but that really isn’t well documented anywhere except for helix if I remember right. I’m sure hoping that helix will have better features and endpoints than v3 and v5, but as of right now it’s not too promising.

This is something I’d love to have as well. If I could oust the unreliable Now Live bot, that would be great. I have a handful of friends I’d like to announce in my Discord when they go live so this would be perfect.

This was implemented recently. Still need to add configuration to the new Beta Control Panel but the Discord script was added. It also will optionally post promotion information to a channel at a configurable interval if the streamer is offline or online. The streamer (or the person adding the streamer) may also add a biography – some additional information about the streamer.

!promoteadm channel discord_channel - Channel to send promotion messages to.
!promoteadm streamchannel discord_channel - Channel to send go-live messages to.
!promoteadm toggleselfmanage - If you do not want people to add themselves.
!promoteadm setinterval - Change the interval for promotion messages from 120 minutes to something else.
!promoteadm togglestats - Show follow and view stats or not.
!promoteadm togglebanner - Display the channel banner or not.
!promoteadm so - Shout out a user.
!promoteadm add - Add a user based on their Twitch channel.
!promoteadm delete - Delete a user based on their Twitch channel.
!promoteadm revoke - Revoke the privilege of a user to be able to promote themselves.
!promoteadm allow - Allow a user to be able to promote themselves.
!promoteadm list - List the users currently configured.
!promote add - Add yourself if permitted to do so.
!promote delete - Delete yourself if permitted to do so.