quer / the-steam-awards

Steam multi account module/event (get updates when event for steam)
95 stars 13 forks source link

need index3 #28

Closed idimo closed 2 years ago

idimo commented 2 years ago

does not vote in the third paragraph

i disabled the use of the api key

is there to make csgo selected at the 3rd?

image

quer commented 2 years ago

it skips the 3, as that the one, where the code use the apikey to find a game that account own. so it can vote and play and review it. if you do not use the apikey, but hardcode a appid in. by replacing line 20 whit var appid = { appid: 730 } and remove line 42

then it skips the hole api part, and just use the api you provide. But from what i can tell, you cant use csgo. i normal also use that game. but if you go to the page, you can see it cant be nominated. So it have to be a other game.

Shashankm007 commented 2 years ago

well we cant nominate csgo this time so i found this game 'the blue box' appid : 739010. but the script is not able to vote it neither it is able to write a review for it.pls check and tell thnx

Shashankm007 commented 2 years ago

it keeps om logging this :

76561199141803221 - afinormye: did not complete the flow. status: ┌─────────┬─────────────────────────────────────┬─────────┐ │ (index) │ massage │ status │ ├─────────┼─────────────────────────────────────┼─────────┤ │ 0 │ 'missing nominations rows' │ '' │ │ 1 │ 'have played the game' │ 'true' │ │ 2 │ 'have create a review for the game' │ 'false' │ └─────────┴─────────────────────────────────────┴─────────┘ { appid: 739010 } vote - 52 - start vote - 52 - end fjerenet created fjerenet

but i am able to make a review for the game manually in steam store

quer commented 2 years ago

the code you have, is it the last version of the code. because, the last version, i stop the game before it make the review. As it somefine first register the game played time. when you stop playing. as you have to have 5 min in the game before you can make a review.

so just by running the script one more time. whit no interval on ( set the idleGameTime to 0 ) so it will only game for 0 sec. as it allready have played the game.

you can also add the console.log(body); on line 143 ( it shoud be there, just remove the // ) then you can see the reponse that steam return when you send the review. Then send me that massage.

idimo commented 2 years ago

it skips the 3, as that the one, where the code use the apikey to find a game that account own. so it can vote and play and review it. if you do not use the apikey, but hardcode a appid in. by replacing line 20 whit var appid = { appid: 730 } and remove line 42

then it skips the hole api part, and just use the api you provide. But from what i can tell, you cant use csgo. i normal also use that game. but if you go to the page, you can see it cant be nominated. So it have to be a other game.

thank you for your answer, but I'm not too good at programming)

could you explain in more detail what needs to be done?

what exactly needs to be changed here?

image

p.s has already changed the lines that you said, the console started to give a lot of errors)

quer commented 2 years ago

i have updated the script, to allow a hardcoded appId. I have not tested it. but it shoud work, So if you set the appid, it will ignore the hole apikey part. Just redownload the module

idimo commented 2 years ago

i have updated the script, to allow a hardcoded appId. I have not tested it. but it shoud work, So if you set the appid, it will ignore the hole apikey part. Just redownload the module

ok what did I do wrong again?

image

quer commented 2 years ago

after som digging. the problem is the code. somehow the endpoint to get the apikey. do not retun the key.

But as you are not use the hole api key part. just remove if(apiKey == null){ apiKey = await GetSteamApiKey(_requestCommunity); } from the file, then it will just ignore that part. then it shoud run

idimo commented 2 years ago

errors are gone, but it skips due to the lack of a key :D

4563456345

idimo commented 2 years ago

but if remove all this

if(apiKey == null){ apiKey = await GetSteamApiKey(_requestCommunity); } if(apiKey == null && MasterKey != "xxxx"){ apiKey = MasterKey; } if(apiKey == null){ console.log(options.accountPretty + " was not able to get apiKey, will be skipped") callback(); return; }

he skips the third paragraph again

image

and gets stuck on it

image

Shashankm007 commented 2 years ago

the script is not able to vote for 3rd award and is not able to play game neither is able to make a review, where as i can review the game manually on steam

quer commented 2 years ago

i know, that the methode, where it get the apikey, is broken. so it will not be able to get the games that the account own. then it cant vote the 3rd, as it will vote the vote on a game you won. and then play it. as you have to play a game you own.

So i use the 3rd, as the one for it...

I have now made a other update to the script. that i can get to work..

as this issue is mixed whit more peaple, plz say what you what. as you can tell, there are 3 way to use this script. What way are you trying to use it?

idimo commented 2 years ago

as this issue is mixed whit more peaple, plz say what you what. as you can tell, there are 3 way to use this script. What way are you trying to use it?

have several accounts on which nothing is selected at all, I'm trying to vote through this script, but no matter how much I try, it's impossible to do it without the api key

I also have a don't starve together game on these accounts, and 100+ hours have been played in it, can the script vote in all points, put "dst" in 3rd place and write a review for it?

I can play the chosen game by running for example asf, this is not a problem

