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 @robin4002
      dernière édition par

      @robin4002 C’est bon, ça marche, et encore… Merci pour tout !!!

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

        @robin4002 Bonjour, j’ai encore un petit problème à ce sujet, quand un joueur allume le jeu avec ce mod, ca envoie aussi le message. Je veux que ce soit juste un mod “serveur” que les gens peuvent se connecter sans l’avoir dans le dossier mod. Est-ce possible ? Merci de ton aide 😉

        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

          Heu oui, faut pas le donner au client ce mod ! Il ne doit que être installé sur le serveur.

          Et effectivement, j’ai oublié de te préciser qu’il faut que tu ajoutes serverSideOnly = true dans la partie @Mod(modid = "tonmodid", name = "tonnom", version = "1.0.0", <ICI>)

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

            @robin4002 Ok, merci beaucoup, car avec cette histoire de serveur, je suis un peu pommer, aussi sur un autre point mais je ferai un nouveau post je pense 😉

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

              @orgealexj06 Salut, compte tu mettre ton mod à disposition dans le futur ou non ? Car j’aime vraiment beaucoup le principe et cela peut être très utile (avec un moyen de changer l’url du webhook ou autre), merci d’avance !

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

                @imperomaximo Je verrai, je te dirai ça 😉

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

                  @orgealexj06 Merci beaucoup :beaming_face_with_smiling_eyes:

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

                    @robin4002 Bonjour,
                    Je voudrais savoir comment faire pour envoyer le message quand une commande est envoyer. J’ai créer un plugin maintenance et je voudrai que ca envoie un message au début et a la fin de la maintenance mais je ne sais pas comment faire…
                    Merci de ton aide 😉
                    Bonne fin de journé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

                      tu peux suivre ce tutoriel pour créer une commande : https://www.minecraftforgefrance.fr/topic/4471/créer-une-commande

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

                        @robin4002 Ok,merci, le morceau de code que j’ai mis à partir du onServerStarted, je peux le mettre dans un plugin ?
                        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.

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

                            @robin4002 Bonjour,
                            Je voudrai poser une autre questions qui pourrai aider moi et d’autres personnes qui peuvent suivre ce post. Quand le mod envoie le messages sur Discord, les messages s’accumule. A-t-il un moyen de supprimer à chaque fois le dernier message avant de poster le nouveau. Ce n’est pas forcement dérangeant mais c’est plus rapide et plus clean. 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 robin4002

                              https://discord.com/developers/docs/resources/webhook#delete-webhook-message
                              Il a bien un webhook pour supprimer un message, mais il faut l’id du message donc il faudrait regarder en mémoire cette id lors que le message est posté.

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

                                @robin4002 Ok, je verrai ça, et encore une petite chose, j’ai revu mon mod que j’avais un peu délaisser et mtn, il fonctionne plus, ai-je supprimer un truc sans faire exprès ?

                                package fr.orgealexj06.serverstatus;
                                
                                import java.io.BufferedReader;
                                import java.io.InputStreamReader;
                                import java.io.OutputStream;
                                import java.net.HttpURLConnection;
                                import java.net.URL;
                                
                                import org.apache.logging.log4j.Logger;
                                
                                import com.google.gson.JsonObject;
                                
                                import net.minecraftforge.common.MinecraftForge;
                                import net.minecraftforge.event.entity.minecart.MinecartEvent;
                                import net.minecraftforge.fml.common.Mod;
                                import net.minecraftforge.fml.common.Mod.EventHandler;
                                import net.minecraftforge.fml.common.Mod.Instance;
                                import net.minecraftforge.fml.common.SidedProxy;
                                import net.minecraftforge.fml.common.event.FMLInitializationEvent;
                                import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
                                import net.minecraftforge.fml.common.event.FMLServerStartedEvent;
                                import net.minecraftforge.fml.common.event.FMLServerStoppedEvent;
                                
                                @Mod(modid = ServerStatusMod.MODID, name = "ServerStatus", version = "1.0", acceptedMinecraftVersions = "[1.12.2]")
                                public class ServerStatusMod {
                                		
                                	public static final String MODID = "serverstatus";
                                	
                                	@Instance(ServerStatusMod.MODID)
                                	public static ServerStatusMod instance;
                                	
                                	@SidedProxy(clientSide = "fr.orgealexj06.serverstatus.ServerStatusClient", serverSide = "fr.orgealexj06.serverstatus.ServerStatusServer")
                                    public static ServerStatusCommon proxy;
                                	
                                	public static Logger logger;
                                	
                                    @EventHandler
                                    public void preInit(FMLPreInitializationEvent event)
                                    {
                                        logger = event.getModLog();
                                        proxy.preInit(event.getSuggestedConfigurationFile());
                                        
                                    }
                                 
                                    @EventHandler
                                    public void init(FMLInitializationEvent event)
                                    {
                                        proxy.init();
                                        MinecraftForge.EVENT_BUS.register(ServerStatusMod.class);
                                    }
                                    
                                    @EventHandler
                                    public void onServerStart(FMLServerStartedEvent event)
                                    {
                                        try {            
                                            sendDiscordWebhookMessage("FallenGloryStatus", "Le serveur est En-Ligne !");
                                        }
                                        catch(Exception ex) {
                                            System.err.println("Impossible d'envoyer le message de démarrage sur discord");
                                            ex.printStackTrace();
                                        }
                                    }
                                    
                                    @EventHandler
                                    public void onServerStopped(FMLServerStoppedEvent event)
                                    {
                                        try {            
                                            sendDiscordWebhookMessage("FallenGloryStatus", "Le serveur est Hors-Ligne !");
                                        }
                                        catch(Exception ex) {
                                            System.err.println("Impossible d'envoyer le message de démarrage sur discord");
                                            ex.printStackTrace();
                                        }
                                    }
                                    
                                    @EventHandler
                                    public void sendDiscordWebhookMessage(String username, String message) throws Exception
                                    {
                                        URL url = new URL ("MonUrlDiscord");
                                        HttpURLConnection con = (HttpURLConnection)url.openConnection();
                                        con.setRequestMethod("POST");
                                 
                                        con.setRequestProperty("Content-Type", "application/json; utf-8");
                                        con.setRequestProperty("User-Agent", "Minecraft Server");
                                        con.setRequestProperty("Accpet", "application/json");
                                        con.setDoOutput(true);
                                 
                                        JsonObject json = new JsonObject();
                                        json.addProperty("username", username);
                                        json.addProperty("content", message);
                                 
                                        try(OutputStream os = con.getOutputStream()) {
                                            byte[] input = json.toString().getBytes("utf-8");
                                 
                                            os.write(input, 0, input.length);
                                        }
                                        
                                        BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream(), "utf-8"));
                                 
                                        StringBuilder response = new StringBuilder();
                                        String responseLine = null;
                                        while ((responseLine = br.readLine()) != null) {
                                            response.append(responseLine.trim());
                                        }
                                 
                                        System.out.println(response.toString());
                                    }
                                
                                }
                                

                                Si tu as un peu de temps pour voir ça, ça m’aiderai 🙂

                                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

                                  Hormis MonUrlDiscord (que je pense que tu as changé juste pour envoyer le code ?) ça me semble bon. Vérifies ton webhook sur les paramètres de discord.

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

                                    @robin4002 J’ai retirer le lien exprès, le webhook existe bien (c’est le même que la dernière fois).

                                    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

                                      Il faudrait regarder les logs de ton serveur alors pour voir s’il y a une erreur.

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

                                        @robin4002 Alors, finalement quand je test, ça m’envoie le message, mais ca m’envoie ca dans les logs

                                        [17:16:02] [Server thread/ERROR] [FML]: The mod serverstatus appears to have an invalid event annotation EventHandler. This annotation can only apply to methods with recognized event arguments - it will not be called
                                        
                                        
                                        1 réponse Dernière réponse Répondre Citer 0
                                        • OrgeAlexj06O Hors-ligne
                                          OrgeAlexj06 @robin4002
                                          dernière édition par

                                          @robin4002 J’essaye également de le mettre en serverSideOnly, mais on me demande encore le mod coté client…

                                          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

                                            Ah oui, retires le @EventHandler qu’il y a haut dessus de la fonction sendDiscordWebhookMessage.

                                            Et pour qu’il ne demande plus le mod en solo :
                                            @Mod(modid = ServerStatusMod.MODID, name = "ServerStatus", version = "1.0", acceptedMinecraftVersions = "[1.12.2]")
                                            à remplacer par
                                            @Mod(modid = ServerStatusMod.MODID, name = "ServerStatus", version = "1.0", acceptedMinecraftVersions = "[1.12.2]", acceptableRemoteVersions = "*")

                                            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