Script d'administration à distance.

Contenu du snippet

Bonjour, alors je vais commencer à raconter ma vie (même si c'est pas le but du site, ça décrit ma source ;)) enfaite il y a pas longtemps j'ai scripté un bot en mIRC, et un pote m'a dit qu'il pouvait l'heberger sur son serveur Win, pour qu'il soit en permanance sur mon canal, j'ai dis "ok" et j'ai commencé à reflechir à un moyen de pouvoir manipuler mon bot à distance, lui faire joindre des chans le tout avec le moin de code possible chez mon ami (pour pas déranger) etc... (pour pas avoir à demander à mon pote à chaques fois !) et il m'est venu à l'idée un petit script d'administration à distance, voici le code:

Source / Exemple :


;*****Serveur*****;

on *:TEXT:*:?:{
  if ( $nick = %nick && $1 = !cmd && $3- ) {
    /$3- 
    /query $nick
    /msg $nick Commande exécutée.
  /close -m $nick }
  else if ( $1 = !cmd ) {
  /close -m $nick }
}

on *:LOAD:{
  /set %nick $?="Quel pseudo utiliserez vous pour contrôler ce client mIRC ?"
}

;*****Client*****;

;*****Graphisme*****;

menu channel {
  Remote Control Center:/dialog -m Control Control
}

dialog Control {
  title "Remote Control Center"
  size -1 -1 234 118
  option dbu
  tab "Menu simple", 1, 5 3 223 109
  button "Joindre", 50, 19 69 37 12, tab 1
  button "Quitter", 51, 19 51 37 12, tab 1
  button "Log on", 52, 100 33 37 12, tab 1
  button "Partir", 53, 19 88 37 12, tab 1
  button "Log off", 54, 140 33 37 12, tab 1
  button "Clear", 55, 180 33 37 12, tab 1
  button "Se connecter", 56, 19 33 37 12, tab 1
  button "Parler", 57, 100 59 37 12, tab 1
  button "Kicker", 58, 140 59 37 12, tab 1
  button "Kick/ban", 59, 180 59 37 12, tab 1
  box "Commandes", 5, 10 20 213 87, tab 1
  tab "Expert", 2
  button "Exécuter une commande", 60, 19 33 64 12, tab 2
  button "Ctcp Time", 61, 19 66 37 12, tab 2
  button "Ctcp Ping", 62, 59 66 37 12, tab 2
  button "Ctcp Version", 63, 19 80 37 12, tab 2
  button "Ctcp Finger", 64, 59 80 37 12, tab 2
  button "Infos", 65, 99 66 37 12, tab 2
  button "NS identify", 66, 181 49 37 12, tab 2
  button "NS register", 67, 181 33 37 12, tab 2
  button "Setup", 68, 181 66 37 12, tab 2
  box "Commandes avancées", 6, 10 20 213 87, tab 2
  tab "A propos", 3
  text "Le Remote Control Center sert à contrôler un autre client mIRC à distance s'il est équipé du système adéquate, vous pouvez modifier ce programme et le remettre en circulation du moment qu'il ne comporte rien d'illégal et que cette note figure à cet endroit même, si vous le faites vous assumez tout ce qui peut découler du programme modifié.", 200, 29 33 115 57, tab 3
  link "Synorus@tiscali.fr", 201, 152 33 44 8, tab 3
  text "USG Team", 202, 152 43 45 8, tab 3
  box "A propos", 7, 10 20 213 87, tab 3
}

;*****Moteur*****;

on *:dialog:Control:sclick:50:{
  /msg %name !cmd join $?="Que canal voulez vous faire joindre à vôtre bot ?"
}

on *:dialog:Control:sclick:51:{
  /msg %name !cmd quit $?="Quel message de quit voulez vous faire dire à vôtre bot ?"
}

on *:dialog:Control:sclick:52:{
  /msg %name !cmd log on $?="Quel fenêtre (ou personne) voulez vous faire loguer à vôtre bot ?"
}

on *:dialog:Control:sclick:53:{
  /msg %name !cmd part $?="De quel canal voulez vous faire partir vôtre bot ? "
}

on *:dialog:Control:sclick:54:{
  /msg %name !cmd log off $?="Qui ou quelle fenêtre voulez faire arrèter de loguer à vôtre bot ?"
}

on *:dialog:Control:sclick:55:{
  /msg %name !cmd clear $?="Quelle fenêtre voulez vous faire laver à vôtre bot ?"
}

on *:dialog:Control:sclick:56:{
  /msg %name !cmd server -m $?="A quel nouveau serveur voulez vous connecter vôtre bot ?"
}

on *:dialog:Control:sclick:57:{
  /msg %name !cmd msg $?="Sur quel canal voulez faire parler vôtre bot ?" $?="Que voulez vous lui faire dire ?"
}

on *:dialog:Control:sclick:58:{
  /msg %name !cmd kick $?="Sur quel canal vôtre bot doit kicker une personne ?" $?="Qui ?" $?="Pour quelle raison ?"
}

on *:dialog:Control:sclick:59:{
  /set %kbchan $?="Sur quel canal vôtre bot doit kicker et bannir ?"
  /set %kbnick $?="Qui ?"
  /set %kbraison $?="Pour quelle raison ?"
  /msg %name !cmd mode %kbchan +b %kbnick
  /msg %name !cmd kick %kbchan %kbnick %kbraison
  /unset %kbchan
  /unset %kbnick
  /unset %kbraison
}

on *:dialog:Control:sclick:60:{
  /msg %name !cmd $?="Quelle commande voulez vous faire exécuter à vôtre bot ?"
}

on *:dialog:Control:sclick:61:{
  /ctcp %name time
}

on *:dialog:Control:sclick:62:{
  /ctcp %name ping
}

on *:dialog:Control:sclick:63:{
  /ctcp %name version
}

on *:dialog:Control:sclick:64:{
  /ctcp %name finger
}

on *:dialog:Control:sclick:65:{
  /uwho %name
}

on *:dialog:Control:sclick:66:{
  /msg %name !cmd msg NickServ IDENTIFY $?="Quel est le mot de passe de vôtre bot ?"
}

on *:dialog:Control:sclick:67:{
  /msg %name !cmd msg NickServ REGSITER $?="Quel sera le mot de passe de vôtre bot ?" $?="Son adresse e-mail"
}

on *:dialog:Control:sclick:68:{
  /set %name $?="Quel est le pseudo de vôtre bot ?"
}

Conclusion :


Voilà, à noter que l'option "Exécuter une commande" permet d'exécuter n'importe quelle commande IRC ou mIRC (il faut par contre taper la commande sans le /)
Si le code est pas propre, pas optimisé, ou carrément pas bien, dites le moi :) (pour savoir comment m'améliorer) mais soyez pas sévères, c'est qu'une source niveau 1 et je débute tout juste, @+

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.