Partage
  • Partager sur Facebook
  • Partager sur Twitter

[PROJET] Bot Discord API Arret de Bus

Sujet résolu
    27 mars 2019 à 11:46:58

    Bonjour

    Je me suis lancé dans un petit projet qui permet quand on tape une commande dans un serveur discord, celui la permet d'afficher les horaires d'une station de bus. J'ai déjà fait un petit bot quand on fait une commande cela envoie une image via une API. 

    Voici le code en Java pour le moment:

    Lien du tuto qui m'a aidé: https://www.youtube.com/watch?v=RLfW_1W8I8U&t=7s

    Merci d'avance

    -
    Edité par Monocop 27 mars 2019 à 23:11:46

    • Partager sur Facebook
    • Partager sur Twitter
      27 mars 2019 à 12:01:12

      Hello sympa l'idée, par contre je vois pas la question

      D'ou ma question :

      Il y a question ?

      Sinon super idée, bon courage pour la réalisation de ce projet

      • Partager sur Facebook
      • Partager sur Twitter

      Dans le monde il y a 10 types de personnes, ceux qui comprennent le binaire, et les autres.

        27 mars 2019 à 12:03:59

        Giroux_Kevin a écrit:

        Hello sympa l'idée, par contre je vois pas la question

        D'ou ma question :

        Il y a question ?

        Sinon super idée, bon courage pour la réalisation de ce projet


        Je ne sais pas trop comment faire car API de la RATP est un peu complexe pour mettre dans un programme JAVA pour discord. Donc j'aurais besoins d'aide pour cela
        • Partager sur Facebook
        • Partager sur Twitter
          27 mars 2019 à 12:06:44

          Petite note : tu n'utilises pas du Java mais du Javascript ici. Les deux langages sont totalement différents.
          • Partager sur Facebook
          • Partager sur Twitter
            27 mars 2019 à 12:07:41

            Alors je sais pas pour les API RATP, mais regarde peut être coté API Citymapper qui eux propose des API :

            https://citymapper.com/tools/1063/api-for-robots

            -
            Edité par Giroux_Kevin 27 mars 2019 à 12:08:47

            • Partager sur Facebook
            • Partager sur Twitter

            Dans le monde il y a 10 types de personnes, ceux qui comprennent le binaire, et les autres.

              27 mars 2019 à 12:10:45

              Giroux_Kevin a écrit:

              Alors je sais pas pour les API RATP, mais regarde peut être coté API Citymapper qui eux propose des API :

              https://citymapper.com/tools/1063/api-for-robots

              -
              Edité par Giroux_Kevin il y a moins de 30s


              Enfaite j'ai API de la RATP mais je ne sais pas comment l'utiliser et afficher correctement dans mon script
              • Partager sur Facebook
              • Partager sur Twitter
                27 mars 2019 à 12:18:49

                Bonjour,

                Mauvais forum

                Le sujet est déplacé de la section Langage Java vers la section Javascript

                Merci d'utiliser la balise code Image

                Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour cela, il faut utiliser le bouton Image de l'éditeur, choisir un des langages proposés et coller votre code dans la zone prévue. Si vous utilisez l'éditeur de messages en mode Markdown, il faut utiliser les balises <pre class="brush: java;">Votre code ici</pre>.

                Mauvais titre

                Le titre est un élément important qui ne doit pas être négligé. N'oubliez pas cette règle simple : le titre idéal résume la question que vous allez poser en une petite phrase. Il doit permettre aux visiteurs de se repérer facilement dans le forum visité et d'identifier le sujet à sa seule lecture.

                Vous pouvez utiliser divers préfixes comme [Erreur], [MySQL], [Compatibilité], etc... Aussi, pensez à consulter les règles propres à chaque forum (visibles dans les topics épinglés en haut des sections).

                De plus, choisir un bon titre permet de rendre plus faciles les recherches des autres membres.

                Les titres de type "besoin d'aide" ou "problème" ne sont pas tolérés.

                Pour modifier votre titre, éditez le premier message de votre sujet.

                (titre originel : BOT DISCORD JavaScript)

                • Partager sur Facebook
                • Partager sur Twitter

                Pas d'aide concernant le code par MP, le forum est là pour ça :)

                  27 mars 2019 à 12:33:03

                  J'ai réussi à mettre en place mon API mais maintenant, je ne sais pas comment l'afficher sur discord.

                  {
                      "result": {
                          "schedules": [
                              {
                                  "message": "13 mn",
                                  "destination": "Pont de Neuilly-Metro"
                              },
                              {
                                  "message": "32 mn",
                                  "destination": "Pont de Neuilly-Metro"
                              },
                              {
                                  "message": "15 mn",
                                  "destination": "Pont de Neuilly-Metro"
                              },
                              {
                                  "message": "34 mn",
                                  "destination": "Pont de Neuilly-Metro"
                              }
                          ]
                      },
                      "_metadata": {
                          "call": "GET /schedules/bus/157/boulevard+de+la+seine/R",
                          "date": "2019-03-27T12:28:39+01:00",
                          "version": 3
                      }
                  }



                  • Partager sur Facebook
                  • Partager sur Twitter
                    27 mars 2019 à 12:46:55

                    Tu peux utiliser la fonction JSON.parse pour transformer le résultat de ton API en objet Javascript tout d'abord.

                    Ensuite tes valeurs seront accessibles comme ça : objet.result.schedules[i].message, avec i allant de 0 à 3.

                    -
                    Edité par r00tKiller 27 mars 2019 à 12:47:05

                    • Partager sur Facebook
                    • Partager sur Twitter
                      27 mars 2019 à 18:02:32

                      r00tKiller a écrit:

                      Tu peux utiliser la fonction JSON.parse pour transformer le résultat de ton API en objet Javascript tout d'abord.

                      Ensuite tes valeurs seront accessibles comme ça : objet.result.schedules[i].message, avec i allant de 0 à 3.

                      -
                      Edité par r00tKiller il y a environ 5 heures


                      je n'ai pas trop comprit, pour l'instant j'ai fait ça :

                      const Discord = require("discord.js");
                      const superagent = require("superagent");
                      
                      module.exports.run = async (bot, message, args) => {
                          let { body } = await superagent.get(`https://api-ratp.pierre-grimaud.fr/v3/schedules/bus/157/boulevard+de+la+seine/R`);
                      
                          let catEmbed = new Discord.RichEmbed()
                              .setColor('#d643c')
                              .setTitle('Les horaires du bus sont: ')
                              .addField(body);
                          
                          message.channel.send(catEmbed);      
                      
                      };
                      
                      module.exports.help = {
                          name: 'bus'
                      };

                      Mais bon cela ne m'affiche rien pour le moment

                      • Partager sur Facebook
                      • Partager sur Twitter
                        27 mars 2019 à 21:36:26

                        let { body } = await superagent.get(`https://api-ratp.pierre-grimaud.fr/v3/schedules/bus/157/boulevard+de+la+seine/R`);
                        
                          let parsed = await JSON.parse(JSON.stringify(body))
                          if(!body) return;
                        
                        
                          for (i = 0; i < body.result.schedules.length; i++) {
                            if(body.result.schedules[i].message){
                        console.log(nouveau.replace('undefined',''))
                        
                            }
                            else {
                        
                            }
                        
                        
                        
                        }
                        Apres a toi de changer le console.log() par ton truc, mais tu vois ce que je veux dire.

                        -
                        Edité par ZernaxDesigns 27 mars 2019 à 21:37:01

                        • Partager sur Facebook
                        • Partager sur Twitter
                          27 mars 2019 à 23:11:08

                          J'ai enfin fini:

                          Voici le résultat: https://i.imgur.com/foAbEWX.png

                          Le code: 

                          const Discord = require("discord.js");
                          const fetch = require("node-fetch");
                          
                          module.exports.run = async (bot, message, args) => {
                              const { result } = await fetch('https://api-ratp.pierre-grimaud.fr/v3/schedules/bus/157/boulevard+de+la+seine/R').then(res => res.json())
                              const horaires = result.schedules.slice(0,2)
                              const catEmbed = new Discord.RichEmbed()
                                  .setColor('#d643c')
                                  .setTitle('Les horaires du bus 157 sont: ');
                              horaires.forEach(passage => {
                                  catEmbed.addField('Passage dans :', passage.message)
                              })
                          
                              message.channel.send(catEmbed)
                          
                          };
                          
                          module.exports.help = {
                              name: 'bus'
                          };

                          Merci pour votre aide

                          • Partager sur Facebook
                          • Partager sur Twitter

                          [PROJET] Bot Discord API Arret de Bus

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                          • Editeur
                          • Markdown