DevilXD / TwitchDropsMiner

An app that allows you to AFK mine timed Twitch drops, with automatic drop claiming and channel switching.
MIT License
1.72k stars 170 forks source link

Enable "Not Linked" games in Priority list as 'farmable' ("Allow Not Linked Games" toggle?) #557

Closed ArchOwlen closed 2 months ago

ArchOwlen commented 2 months ago

There are a few games (mostly Blizzard games) that I put on my Priority list, but Twitch/TwitchDropsMiner doesn't consider "Linked"

I checked the link status, and these games' websites state Twitch is linked properly, but Twitch does not think they're linked (Twitch still successfully supplies drops for these games if manually watched)

A workaround for this could be done if we could force TDM to watch Priority games regardless of Link status

List of games I have linked, the game/service considers as linked, but TDM and Twitch don't consider linked:

Hope this could be an easy addition!

DevilXD commented 2 months ago

Hello,

Please run the miner with the --dump option, and then post the resulting dump.dat file here. You can either zip it and upload it directly, or use something like https://pastebin.com

ArchOwlen commented 2 months ago

I built it into an exe and I'm unsure how I would do that exactly-

The wiki doesn't seem to explain how to either

DevilXD commented 2 months ago

I'm kinda surprised you were able to build an executable, but you don't know how to run an application with additional arguments. The wiki does not explain it, because it's one of the "almost basic" things you have to learn when working with anything on a computer. It could also be the case you know how it's done, but you didn't understand what I've said.

The simplest, most non-complicated way of running an application with additional arguments, is to - assuming you're on Windows - create a shortcut to the application (right click -> create shortcut), and then in the Target path entry, add the arguments after the file path. So for example, if the application you'd like to run would be the miner, and it'd reside in a "TDM" folder, that'd itself reside on the C: drive, the target path would look like this:

"C:\TDM\Twitch Drops Miner (by DevilXD).exe"

Note that all paths that contain spaces on Windows, have to be wrapped in quotes to function. You'll need to add the arguments you want after the quoted path, like so:

"C:\TDM\Twitch Drops Miner (by DevilXD).exe" --dump

If the path contains no spaces, quotes aren't needed. A list of all possible runtime arguments is included in the manual.txt file that's distributed together with the miner, and also available in the repository itself.

Once you change the target path of the shortcut, you should be able to just run the application through it. With the --dump argument, the miner should open, run the inventory fetch sequence of the initial reload, save the dump.dat file in the miner's folder, and then close afterwards. I'll need that dump.dat file to help diagnose your issue.

ArchOwlen commented 2 months ago

Yeah fair lol I had only previously used custom commands in Steam and Linux command line stuff, so wasn't entirely sure if it was the same on Windows or not; never realized it was that easy, just using the target part of properties lol

Here ya go! dump.zip

DevilXD commented 2 months ago

There's no available campaigns for Palworld and Hearthstone, so I'm unable to check these. Cult of the Lamb appears to be linked, but Overwatch 2 and World of Warcraft isn't. Overwatch not being linked implies that Hearthstone probably isn't linked either.

To verify the linking status on the Twitch site, you can visit the campaigns page, and search for any campaign that you'd like to verify the linking status for. Once you expand it, at the very bottom, you'll find a "Connection" section.

If it shows you a green "Connected" status flag, then your account is connected properly and everything should work as you expect: pic1

However, if it shows you a "Connect" button, then your account isn't actually linked properly, and you can press on the button to perform the linking process: pic2

You can verify the linking process was successful afterwards, by checking the campaigns page again.

If Twitch does not want to acknowledge your account as linked, even after trying to link/relink an account, you can try performing a clean reconnect. To do this, you can follow this guide: https://github.com/DevilXD/TwitchDropsMiner/issues/309#issuecomment-1749628379

Battle.net should have no problems dealing with a reconnect without you having to wait, as long as you won't try to use a different Twitch account during the process. Not sure how it works for Palworld though.

Once you resolve the linking issues, you can reload/restart the miner to see the changes take effect. Let me know if you were able to resolve this.

ArchOwlen commented 2 months ago

Both Palworld and Blizzard have successfully let me claim drops without Twitch acknowledging the account is linked properly

I created this issue as a suggestion to allow non-linked games to still be mined, as both Blizzard and Palworld would still let me claim drops if I manually watched them myself outside of TDM

I understand that re-linking would probably solve Blizzard and Twitch's connection, but Palworld didn't update Twitch on its linked status after a few tries Previously, Blizzard also showed as Linked on twitch (like a year ago, before I used TDM) but has become "Unlinked" despite still being linked

Both games have let me claim drops despite showing as Unlinked, so I wish to be able to mine them despite Twitch/TDM showing as Unlinked

DevilXD commented 2 months ago

I wish to be able to mine them despite Twitch/TDM showing as Unlinked

This project won't let you do that, as a linked account status is required for a drop to be considered claimable, and thus mineable. There's no other available and reliable way to determine if a claim operation will lead to the drop actually being claimed on the game account. If you want the miner to function properly, you need to ensure the account is linked properly as well, as that requires you to re-link all campaigns that report their status as not linked.

Adding an option to let the miner mine unlinked campaigns both, has no sense (you have 7 days after a drop is claimed to link the account to actually receive the drop, so you need to do the linking process anyway), and is against the project goals, as it leads to abuse: https://github.com/DevilXD/TwitchDropsMiner?tab=readme-ov-file#project-goals

I won't be adding such an option to the miner. If you don't like this decision, you'll need to look for a different project. I recommend reading the project goals and the discussions it links to at the end, if you'd have trouble understanding this.

ArchOwlen commented 2 months ago

"as a linked account status is required for a drop to be considered claimable" It is linked, but Twitch does not consider it as linked I still receive the drops when manually watching and gaining progress

"you have 7 days after a drop is claimed to link the account to actually receive the drop" I have received Blizzard and Palworld drops without this being the case, as they are linked, but Twitch doesn't identify it This is an untrue statement when referring to Twitch's linked status

"as it leads to abuse" It should not be considered abuse, as it is individual games added to the "Priority" list, thus not being every unlinked account; only those you specify (due to Twitch not identifying games that are actually linked)

I suppose I'll just manually have chrome open in the background, as that still works

DevilXD commented 2 months ago

You're completely missing the point, on all three of those quotes. I absolutely do not care that you're still receiving the drops, and I won't be supporting a case like this in the miner either. The logic is simple: Twitch reports a campaign as linked, the miner mines the drops. Not linked = no mining = no drops. If you want the miner to work, you have to ensure Twitch reports a campaign as linked, and you can do that by following the steps I've described above. If you don't want to do that, then I cannot help you. As I said, you'll need to look for a different project.

The "abuse" is explained in the project goals, under the linked issues. I don't think I need to repeat myself over and over on the explanations, so again, you're welcome to read up on how it leads to abuse there.

I think everything is perfectly clear now.