tzhf / chatguessr

A Twitch chatbot for GeoGuessr.
https://chatguessr.com
MIT License
38 stars 9 forks source link

Don't allow using !me after guessing during a round #73

Closed JanosGeo closed 3 days ago

JanosGeo commented 1 month ago

There is an exploit that can be used with the !me-command. After making a guess, !me will include information about the guess

If multiguess is turned on, then this information can be used to alter the guess!

This commit fixes this exploit by rejecting the !me-command after guessing during an active round (active being determined whether the 'BROADCASTER' has guessed or not).

Feel free (as always) to make changes as necessary.

ReAnnannanna commented 3 weeks ago

The way I intended it to work in the previous version was that !me would exclude any data from the current round. So you could use it at any time but it would execute as if no guess had been made yet. I'm not sure if it ever actually did work like that...

I think this is an acceptable (and probably easier) way to approach it though.

tzhf commented 3 weeks ago

I'm not at home so i can't test it but as Reanna said i'm pretty sure !me used to exclude the current round, maybe it's not the case anymore since the new db request for the specific timeframe ?

JanosGeo commented 1 week ago

The way I intended it to work in the previous version was that !me would exclude any data from the current round. So you could use it at any time but it would execute as if no guess had been made yet. I'm not sure if it ever actually did work like that...

I think this is an acceptable (and probably easier) way to approach it though.

I'm not at home so i can't test it but as Reanna said i'm pretty sure !me used to exclude the current round, maybe it's not the case anymore since the new db request for the specific timeframe ?

It was a while ago now that I looked into this, and when I decided to investigate it a bit more I couldn't reproduce the current streak number being increased or reset after the user guessed, and reading the code, it shouldn't get updated after the user guessed (so at least that makes sense).

The

all seem to be updated though.