Ce robot gere vos salons avec des utilisateurs et tout le tralala :p Voici quelques commandes: op, deop, voice, devoice
topic, kick, ban, invite, deftopic, unban, adduser, deluser, join, part etc...
Cette version est écrite totalement en socket
Vous n'avez donc pas besoin d'ouvrir un deuxieme mirc
Pour ceux qui ne comprennent pas comment l'installer:
Collez Wgard.mrc dans le repertoire de votre script
Ensuite dans votre script tapper /load -rs wgards.mrc
Ensuite pour démarrer le robot: tapper /wgard
JE VAIS LE RÉECRIRE POUR TOUT OPTIMISER TRÈS BIENTOT...
A venir: Gestion de comptes utilisateurs avec mots de passes, Gestions indépendantes de tout les salons, Plus de commandes, Gestion completes de salons avec messages de bienvenues differents pour chacuns, etc, etc...
Source / Exemple :
;WGard 1.3 Sockect par webdo
;Merci de ne pas modifier
On *:load:{
remove commandes.txt
Write Commandes.txt Voici la liste des commandes... Des que vous aurez configurer le robot vous aurez le niveaux 1000
Write Commandes.txt Commandes sur les canaux (!help <commande> (ex: !help !topic) pour de l'info sur celle-ci)
Write Commandes.txt Niveau 0-99: !wGard
Write Commandes.txt Niveau 100-199: !op, !deop , !voice , !devoice
Write Commandes.txt Niveau 200-299: !topic , !kick
Write Commandes.txt Niveau 300-399: !ban
Write Commandes.txt Niveau 400-499: !unban , !adduser , !deluser
Write Commandes.txt Niveau 500-1000: !join , !part
echo -a 4,1 WGard::: ROBOT MIRC EN SOCKET Version 1.3
echo -a 12,15 WGard à bien été charger a votre script ;)
echo -a 12,15 Pour l'ouvrir tapper /wgard ou vous pouvez ouvrir par le menu du haut (pres de Tools)
echo -a 2,15 Vous pouvez telecharger les MaJ pour ce robot ici: http://www.ircfr.com/code.aspx?ID=41844
echo -a 2,15 Je vais essayer d'ajouter regulierement de nouvelles commandes
echo -a 2,15 Pour tout comentaires: info@extrem-s.com
}
menu menubar {
WGard SocketBOT:
.Start Wgard:/wgard
.Stop Wgard:/sockclose wGard | echo 2,15 Wgard arreter
.-
.Liste des commandes:/run Commandes.txt
.-
.Configuration
..Serveur:/set %serveur $$?="Entrez le serveur auquel vous desirer connecter le robot"
..Clé Voila:/set %clevoila $$?="Entrez la clé à utiliser sur le serveur Voila (Autrement laissez vide)"
..Port:/set %port $$?="Entrez le port du serveur auquel vous voulez vous connecter( 6667 par defaut)"
..Salon à Auto-Joindre:/set %chan1 $$?="Entrez le salon que vous voulez auto-joindre (avec le #)"
..Pseudo du robot:/set %nickbot $$?="Entrez le pseudo desirer pour le robot"
..Votre pseudo:/set %owner $$?="Entrez votre pseudo" | writeini -n levels.ini levels %owner 1000
.-
.Joindre un salon:/sockwrite -n wGard JOIN $$?="Quel salon? (avec le #)"
.Quitter un salon:/sockwrite -n wGard PART $$?="Quel salon? (avec le #)"
}
alias wgard {
window -ae @wGard
sockclose wGard
if (!%serveur) set %serveur $$?="Entrez le serveur auquel vous desirer connecter le robot"
if (!%port) set %port $$?="Entrez le port du serveur auquel vous voulez vous connecter (6667 par defaut)"
if (!%nickbot) set %nickbot $$?="Entrez le pseudo desirer pour le robot"
if (!%chan1) set %chan1 $$?="Entrez le salon que vous voulez autojoindre (avec le #)"
if (!%owner) set %owner $$?="Entrez votre pseudo" | writeini -n levels.ini levels %owner 1000
sockopen wGard %serveur %port
echo @wGard 2,15WGard: Démarrage de la connection à %serveur
echo @wGard 2,15WGard: Connexion en cours... Veuillez patienter
}
;connexion
on *:sockopen:wGard:{
if ($sockerr) { echo @wGard Erreur ,vous avez été deconecter | return }
sockwrite -n wGard PASS %clevoila
sockwrite -n wGard NICK %nickbot
sockwrite -n wGard USER sdb sdb sdb :wGardSocket 1.3
timer.JOIN1 1 10 sockwrite -n wGard JOIN %chan1
timer.JOIN2 1 10 echo @wgard 2,15WGard: Je vais joindre le salon %chan1
}
on *:sockread:wGard:{
sockread %a
set %mid $mid(%a,$calc($pos(%a,$chr(58),1) + 1),$calc($pos(%a,$chr(33),1) - $pos(%a,$chr(58),1) - 1))
set %1 $gettok(%a,1,32)
set %2 $gettok(%a,2,32)
set %3 $gettok(%a,3,32)
set %4 $gettok(%a,4,32)
set %5 $gettok(%a,5,32)
set %6 $gettok(%a,6,32)
if (%1 == PING) {
sockwrite -n wGard PONG $remove(%2,:)
Echo @wGard 12,15 $server Vous PING
Echo @wGard 12,15Envoie de PONG à $server pour maitenir la connection
}
elseif (%4 == :Welcome) { echo @wGard 2,15WGard: je suis maitenant connecter sur $server }
;Les commandes
elseif (%4 == :!op) {
if ($readini(levels.ini,n,levels,%mid) >= 100) { sockwrite -n wGard mode %3 +oooooooo $iif(%5,%5,%mid) }
else .sockwrite -n wGard notice %mid Ton niveau est Trop bas ou tu n'a pas d'access
}
elseif (%4 == :!deop) {
if ($readini(levels.ini,n,levels,%mid) >= 100) { sockwrite -n wGard mode %3 -oooooooo $iif(%5,%5,%mid) }
else .sockwrite -n wGard notice %mid Ton niveau est Trop bas ou tu n'a pas d'access
}
elseif (%4 == :!voice) {
if ($readini(levels.ini,n,levels,%mid >= 100) { sockwrite -n wGard mode %3 +vvvvvvvv $iif(%5,%5,%mid) }
else .sockwrite -n wGard notice %mid Ton niveau est Trop bas ou tu n'a pas d'access
}
elseif (%4 == :!devoice) {
if ($readini(levels.ini,n,levels,%mid >= 100) { sockwrite -n wGard mode %3 -vvvvvvvvv $iif(%5,%5,%mid) }
else .sockwrite -n wGard notice %mid Ton niveau est Trop bas ou tu n'a pas d'access
}
elseif (%4 == :!wGard) { sockwrite -n wGard notice %mid 2,15 WGard_Bot ( wGard ) v1.0 SoCkEt Par Webdo | sockwrite -n wGard notice %mid 2,15 Merci à GaberZ pour ses idées et pour avoir tester ce robot
}
elseif (%4 == :!topic) {
if ($readini(levels.ini,n,levels,%mid >= 200) { sockwrite -n wGard Topic %3 $gettok(%a,5-,32) }
}
elseif (%4 == :!kick) {
if ($readini(levels.ini,n,levels,%mid >= 200) { sockwrite -n wGard kick %3 $iif(%5,%5,%mid) }
else .sockwrite -n wGard notice %mid Ton niveau est Trop bas ou tu n'a pas d'access
}
elseif (%4 == :!ban) {
if ($readini(levels.ini,n,levels,%mid >= 300) { sockwrite -n wGard mode %3 +bbb $iif(%5,%5,%mid) }
else .sockwrite -n wGard notice %mid Ton niveau est Trop bas ou tu n'a pas d'access
}
elseif (%4 == :!unban) {
if ($readini(levels.ini,n,levels,%mid >= 400) { sockwrite -n wGard mode %3 -bbb $iif(%5,%5,%mid) }
else .sockwrite -n wGard notice %mid Ton niveau est Trop bas ou tu n'a pas d'access
}
elseif (%4 == :!join) {
if ($readini(levels.ini,n,levels,%mid >= 1000) { sockwrite -n wGard join %5 }
else .sockwrite -n wGard notice %mid Ton niveau est Trop bas ou tu n'a pas d'access
}
elseif (%4 == :!part) {
if ($readini(levels.ini,n,levels,%mid >= 1000) { sockwrite -n wGard part %3 }
else .sockwrite -n wGard notice %mid Ton niveau est Trop bas ou tu n'a pas d'access
}
elseif (%4 == :!showcoms) {
sockwrite -n wGard notice %mid 12,15 Commandes sur les canaux (!help <commande> (ex: !help !topic) pour de l'info sur celle-ci)
sockwrite -n wGard notice %mid 2,15Niveau 0-99: !wGard , !readcoms , !mycom , !addchan
sockwrite -n wGard notice %mid 2,15Niveau 100-199: !op, !deop , !voice , !devoice
sockwrite -n wGard notice %mid 2,15Niveau 200-299: !topic , !kick , !mode
sockwrite -n wGard notice %mid 2,15Niveau 300-399: !amsg, !ban, !bantime , !invite , !deftopic , !rdeftopic
sockwrite -n wGard notice %mid 2,15Niveau 400-499: !unban , !adduser , !deluser , !fullban
sockwrite -n wGard notice %mid 2,15Niveau 500-1000: !join , !part
}
elseif (%4 == :!help) {
if (%5 == !wGard) { .sockwrite -n wGard notice %mid Affiche les informations sur la version du robot }
elseif (%5 == !readcoms) { .sockwrite -n wGard notice %mid Affiches tout les commentaires des utilisateurs }
elseif (%5 == !mycom) { .sockwrite -n wGard notice %mid Ajoute votre commentaire (Syntaxe: !mycom <commentaire>) }
elseif (%5 == !op) { .sockwrite -n wGard notice %mid Vous op ou op une autre personne sur le canal (Syntaxe: !op OU !op <pseudo>) }
elseif (%5 == !deop) { .sockwrite -n wGard notice %mid Vous deop ou deop une autre personne sur le canal (Syntaxe: !deop OU !deop <pseudo>) }
elseif (%5 == !voice) { .sockwrite -n wGard notice %mid Vous voice ou voice une autre personne sur le canal (Syntaxe: !voice OU !voice <pseudo>) }
elseif (%5 == !devoice) { .sockwrite -n wGard notice %mid Vous devoice ou devoice une autre personne sur le canal (Syntaxe: !devoice OU !devoice <pseudo>) }
elseif (%5 == !topic) { .sockwrite -n wGard notice %mid Change le thème du salon (Syntaxe: !topic <topic>) }
elseif (%5 == !kick) { .sockwrite -n wGard notice %mid Kick une persone du salon (Syntaxe: !kick <pseudo>) }
elseif (%5 == !mode) { .sockwrite -n wGard notice %mid Change les modes du salon (Syntaxe: !mode <+ ou -> mnk) }
elseif (%5 == !amsg) { .sockwrite -n wGard notice %mid Ecrit votre message en couleur(Syntaxe: !say <message>) }
elseif (%5 == !ban) { .sockwrite -n wGard notice %mid Banni une persone du salon (Syntaxe: !ban <pseudo>) }
elseif (%5 == !bantime) { .sockwrite -n wGard notice %mid Banni une persone du salon avec une limite de temps Choix de temps: 10min à 60min (Syntaxe: !bantime <pseudo> <temps> ) (ex: !bantime webdo 10min) }
elseif (%5 == !invite) { .sockwrite -n wGard notice %mid Invite une personne sur le salon (Syntaxe: !invite <pseudo>) }
elseif (%5 == !deftopic) { .sockwrite -n wGard notice %mid Défini le topic par défaut du salon (Syntaxe: !deftopic <topic>) }
elseif (%5 == !rdeftopic) { .sockwrite -n wGard notice %mid Remet le topic par défaut }
elseif (%5 == adduser) { .sockwrite -n wGard notice %mid Ajoute un utilisateur à votre salon (EN PV:Syntaxe: adduser <pseudo> <niveau>) }
elseif (%5 == !adduser) { .sockwrite -n wGard notice %mid Ajoute un utilisateur à votre salon (EN PV:Syntaxe: adduser <pseudo> <niveau>) }
elseif (%5 == !unban) { .sockwrite -n wGard notice %mid Débanni un utilisateur banni Syntaxe: !unban <pseudo>) }
elseif (%5 == !deluser) { .sockwrite -n wGard notice %mid Supprime l'access d'un utilisateur du salon (Syntaxe: !deluser <pseudo>) }
elseif (%5 == !fullban) { .sockwrite -n wGard notice %mid Banni une persone du salon à vie (Syntaxe: !fullban <pseudo>) }
elseif (%5 == !join) { .sockwrite -n wGard notice %mid Rejoin le salon mentionner (Syntaxe: !join <salon>) }
elseif (%5 == !part) { .sockwrite -n wGard notice %mid Quitte le salon mentionner (Syntaxe: !part <salon>) }
}
elseif (%4 == :!adduser) {
if ($readini(levels.ini,n,levels,%mid >= %6) {
else .sockwrite -n wGard notice %mid Tu ne peut pas ajouter un niveau plus haut que le tien
if ($readini(levels.ini,n,levels,%mid >= 400) { writeini -n levels.ini levels %5 %6 }
else .sockwrite -n wGard notice %mid Ton niveau est Trop bas ou tu n'a pas d'access
}
}
elseif (%2 == JOIN) {
sockwrite -n wGard notice %mid 2,15Bonjour, Bienvenue sur %3 ... Tappe !showcoms pour avoir la liste de mes commandes
writeini -n seendata.ini join %mid 2,15 %mid à été vu pour la derniere fois sur %3 le $date à $+($time,...)
}
elseif (%2 == PART) {
writeini -n seendata.ini part %mid 2,15 Il a quitter le salon le $date à $+($time,...)
}
elseif (%2 == QUIT) {
writeini -n seendata.ini part %mid 2,15 Il a quitter le serveur le $date à $+($time,...)
}
elseif (%4 == :!seen) {
writeini -n seendata.ini part %mid 2,15 Il a quitter le serveur le $date à $+($time,...)
if (%5 ison %3) sockwrite -n wGard notice %mid 2,15 Ouvre tes yeux $+(%mid,...) %5 est sur le canal
else {
if (%5 isin $readini(seendata.ini,n,join,%5) ) {
sockwrite -n wGard notice $nick 2,15 $readini(seendata.ini,n,join,%5)
sockwrite -n wGard notice $nick 2,15 $readini(seendata.ini,n,part,%5) }
else .sockwrite -n wGard notice %mid 2,15 Je n'ai jamais apercu %5 sur $+(%3,...)
}
}
unset %a
}
on *:sockclose:wGard:{ echo @wGard 2,15 wGard deconnecter de %serveur }
Conclusion :
Voila, j'esper que j'aurai de bonnes notes
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.