idimo commented 2 years ago

launched an updated script on a clean account, here is the result)

image

launched again

4523634564

idimo commented 2 years ago

if there is access to the account through the "shared secret", can't the script itself access the api key from the account?

or maybe you should add an item with api key in "config.js" as mandatory for each account?

maybe it would solve all the problems?

Shashankm007 commented 2 years ago

hey quer can u personally make a script that can vote all (exception for 3 would be the blue box app id:739010 ), a seperate script for making review (all are new accs , they have a playtime of 30 mins in the blue box game) a review is never made from those accs. I have a script that can play the game.

quer commented 2 years ago

@Shashankm007 i will not make a personally for you. The think that you shoud do, is ensure you have the newest version of the script. and asign var usehardCodeAppId = null; to var usehardCodeAppId = "739010 ";

Then it shoud skip the hole apikey, part. and just use that one in the 3td. and also use that to play, and review. but you have to own that game, on all the account. And can see it is free. but that does not mean that it is on the account. it must be activated first. you can use module ActivateFreeGame.js to active free games to the account, but it just be runed first

@idimo i have tryed to make a update where it will try, i a other way to get the apiKey. but if you have all the keys, and can place them into the config, then see this: https://github.com/quer/the-steam-awards/discussions/17#discussioncomment-1699267 made a small guide, how to do that. Note that the guide was made a few commits ago.

not all have the same problems as you are. most just work. so i will not add/make special cases. if somfing do not match what, you have. you can make a the smale change that you need, in you own program. I do try to make it so as many can use it as possible. but i cant make all happy.

Shashankm007 commented 2 years ago

Hi everyone, i found a way to complete this badge in all accounts with script. first u vote all the nominations using a module attached. then play the game 'the blue box' using a script for atleast 30 mins in all accs so that you are able to review that game. after verifying that the game has a playtime of atleast 30 mins in all accs. run the script to make a review. And voila the badge is level 4. there is no error handling in these scripts so dont try to hard. please monitor them while running. try to get that level 4 badge in all accs. discord me your problems : hashTAG_007#1289

will upload the scripts after 3 hrs as i m not at home rn. thnx for uunderstanding

Shashankm007 commented 2 years ago

[just vote.txt](https://github.com/quer/the-steam-awards/files/7634136/just.vote.txt hourboost.zip make review.txt

use just vote and make review with the quer's app

use game booster seperately

Shashankm007 commented 2 years ago

and pls rename those txt to js :)

quer commented 2 years ago

from what i can tell, all you have to do in my script file to get the same result. Is to set var usehardCodeAppId = { appid: 739010 }; on line 4 and line 7 to 0.

That will force the script to play appid "739010", and stop the script to idle the playing of the game.

quer commented 2 years ago

And use the AllRunGame.js node file. it will run all account at once, and play the app that is definded in var appidToGame = 730;

that project have the "EnsureWeAreDone" so it will run all bots until it is done.

idimo commented 2 years ago

@idimo i have tryed to make a update where it will try, i a other way to get the apiKey. but if you have all the keys, and can place them into the config, then see this: #17 (reply in thread) made a small guide, how to do that. Note that the guide was made a few commits ago.

thank you for your answer, I did as you wrote and it finally solved all the problems

for those who do not understand what needs to be done, and who, like me, have more than one account, I will show you how to do it

in the file "steamawardnominategame_v2.js" adding this "api Key = options.Api Key"

instead of this: "if(apiKey == null){ apiKey = await GetSteamApiKey(_requestCommunity); } if(apiKey == null && MasterKey != "xxxx"){ apiKey = MasterKey; } if(apiKey == null){ console.log(options.accountPretty + " was not able to get apiKey, will be skipped") callback(); return; }"

should turn out like in the screenshot: 1

then in the file "main.js" adding this value "ApiKey: auth.apiKey" in the screenshot clearly showed where 3

and then we enter the fourth parameter "apiKey: "***"" for each account in "config.js " 2

Shashankm007 commented 2 years ago

@quer by running all accs at once it is valid till 10 accs. else u will raise too many req error.

idimo commented 2 years ago

i would really like everything described above to be by default for this script

this would solve all such problems for those who have more than one account

or teach the script to find and use the api key on its own

quer commented 2 years ago

@Shashankm007 the flow i was talking about. is that you run the script normal. but where it only idle the game for 0 sec. so it shoud, giv you all but the play game. on all the account. Then the other script, will just run all the account at once, and play that game, and then stop when all account have unlocked all 4 steps, it will check each 30 sec, for each account, if it is done or not.

@idimo i an not sure if i want it to be default or not, in the script. as it is the onle module that uses the apikey. as there is a other way to get all games that the account own. where you do not need the apikey. But is is a but more complicated to code. but somfing i am looking into.

the script is made to find the apikey by it self, but there have been som problems, whit it. but HenkerX64 have been nice to look into it https://github.com/quer/the-steam-awards/pull/32