With this simple app you can generate as many GeoGuessr challenges as you want (given you have a premium account).
Python:
- Version >= 3.6
- Discord
pip3 install discord
- Selenium
pip3 install selenium
- geckodiver somewhere in your path (for example /usr/bin)
Discord:
- An app (and a bot).
- A server ready to welcome your Bot.
GeoGuessr:
- A premium account (only 25€/yr).
Documentation (optional):
- sphinx
pip3 install sphinx
- a nice theme
pip3 install sphinx_rtd_theme
To generate the documentation type make doc
at the root of the project.
A command is the combination of two methods handle
and usage
(see CommandExample.py).
To add a new command, add a new MyCommand.py
in the commands directory with the same format
as the one described in CommandExample.py.
In BotGeoguessr.py
you can find a line reading TOKEN = os.environ["GEOGUESSR_TOKEN"]
.
For this line to make any sense, you have to have an environment variable with this name.
If you don't want to use an environment variable, just set TOKEN = "your_token"
. You can find it
here.
In Utils.py
there are two lines mail = os.environ["MAIL"]
(can be set via command line with the flag -u
) and password = os.environ["PASSWD"]
.Same idea as with the TOKEN, either set environment variables, or just replace both fields with both your mail and password. Finally, set login method below login_method = LoginMethod.GOOGLE
(can be set via command line with the flag -lm
) to whatever you use (you can find the list in LoginMethod.py).
If you ever encounter this error, reboot the bot and wait a bit (like 30 seconds) before using it.
If you can't sign in your geoguessr account using Google, then you will have to switch your account type (send a mail to the GeoGuessr team, they'll switch you account to a normal GeoGuessr account in less than a day). This happens because Google tries to limit automatic login as much as possible (probably in an effort to fight against spam bots). Note that before changing your login method you should make sure this is the issue by debugging as explained below.
Make sure everything is up-to-date and then raise it! To raise an issue, you can pre-debug by yourself to help me figure the issue out. To do so, go in BotGeoguessr.py
and set the line options.headless = True
to False and then restart the bot (make sure to be on a computer with a graphical interface!). That way, you will be able to pinpoint the exact moment when the bot fails.
Permet de générer facilement des parties GeoGuessr (nécessite GeoGuessr premium).
Python:
- Version >= 3.6
- Discord
pip3 install discord
- Selenium
pip3 install selenium
Discord:
- Une application (et un bot).
- Un serveur pour l'utiliser.
GeoGuessr:
- Un compte premium.
Documentation:
- sphinx
pip3 install sphinx
- un thème sympa
pip3 install sphinx_rtd_theme
Pour générer la documentation make doc
à la racine du projet.
Une commande est la combinaison d'une fonction handle
et d'une fonction usage
(voir CommandExample.py).
Pour ajouter une nouvelle commande il suffit de créer un fichier MyCommand.py
dans le dossier commands en
respectant le format donné dans CommandExample.py.
Dans BotGeoguessr.py
il y a la ligne TOKEN = os.environ["GEOGUESSR_TOKEN"]
.
Pour qu'elle fonctionne il faut créer une variable d'environement avec ce nom.
Si vous ne voulez pas utiliser de variables d'environement, remplacez la ligne par
TOKEN = "your_token"
. Votre TOKEN se trouve ici.
Dans Utils.py
il ya ces deux lignes mail = os.environ["MAIL"]
(peut être passé en ligne de commande avec le flag -u
) et password = os.environ["PASSWD"]
. Comme pour le TOKEN, soit définissez des variables d'environement, ou remplacez les deux champs par votre mail et votre mot de passe. Enfin, choisissez votre méthode de login juste en dessous avecl a variable login_method = LoginMethod.GOOGLE
(peut être passé par ligne de commande avec le flag -lm
) (la liste des possibilités est dans LoginMethod.py).
Si vous avez cette erreur, relancez le bot et attendez quelques secondes avant de l'utiliser (~30 secondes).
Si vous n'arrivez pas à vous connecter à votre compte GeoGuessr avec l'option "se connecter avec Google", il va falloir changer de type de compte (pour ce faire il suffit d'envoyer un mail à l'équipe GeoGuessr, ils vous feront le changement en moins de 24h). Ce problème survient car Google essaie de limiter les connexions automatiques au maximum (probablement pour lutter contre les bot qui spamment). Bien sûr, avant d'envoyer un mail, penser à bien vérifier que c'est le problème que vous rencontrez en débuggant comme expliqué en dessous.
Assurez-vous que tout est à jour puis signalez le! Pour signaler un problème, vous pouvez faire un
petit debug préalable pour m'aider. Pour cela, dans BotGeoguessr.py
vous pouvez mettre la ligne
options.headless = True
à False, puis relancer le bot (assurez vous d'être sur un pc avec une interface graphique!). Comme cela vous allez pouvoir vois à quel moment le bot a un problème.