Des SMS d’alerte pour votre plugin Minecraft

0.00 avg. rating (0% score) - 0 votes
Partager:

Petite fonction créé par mes soins pour mon plugin sous Sponge qui permet d’envoyer un SMS(FreeMobile) quand un joueur se connecte ou quand le serveur plante… Ça dépendra ensuite de l’event ou vous souhaitez la mettre^^.
Elle peut sans doute être améliorer pour gérer d’autre opérateur si ils proposent aussi l’option ou rajouter un système d’envoi de SMS multiple pour par exemple prévenir tout les admins…

Pour l’utiliser(ça dépendra de l’organisation de votre code), pour moi il faut faire:


Sponge.smsPost(player.getName() + " vient de se connecté");

Vous aurez aussi besoin de définir votre « user » et votre « pass » qu’on met dans l’url pour envoyer le SMS qui seront définit par exemple dans un fichier que les fonctions: « FileConfig.FREEMOBILEUSER() » et « FileConfig.FREEMOBILEPASS() » vont retourner.

Le code:


	static public void smsPost(String message) throws IOException {
		if(FileConfig.FREEMOBILEUSER() != null && FileConfig.FREEMOBILEPASS() != null) {
			String url = "https://smsapi.free-mobile.fr/sendmsg?";
			url += "user="+FileConfig.FREEMOBILEUSER().toString();
			url += "&pass="+FileConfig.FREEMOBILEPASS().toString();
			url += "&msg=" + message.replace(" ", "%20");
			
			URL object = new URL(url);

	        HttpURLConnection connection = (HttpURLConnection) object.openConnection();
	        int responseCode = connection.getResponseCode();

	        switch (responseCode)
	        {
	          case 200:
	            Sponge.getLogger().info(Sponge.getPluginName() + ": SMS envoyé: " + message);
	            break;
	          case 400:
	        	Sponge.getLogger().info(Sponge.getPluginName() + ": Un des paramètres obligatoires est manquant!!!");
	            break;
	          case 402:
	        	Sponge.getLogger().info(Sponge.getPluginName() + ": Trop de SMS ont été envoyés en trop peu de temps!!!");
		        break;
	          case 403:
		        Sponge.getLogger().info(Sponge.getPluginName() + ": Le service n'est pas activé sur l'espace abonné, ou login / clé incorrect");
		        break;
	          case 500:
		        Sponge.getLogger().info(Sponge.getPluginName() + ": Erreur sur serveur Free Mobile");
		        break;
	          default:
	            Sponge.getLogger().info(Sponge.getPluginName() + ": Erreur inconnue!!!");
	        }
		} else {
			Sponge.getLogger().info(Sponge.getPluginName() + ": l'option SMS n'est pas activé.");
		}
	}

Mes fonctions FREEMOBILEUSER() et FREEMOBILEPASS() qui récupèrent les infos de connexion dans mon fichier de conf:


	public static String FREEMOBILEUSER() { 		
		return config.getNode("freemobile", "user").getString(); 
	}
	
	public static String FREEMOBILEPASS() {
		return config.getNode("freemobile", "pass").getString(); 
	}

La fonction getPluginName() renvoie le nom du plugin de manière dynamique pour par que vous aillez à l’écrire partout et le modifier si vous change le nom de votre pluigin… Le code:


	public static String getPluginName() {
		return Main.class.getAnnotation(Plugin.class).name();
	}

PS: on peut faire la même chose pour la version du plugin ou encore son id.


Tous les codes sont testés et sont fonctionnels, si un de ces codes ne marche pas chez vous, merci de me le signaler.
Partager:
0.00 avg. rating (0% score) - 0 votes

Vous aimerez aussi...

3 réponses

  1. picsoudu17 dit :

    Salut, je débute et voudrais savoir, le code tous dois être sur la même page ou on doit en faire d’autre ?

Laisser un commentaire