twitch-tools icon indicating copy to clipboard operation
twitch-tools copied to clipboard

[Feature] Bluesky notifications - Be able to send post on title or game change

Open CommanderRoot opened this issue 1 year ago • 3 comments

Similar to when going live this would post if the game or title of a channel changes

CommanderRoot avatar Nov 02 '24 12:11 CommanderRoot

While thinking of the implementation of this feature some issues / questions come to mind

  • Should changing title and changing game be one event or two seperate events?
  • Should the post only happend when the stream is live or regardless of the online status?
    • Or should this be an option to select?
  • The stream gone live event has the option to delete the post once the stream went offline. How would the posts from this here interact with that option?
    • Would they ignore the other event? (The other might not even exist)
    • Would they delete the last gone live?
    • Would they only delete past title / game change posts?
  • What if only one char changes shortly after a change (to fix a typo or something). Should that be ignored (somehow) or posted regardless
    • Should there be a max xx posts per hour / 15 minute limit?

CommanderRoot avatar Jan 05 '25 01:01 CommanderRoot

Hi, time ago I forked and updated a python script for Streamlabs Chatbot which does the same for Twitter / X. If you're interested, you can check in my profile what's the behaviour adopted there, seeing the purpose it's the same, it changes only the destination social website. ^_^ Just check LiveTweeter from my profile. ;)

PatchaIT avatar Jan 05 '25 14:01 PatchaIT

So, I'll try to save you some time by answering half my opionion and half how it behave the script I forked and updated for Twitter.

  • Should changing title and changing game be one event or two seperate events?

I think title change could just not be an event at all. Just put the event on gamechange, then it will also say the title (changed or not).

If you want to put both, it could be like this: I don't know how actually works your code, but let's imagine there's a check routine every tot seconds. It would collect all events, and then just trigger one of them by priority. Example: live start > game change > title change.

If there was a live start event, the trigger will be only that one, and ignore the others. If there was no live start, but a game change, the event will be game change, eventually ignoring title change. If there was no live start and no game change, but title was changed, then let's trigger title change.

  • Should the post only happend when the stream is live or regardless of the online status?

I think only when stream is live. I suppose no one has interests on sharing its stream activity if there's no stream live to be seen.

  • Or should this be an option to select?

If you're able to, and it requires not too much extra effort. I'm always about the opionion that being able to choose is better. But I also know that too much options discourage users.

I'd say: it's up to you, but with zero priority to put this select option for offline events. At first, I'd implement so that they trigger only when stream is online.

  • The stream gone live event has the option to delete the post once the stream went offline. How would the posts from this here interact with that option?
    • Would they ignore the other event? (The other might not even exist)

This should depend on previous question: if you setted triggers to work only when stream is live, then after they go offline, no more triggers should happend. If you put an option to choose if trigger offline or not, it would depend on that option.

  • Would they delete the last gone live?
  • Would they only delete past title / game change posts?

I think select options for these are the best solution. Otherwise I'd put no by default.

  • What if only one char changes shortly after a change (to fix a typo or something). Should that be ignored (somehow) or posted regardless
    • Should there be a max xx posts per hour / 15 minute limit?

This one could really be an option: "Cooldown between posts" The cooldown should reset if the old post is deleted (maybe triggered by mistake, and so triggering a new change to fix it). Don't know if you can track the "deleted" stuff... I suppose yes: just memorize last post ID during the cooldown time, and when there's a new trigger, check first if the old post still exists: so ignore for cooldown the new trigger if the old post still exists, or ignore the cooldown and make the new post if the old one exists no more.

Actually in the script I updated I added an option to delay posts. So the streamer has the time to review it. For example I myself set that delay to 5 minutes, also because I have a 5 minutes pre-live countdown, so I have no interest on sharing my "going live" post before the countdown ends. And also I have 5 minutes to update eventually my title or game setted up, if I mistook at first.

PatchaIT avatar Jan 11 '25 14:01 PatchaIT