TwitchDropsMiner icon indicating copy to clipboard operation
TwitchDropsMiner copied to clipboard

[Request] Add support to mine specifically for Twitch emotes/badges

Open Infinitay opened this issue 2 months ago • 3 comments

Enable partial support for badges and emotes - This controls the eligibility status for campaigns that include a badge or emote in them. Checking the box makes those campaign considered to be "Linked", even though the campaigns cannot have a valid account link to them. The miner should carry it on from there. However, please note that the explanation from https://github.com/DevilXD/TwitchDropsMiner/issues/847#issuecomment-3486529620 still applies, and the miner will be getting stuck on those campaigns, until one removes their associated game from the priority list, or disables this option.

  • https://github.com/DevilXD/TwitchDropsMiner/issues/847#issuecomment-3538330067

I came across this project for this reason specifically - could it be made such that it will prioritize any game/channel that has an active badge or emote to be unlocked? Perhaps by adding something like "Twitch Badge & Emote" into the Games list. When a user selects it and has partial support checked, it will search through all active drop campaigns looking for Twitch emotes or badges unlockable via watch time requirements, and start to mine the respective campaigns. By doing this, it would also make it so we don't have to select the game(s) manually on certain occasions like the current World of Tanks and The Hunt games offering emotes. Additionally, it will allow users to mine for emotes/badges for games/categories that aren't available such as IRL/Just Chatting/Special Events/Events given its own new category

Infinitay avatar Dec 12 '25 22:12 Infinitay

Hello,

The current support for badges and emotes is only partial, as the current solution lacks the ability to query for the badges and emotes the user already has. This means the miner won't know when it finishes mining a badge or emote, and will try to get the same one again, over and over and over.

If you (or anyone else) can come up with a way to reliably query this information, only then this feature has a chance of being implemented properly. Otherwise (current state), this ability is locked behind an advanced toggle, since the miner will be getting stuck trying to mine the same badges or emotes twice.

DevilXD avatar Dec 13 '25 08:12 DevilXD

I tried to think of an implementation, but it wasn't reliable. I caught a request for the WorldOfTanksBenedict emote response had that mentioned, but I couldn't find anything for the HuntHS emote, so I couldn't use those to then look through available user emotes to see which was already unlocked anyway.

I'll try again later and see if I can think of anything else.

Infinitay avatar Dec 16 '25 00:12 Infinitay

Last time I've looked into it, I found some GQL operations that fetch the currently available emotes for a given channel. The problem is, at the time of inventory loading (where this information is needed), there's no channels available yet, as channel fetching is the next step after loading in the inventory.

This could be worked around by deferring fetching until there are channels available, or even fetching this information on a per-channel basis, but I wasn't able to come up with anything that'd make sense.

Here are some of the operations I've found, if you'd want to try them:

  • GlobalBadges - {}
  • ChatList_Badges - {"channelLogin": "<channelName>"}
  • CelebrationEmotes - {"channelID": "<12345678>"}
  • AvailableEmotesForChannelPaginated - {"channelID": "<12345678>", "pageLimit": 350, "withOwner": true}
  • EmotePicker_EmotePicker_UserSubscriptionProducts - {"channelOwnerID": "<12345678>"}

DevilXD avatar Dec 16 '25 08:12 DevilXD