-
Notifications
You must be signed in to change notification settings - Fork 2
code_deploy
Le PoGoBot a besoin d'être relié à du code pour fonctionner. Nous verrons dans cette partie comment créer un compte de déploiement distant avec Heroku et copier le code depuis un repository Github.
Si vous êtes en train de lire ce wiki c'est que vous avez atteint la page de Github. Je vous invite à créer un compte utilisateur sur Github et rejoindre mon repository
Si mon travail vous plait vous pouvez ajouter une "star" (en haut à droite), c'est un peu le pousse bleu des geeks. ;)
En haut à gauche vous trouverez un bouton fork qui vous redirige vers une page similaire mais dont le repository a changé de nom. Au lieu de 12rambau/pogoBot vous êtes désormais sur [votre_nom_de_repo]/poGoBot. Pour les curieux vous avez maintenant une copie personnelle (puisque c'est sur votre repo) de mon travail. Elle pourra être mise à jour en cas de nouvelle version.
Heroku est une plateforme de virtualisation qui va nous permettre de faire tourner le bot quasiment toute la journée sans avoir à se soucier de l'alimentation ou du fonctionnement comme sur un ordinateur personnel. Commencez par vous créer un compte sur le site officiel d'Heroku
Si vous avez déjà un serveur et que vous comptez lancer le bot directement, pas besoin de tenir compte des indications sur Heroku.
Nous voilà donc sur la page de lancement d'Heroku.
Ce coup ci je ne vous ai pas mis les flèches rouges mais c'est évident, nous allons créer une application Python.
Cliquez donc sur python puis sur create new app et donnez lui le nom que vous voulez.
Assurez vous de rester dans la bonne zone (Europe/US)
Vous devriez atterrir sur une page de ce type :

Dans deployement method, choisissez GitHub et réalisez les opérations de connexion (Connect to Github -> Authorized Github)
Trouvez et sélectionnez le nom du repository que nous avons crée dans la section précédente.

Passez ensuite à la tuile suivante et sélectionnez la branch release pour réaliser votre deploiement automatique.

Pour le premier déploiement, utiliser le déploiement manuel mais toujours sur la branch release.
Sous la fenêtre précédente va s'ouvrir une invite de commande qui va installer toutes les dépendances liées au projet et effectuer les vérifications d'usage. Si tout se passe comme prévu votre app doit être déployée.
Dans le cas contraire, merci de le rapporter une issue dans le projet en décrivant le bug.
Pour interagir avec vos utilisateurs, le code doit savoir quel bot lancer et sur quel serveur il se trouve.
Le token est la clef qui permet au code de connaître l'identité du bot.
Retournez dans la liste des apps discord puis dans votre app. Dans la tuile bot, cliquez sur reveale token

⚠️ Attention, ce token doit toujours rester secret. Sinon, vous pouvez le régénérer en cliquant sur generate new token. Il faudra ensuite le changer sur Heroku.
Copier la clé et retournez dans les settings de votre app sur Heroku. Cliquez sur reveal config var et entrez votre token dans une variable d’environnement que vous nommerez DISCORD_TOKEN

Pour communiquer avec notre serveur, PoGoBot a besoin de connaître son id.
Retourner sur Discord et faites un clic droit sur le nom de votre salon et cliquez sur copier id.

Si vous n'obtenez pas le menu
copier l'id, aller dans les paramètres de votre profil (tout en bas à gauche) et dans apparence activez le mode développeur.
Cette clé est à rajouter comme la précédente dans une variable d’environnement : DISCORD_SERVER_ID

Dans Heroku cliquez sur le menu overview de votre app. Normalement la tuile dyno formation vous indique que votre app n'a pas démarré, les dynos sont sur off.
Pour la faire démarrer cliquez sur configure dynos et dans free dynos editez bot pour le lancer sur un dyno puis cliquez sur confirm.

RDV dans la page d'accueil de votre serveur Discord puis dans le salon #general ou #accueil tapez la commande !cookie.
Si le bot vous répond par le nombre de cookie, il est alors parfaitement opérationnel et online.
Pour de plus amples renseignements sur la gestion de l'horloge du dyno (car vous ne pourrez pas le laisser allumé toute la journée tous les jours, le plus simple est de le couper pendant la nuit) je vous invite à lire cette page
Pour découvrir toutes les fonctionnalités du bot : doc utilisateur.
