Skip to content
Nanalith edited this page Mar 13, 2018 · 6 revisions

Déploiement du code du PoGoBot

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.

Github

Connexion à un répertoire 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

Création d'un compte Heroku

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.

Création de l'app

Nous voilà donc sur la page de lancement d'Heroku. heroku_start 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 : start_heroku_app

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. connect_to_github_repo

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

Pour le premier déploiement, utiliser le déploiement manuel mais toujours sur la branch release. manual_deploy 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é. Dans le cas contraire, merci de le rapporter une issue dans le projet en décrivant le bug.

Config

Pour interagir avec vos utilisateurs, le code doit savoir quel bot lancer et sur quel serveur il se trouve.

Discord token

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 discord_bot_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 clef 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 heroku_discord_token

Discord serveur id

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. id_copy

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 utilisateur. user_mode

Cette clef est à rajouter comme la précédente dans une variable d’environnement : DISCORD_SERVER_ID heroku_discord_server_id

Lancement du serveur

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. activate_dyno

Vérification

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

Clone this wiki locally