night / betterttv

BetterTTV enhances Twitch with new features, emotes, and more.
https://betterttv.com
Other
1.21k stars 267 forks source link

Randomize same-name emotes #4633

Closed DorCoMaNdO closed 3 years ago

DorCoMaNdO commented 3 years ago

I thought of a neat idea where emotes under the same name (two or more BTTV emotes, or a twitch emote and at least one BTTV emote, maybe also support FFZ emotes) could be randomly picked when used. This should be somehow synced, either with the BTTV socket or perhaps by message timestamp, though it would require a different solution for own messages as own timestamps are inaccurate, if it's still the case that a client can receive it's own message after sending it (I recall that happening when I was working on a bot years ago), then that timestamp could be used.

night commented 3 years ago

Thanks for the suggestion. This is an interesting idea, but keeping the emote in sync would actually be very tricky to scale (n^2 fan out is expensive). Really the only easy way to make this work would be to place the emote id in the content somehow, but it would take up space in the message and also would look bad for non-addon users.

DorCoMaNdO commented 3 years ago

Perhaps a Discord-esque suffix of ~1, ~2 (order based on the database id of the emote, perhaps with the option for a channel to override this in cases where emotes are added/removed and the index would change, so channels could override it to keep it consistent), etc to allow users to explicitly select an emote with the same name, but also the option to not specify and then (during send or autocomplete) randomly append a suffix for one of the available emotes with the same name? If this were to make it through then I'd also like to suggest adding the suffix-less version to the emote menu and then make it cycle through all the options (perhaps once every second and/or at the end of animated emotes) and also highlight all the emotes that may be randomly selected upon hovering over the suffix-less emote.

github-actions[bot] commented 3 years ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related issues or feature requests.