Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support new challenge mode #3

Open
5l1v3r1 opened this issue Dec 28, 2020 · 6 comments
Open

Support new challenge mode #3

5l1v3r1 opened this issue Dec 28, 2020 · 6 comments
Labels
enhancement New feature or request

Comments

@5l1v3r1
Copy link

5l1v3r1 commented Dec 28, 2020

Even with the name or quiz id, the script does not work.
For example
https://kahoot.it/challenge/06036100?challenge-id=11d905ab-fe8e-471c-a069-24bcf77384d1_1609096387623
take a look at this one.
pin is 06036100
and id is 11d905ab-fe8e-471c-a069-24bcf77384d1_1609096387623
the script authenticates successfully but even with the id or the name, everytime it says Pin does not exist.

@5l1v3r1
Copy link
Author

5l1v3r1 commented Dec 28, 2020

In debug mode: output will go brrrrrrrrrrrr
AUTHENTICATED
Traceback (most recent call last):
File "./kbot", line 100, in
user.checkPin()
File "/root/Desktop/kahoot-answer-bot-master/klib.py", line 266, in checkPin
self.error(f"Pin {self.pin} does not exist.")
File "/root/Desktop/kahoot-answer-bot-master/klib.py", line 40, in error
raise KahootError(err)
klib.KahootError: Pin 05248867 does not exist.

@Raymo111
Copy link
Owner

It seems that challenges are a new mode of Kahoots that came out this year. They appear to use a protocol different from regular Kahoots. I'll have to do a bit of WSS reverse engineering. Shouldn't be too much of an issue I don't think.

@Raymo111 Raymo111 added the bug Something isn't working label Dec 30, 2020
@Raymo111
Copy link
Owner

Hmm so it seems like Kahoot isn't using WSS at all for the new challenge type. It's using REST. I actually have no idea how to implement the new protocol. You can still use the lookup feature by quizID (everything before the underscore, i.e. 11d905ab-fe8e-471c-a069-24bcf77384d1). In your specific case it doesn't work because the Kahoot was private.

@Raymo111 Raymo111 removed the bug Something isn't working label Dec 30, 2020
@Raymo111 Raymo111 changed the title Pin does not exist error Support new challenge mode Dec 30, 2020
@Raymo111 Raymo111 added the enhancement New feature or request label Dec 30, 2020
@theusaf
Copy link

theusaf commented Jan 28, 2021

Just commenting on the previous comment. The id listed in the link is the challenge id, which is different from the quiz id. Another interesting thing about challenges is that the entire quiz, even if the quiz is private, is sent through the REST APIs.

@Raymo111
Copy link
Owner

@theusaf interesting. Would you mind taking a shot at it? If you do make a PR and I'll merge it.

@theusaf
Copy link

theusaf commented Jan 28, 2021

I have already implemented challenges in my NodeJS package kahoot.js-updated, but I'm working on documenting the API to allow for easy implementation in other languages.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants