MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Envoyer un message sur Discord quand un serveur Minecraft est ouvert

    Planifier Épinglé Verrouillé Déplacé Le salon libre
    70 Messages 3 Publieurs 204 Vues 3 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • OrgeAlexj06O Hors-ligne
      OrgeAlexj06
      dernière édition par

      Bonsoir à toutes et à tous, je recherche depuis longtemps un moyen d’envoyer automatiquement un message sur discord quand mon serveur Minecraft est ouvert.
      Merci de votre aide
      Bonne soirée

      1 réponse Dernière réponse Répondre Citer 0
      • robin4002R Hors-ligne
        robin4002 Moddeurs confirmés Rédacteurs Administrateurs
        dernière édition par

        Bonsoir,
        Discord permet d’envoyer un message via des webhooks, il est donc plutôt simple de faire un mod ou plugin permettant d’envoyer un message.

        Ton serveur est en quelle version ?

        OrgeAlexj06O 1 réponse Dernière réponse Répondre Citer 0
        • OrgeAlexj06O Hors-ligne
          OrgeAlexj06 @robin4002
          dernière édition par

          @robin4002 1.12.2

          1 réponse Dernière réponse Répondre Citer 0
          • robin4002R Hors-ligne
            robin4002 Moddeurs confirmés Rédacteurs Administrateurs
            dernière édition par

            Ok et tu as un serveur sous bukkit ou sous forge ou sponge (ou sous un système gérant mod + plugin) ?

            OrgeAlexj06O 1 réponse Dernière réponse Répondre Citer 0
            • OrgeAlexj06O Hors-ligne
              OrgeAlexj06 @robin4002
              dernière édition par

              @robin4002 Je suis sous Magma (mods + plugins) :grinning_face_with_big_eyes:

              1 réponse Dernière réponse Répondre Citer 0
              • robin4002R Hors-ligne
                robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                dernière édition par robin4002

                Ok donc pleins de possibilité.
                Tu sais faire des mods ?

                Si oui, tu peux facilement faire un mod pour réaliser ce que tu veux, il suffit d’utiliser l’event FMLServerStartedEvent dans la classe principale :

                    @EventHandler
                    public void onServerStart(FMLServerStartedEvent event)
                    {
                
                    }
                

                et de mettre dedans un appel POST vers un webhook discord.
                https://www.baeldung.com/httpurlconnection-post

                Pour l’url, il faut aller sur le salon discord que tu souhaites, aller dans intégration et cliquer sur webhook.
                Ensuite tu en ajoutes un et tu cliques sur copier l’url du webhook :
                2fd7f145-ed3f-42fc-a1ac-3604c7162d31-image.png

                OrgeAlexj06O 1 réponse Dernière réponse Répondre Citer 1
                • OrgeAlexj06O Hors-ligne
                  OrgeAlexj06 @robin4002
                  dernière édition par

                  @robin4002 Merci, je vais test, je vais faire la base du mod et je te dis ça plus tard 👍 Il y a aussi un code pour quand le serveur s’arrête ? Merci

                  robin4002R 1 réponse Dernière réponse Répondre Citer 0
                  • robin4002R Hors-ligne
                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs @OrgeAlexj06
                    dernière édition par

                    Idem mais avec FMLServerStoppedEvent ^^

                    OrgeAlexj06O 1 réponse Dernière réponse Répondre Citer 0
                    • OrgeAlexj06O Hors-ligne
                      OrgeAlexj06 @robin4002
                      dernière édition par

                      @robin4002 Et je dois le mettre dans la classe principale ? Car là, j’ai des erreurs :astonished_face: Il y a-t-il des chose à modifier, car je ne suis pas trop dans le domaine de la programmation. Merci

                      1 réponse Dernière réponse Répondre Citer 0
                      • robin4002R Hors-ligne
                        robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                        dernière édition par

                        Oui c’est bien dans la classe principale. Fais voir ton code ?

                        OrgeAlexj06O 1 réponse Dernière réponse Répondre Citer 0
                        • OrgeAlexj06O Hors-ligne
                          OrgeAlexj06 @robin4002
                          dernière édition par OrgeAlexj06

                          Ce message a été supprimé !
                          1 réponse Dernière réponse Répondre Citer 0
                          • robin4002R Hors-ligne
                            robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                            dernière édition par robin4002

                            Normal, il faut échapper le guillemet du json.
                            Ensuite il faut aussi adapter le contenu : https://discord.com/developers/docs/resources/webhook#execute-webhook

                            Par exemple :

                            String jsonInputString = "{\"username\":\"Server status notifier\",\"content\":\"Le serveur vient de démarrer!\"}";
                            
                            OrgeAlexj06O 1 réponse Dernière réponse Répondre Citer 0
                            • OrgeAlexj06O Hors-ligne
                              OrgeAlexj06 @robin4002
                              dernière édition par

                              @robin4002 Ok, j’ai modifier la ligne de code et j’ai ajouter le texte de notif que je voulais. J’ai maintenant une erreur con.getOutputStream (l.59) et à jsonInputString (l.60). J’ai essayé de passer la souris dessus pour voir si je pouvais corriger quelques chose, mais en dirai que non. 😧

                              1 réponse Dernière réponse Répondre Citer 0
                              • robin4002R Hors-ligne
                                robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                                dernière édition par

                                C’est pas juste un try catch qui manque ? C’est quoi l’erreur indiqué ?

                                OrgeAlexj06O 1 réponse Dernière réponse Répondre Citer 0
                                • OrgeAlexj06O Hors-ligne
                                  OrgeAlexj06 @robin4002
                                  dernière édition par

                                  @robin4002 pour le jsonInputString ca me met “cannot be resolved” avec “create local variable”, “create field”… mais pas de try catch. Et le con.getOutputStream ca me met l’erreur “Type mismatch: cannot convert from java.io.OutputStream to org.omg.CORBA.portable.OutputStream” avec possibilité de “add cast to OutputStream” et "chang type of ‘os’ to ‘OutputStream’

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • robin4002R Hors-ligne
                                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                                    dernière édition par

                                    Tu as importé le mauvais OutputStream, retire l’importation org.omg.CORBA.portable.OutputStream et remplaces par java.io.OutputStream.
                                    Pour jsonInputString je ne sais pas ce que tu as fais pour avoir cette erreur, renvoies tout ton code.

                                    OrgeAlexj06O 1 réponse Dernière réponse Répondre Citer 0
                                    • OrgeAlexj06O Hors-ligne
                                      OrgeAlexj06 @robin4002
                                      dernière édition par robin4002

                                      Ce message a été supprimé !
                                      1 réponse Dernière réponse Répondre Citer 0
                                      • robin4002R Hors-ligne
                                        robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                                        dernière édition par

                                        Ah oui, c’est tout con.
                                        C’est parce que dans un de mes précédents messages j’ai écrit jsonInString au lieu de jsonInputString x).
                                        Il faut simplement que tu changes le nom de la variable à la ligne 58.

                                        OrgeAlexj06O 1 réponse Dernière réponse Répondre Citer 0
                                        • OrgeAlexj06O Hors-ligne
                                          OrgeAlexj06 @robin4002
                                          dernière édition par

                                          @robin4002 Ok, et maintenant, je peux mettre un throws ou un try catch, je met le try catch ?

                                          1 réponse Dernière réponse Répondre Citer 0
                                          • robin4002R Hors-ligne
                                            robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                                            dernière édition par

                                            Les deux fonctionnent, donc peu importe.

                                            OrgeAlexj06O 1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 2 / 4
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB