Windows200000 / TwitchDropsMiner-updated

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

TDM not farming a drop it should farm (Elder Scrolls Online) #98

Open notNSANE opened 3 weeks ago

notNSANE commented 3 weeks ago

image

About the drop: https://www.elderscrollsonline.com/en-us/news/post/66159

image

This drop is stuck there in TDM for an entire day I think.

zelda0079 commented 3 weeks ago

I cannot find this twitch drop, Gold Road PC Launch should be gotten from all channel.

image

notNSANE commented 3 weeks ago

I can only get it on that specific channel

image

Windows200000 commented 3 weeks ago

@notNSANE Maybe because he isn't streaming elder scrolls?

https://www.twitch.tv/inwils/schedule

notNSANE commented 3 weeks ago

as mentioned, the twitch drop is enabled for all streamers, but I can only get it from one. Something weird is happening.

Windows200000 commented 3 weeks ago

@notNSANE Do you have screenshots from the inventory and channels list?

notNSANE commented 3 weeks ago

image

already posted the others

Windows200000 commented 3 weeks ago
"allow":{
     "channels":"None",
     "isEnabled":false,
     "__typename":"DropCampaignACL"
}

@notNSANE I apologize for being dismissive, you are correct, the campaign does not have a channel requirement. This is straight from the GQL request, which I assume should directly be what determined allowed channels in TDM.

I made an account for Elder Scrolls to check, and don't have the same issue: image

Is it possible, that they changed the campaign between you making this and me testing it? If not, I frankly don't know what could a random channel requirement showing up where there is none. The only thing I can imagine is some sort of region locking, but I don't know why some government would want you to only get this drop from a specific, yet seemingly random streamer.

notNSANE commented 3 weeks ago

It's OK, it's very confusing. I'm not sure what happened and yes, it happened only to me specifically it seems. Region lock, no, I had read several TOS from them previously and they're OK. Besides, I've been farming their drops for years.

I just wanted to report this since it's very very peculiar and I think it needs to be documented somehow.

Windows200000 commented 3 weeks ago

@notNSANE Do you still have the issue? Could you run it from source and with a print on line 1616 in twitch.py? (Should be valuable, even if you have completed the drop, since it fetches its info anyway.)

async def fetch_campaigns(
        self, campaigns_chunk: list[tuple[str, JsonType]]
    ) -> dict[str, JsonType]:
        campaign_ids: dict[str, JsonType] = dict(campaigns_chunk)
        auth_state = await self.get_auth()
        response_list: list[JsonType] = await self.gql_request(
            [
                GQL_OPERATIONS["CampaignDetails"].with_variables(
                    {"channelLogin": str(auth_state.user_id), "dropID": cid}
                )
                for cid in campaign_ids
            ]
        )
        print(response_list)
        fetched_data: dict[str, JsonType] = {
            (campaign_data := response_json["data"]["user"]["dropCampaign"])["id"]: campaign_data
            for response_json in response_list
        }
        return self._merge_data(campaign_ids, fetched_data)

You have to use .\run_dev.bat with console, because VS Code cuts it off.

It may contain some information you might not want to share, but you can format the JSON with indents etc, search for Elder and then provide that part, similar to https://github.com/Windows200000/TwitchDropsMiner-updated/issues/101#issuecomment-2155297199. That will allow me to look at the raw drop data TDM receives and see if the issue is on the side of twitch or TDM.