begin process at 2010 03 21 03:53:05
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Bots

 > WGARD, ROBOT MIRC EN SOCKETS, UN SEUL MIRC

WGARD, ROBOT MIRC EN SOCKETS, UN SEUL MIRC


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Bots Classé sous :bot, robot, socket, bots, moderation Niveau :Débutant Date de création :14/03/2007 Date de mise à jour :18/06/2008 02:24:50 Vu / téléchargé :8 708 / 531

Auteur : webdoordi

Ecrire un message privé
Commentaire sur cette source (30)
Ajouter un commentaire et/ou une note

 Description

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

  • ;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 }
;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

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

14 mars 2007 16:58:43 :
Suppression des ON TEXT... Remplacement direct par Sockread
14 mars 2007 17:39:06 :
Correction commande !adduser
14 mars 2007 17:50:50 :
Reparation Du premier demarrage
14 mars 2007 18:04:07 :
Reparation du !ban et Du demarrage
14 mars 2007 18:41:52 :
Ptit update
14 mars 2007 19:41:54 :
Je m'etais tromper de .zip...
14 mars 2007 20:28:50 :
Reglage de quelques bugs
14 mars 2007 20:41:54 :
Ajout d'un seen
15 mars 2007 03:09:05 :
Ajout du Menu, + de config... Je ne trouve plus beaucoup de bugs... donc si vous en trouver, merci de m'en aviser
15 mars 2007 19:57:17 :
...
26 décembre 2007 06:04:44 :
Plus de $mid ni de $gettok
18 juin 2008 00:38:32 :
-Ajout d'une configuration pour utiliser la clé sur les serveurs Voila... Grosse mise à jour à venir tres bientot
18 juin 2008 00:38:49 :
-Ajout d'une configuration pour utiliser la clé sur les serveurs Voila... Grosse mise à jour à venir tres bientot
18 juin 2008 02:24:50 :
-Mise à jour pour connection sur Voila...

 Sources du même auteur

Source avec Zip SYSTEME DE SEEN POUR BOT, TRES SIMPLE, MAIS EFFICACE

 Sources de la même categorie

Source avec Zip SERVICE GEOFRONT (PERL) par iZyTeHPariaH
Source avec Zip TCL EGGDROP par aliassangelius
ANIMATION POUR BOT par michounou
RECORD AFFLUENCE MULTI-SALON par extarsik
Source avec Zip Source avec une capture LOGCHAN BY DIIMS :: POUR BOT :: TOTALEMENT CONFIGURABLE par sodims

 Sources en rapport avec celle ci

LA CONFIGURATION D'UN EGGDROP QUI ENLÈVE LES BANS APRÈS X ... par Atok
Source avec une capture BOT PARLANT par Maxou1012
Source avec Zip SOCKET ANTISPAM par ISoKa
Source avec Zip SYSTEME DE SEEN POUR BOT, TRES SIMPLE, MAIS EFFICACE par webdoordi
Source avec Zip Source avec une capture ** GUARD BOT ** BOT EN SOCKET par SornDrixer

Commentaires et avis

Commentaire de tofu le 14/03/2007 14:09:17

l'utilité du socket est assez discutable étant donné qu'il faut que la connexion "principale" soit sur le même salon sinon les "on text" etc tombent à l'eau... je vois pas tellement l'intérêt de faire une connexion supplémentaire si c'est pour utiliser les events de la connexion principale..

d'autre part, pourquoi un fichier .ini ? un fichier texte suffit puisqu'il n'y a pas utilisation de blocs de commandes..

Commentaire de webdoordi le 14/03/2007 15:04:03

Ya un autre moyen que de passer par on text ?
Dsl mais je suis pas pro en socket, c la premiere fos ke je m'essai

Commentaire de tofu le 14/03/2007 15:34:32

oui, passer par le sockread étant donné que c'est l'event qui est exécuté lors de la réception des raws par la connexion socket.

l'évênement "on text" n'est lui exécuté que lorsque la connexion "principale" reçoit des données.

la question d'être pro n'est pas de mise içi, c'est simplement une question de logique mais t'inquiètes pas ça va venir avec le temps. c'est toujours un peu ambigue les connexions annexes au début et on s'emmêle vite les pinceaux...

Commentaire de webdoordi le 14/03/2007 15:40:04

lol, oui mais j'ai trouver comment executer par sockread, je vais poster sa ici des ke jaurai tout transformer ^^(la galere)

Commentaire de webdoordi le 14/03/2007 17:00:04

Et voila... Tout se passe en sockread maitenant^^
La pour une source de debutant jai rusher lol

Commentaire de wims le 14/03/2007 17:23:28

Ce code est la suite de Wabot donc tu pouvais mettre a jour le code, je te l'avais déja dis ainsi qu'un admin mais bon c'est bien que tu l'ai fais en socket.

Commentaire de webdoordi le 14/03/2007 17:37:45

desoler mais sur lancien, javais trop de notes 1 donc jai preferer le mettre la

Commentaire de wims le 14/03/2007 17:39:08

bah tient (:

Commentaire de webdoordi le 14/03/2007 17:40:32

sinon ta un commentaire pour ameliorer?

Commentaire de wims le 14/03/2007 17:58:23

Oui, plusieur chose a améliorer :

-Déja, mettre le fichier dans un .mrc sans tout les n°=
-On peut choisir le server mais pas le port ? bof
-Tu /echo le fait qu'on sois connecté alors que l'on viens a peine de lancer la connexion, il faut récupéré l'info dans un sockread.Donc dans le on *:sockopen tu n'est tjs pas connecté et si ya une erreur, tu dis que on est déconnecté ( alors qu'on est même pas connecté )
-Le timer pour joindre le salon n'est pas nécéssaire j'pense et dailleur tu joins ce que contient %a mais on ne peut pas choisir le salon du bot ? et d'ou sors le %a ?
-Tu devrais /tokenize au lieu de tout ces $gettok dans le on sockread
-le elseif pour le !ban  y est deux fois mdr...
-Tu devrais stocké les element qui te serve plusieur fois comme le nick s'il y a.
-Tu devrais regardé $modespl pour connaitre le nombre de max de mode que l'on peux mettre en un seul coup.
-Faire en sorte que le bot se reconnecte auto lors d'une deconnexion.

Commentaire de webdoordi le 14/03/2007 18:06:38

Bon voila ce ki est appliquer/reparer:
-Le echo
-le .mrc
-le demarage ki buggais
-le ban
-Nick stoké

La il manque:
- le /tokenize
- Reco automatique
- Choix du port
et $modespl c pour quoi?

Commentaire de wims le 14/03/2007 18:14:54

Mdr je ne parlais pas de ce nick là même si c'est bien d'avoir modifier.Je parlais du on sockread, tu utilise plein de $gettok pour avoir le nick de la personne mais pourquoi ne pas le stocker dans une /var, c'est beaucoup mieux, idem pour tes $mid

$modespl je te l'ai dis retourne le nombre max de mode applicable en une seul fois donc en connaissant ca, tu peux comparé par rapport au nombre de mode qu'il y a mettre car ton code ne met que 5 mode d'un coup, pourquoi pas plus ?

Commentaire de webdoordi le 14/03/2007 18:22:45

euh ok... dsl chui idiot jy ai pas penser pour le pseudo du gars... et pour le $modespl ben jai mis 5 pcq je trouve que sa va bien lolll

jarrange sa de suite

Commentaire de webdoordi le 14/03/2007 18:44:03

bon voila jai mis en variables

Commentaire de webdoordi le 15/03/2007 03:09:41

Voila un autre update (he oui lol)

Maitenant il y as plus de configuration...

Commentaire de webdoordi le 15/03/2007 03:11:27

Merci de me laisser une ptite note :)

Commentaire de wims le 15/03/2007 19:20:16

Je ne met jamais de note.
Tu devrais mettre la source dans la place prévus a cet effet, pour qu'on puisse visualisez la source sans prendre le zip.Mais laisse le zip étant donné que les copier/coller marche mal.

Commentaire de hunter38 le 12/06/2007 19:00:49

ok merci Bonne continuation

Commentaire de webdoordi le 26/12/2007 06:07:12

Je nettoyais mon pc quand j'ai trouver cette vielle source, et comme j'avais rien à faire jen decider de la rendre plus lisible en enlevant les $mid et les $gettok

Commentaire de nocomment le 03/04/2008 16:15:16

Coucou, juste une petite question comme ca. Si on veux utiliser ton Socket Bot Sur Voila, On fais comment ? Sur voila y'a un system de clés :(

Un clé a generé sur le site de voila ou Orange pour pouvoir ce connecter sur le serveur.

Bonne continuation

Bye

Commentaire de wims le 03/04/2008 18:41:14

Dans l'alias Wgard, il y la commande /sockopen qui lance la connexion, place ta clé là ou il faut :)

Commentaire de djul51 le 28/04/2008 23:53:06

Bonsoir,
Je ne sais pas si nocomment a réussi à s'en sortir, mais j'ai tenté de modifier l'alias wGard de plusieurs façon, et ça ne fonctionne pas. J'ai d'abord ajouté une ligne pour créer la variable %keyirc, puis modifié le code en conséquence...

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
if (!%keyirc) set %keyirc $$?="Entrez la clé associée au pseudo"
sockopen wGard %serveur %port %keyirc
echo @wGard 2,15WGard: Démarrage de la connection à %serveur
echo @wGard 2,15WGard: Connexion en cours... Veuillez patienter
}

J'ai aussi tenté:
sockopen wGard %serveur $+ : $+ %port %keyirc
ainsi que:
sockopen wGard irc.voila.fr:6667 %keyirc
et même:
sockopen wGard irc.voila.fr:6667 directementlacléirc

Et rien ne fonctionne :o
Je ne connais pas les sockets donc la, j'ai vraiment aucune idée.
Si quelqu'un à la solution... j'aimerais bien voir ce bout de bot tourner sur voila :]
Merci

Commentaire de nocomment le 29/04/2008 01:36:47

Salut. alors pour en revenir a ma demande, ca serai pas mal de joindre a ton bot en socket l'addon de VestaX ( Wanakey ) je sais pas comment tu peu l'integrér au bot mais bon dois y'avoir moyen.
Du style avoir une option : connecter bot via Wanakey

A mediter :)

Commentaire de nocomment le 29/04/2008 01:40:38

Ps: demande l'aide de VestaX je pense qu'il refusera pas :)

Ps2: non j'ai pas tenté de connecer ton bot sur Voila/Orange. j'ai meme pas mis ton code dans les remotes vu que ca me sert a rien pour le moment. je veux le connecté que sur ce serveur ( Voila / Orange ) j'ai un autre bot normal qui tourne sur d'autres serveurs
pour info le Cservices 2.5

Commentaire de djul51 le 29/04/2008 08:47:57

Finalement en fouillant la RFC 1459 j'ai trouvé la solution au problème...

on *:sockopen:wGard:{
  if ($sockerr) { echo @wGard Erreur ,vous avez été déconnecté | return }
  sockwrite -n wGard PASS LACLEIRC
  sockwrite -n wGard NICK %nickbot
  sockwrite -n wGard USER sdb sdb sdb :wGardSocket 1.1
  timer.JOIN1 1 10 sockwrite -n wGard JOIN %chan1
  timer.JOIN2 1 10 echo @wgard 2,15WGard: Je vais joindre le salon %chan1
}

Enjoy!

ps: nocomment je n'ai jamais utilisé le keygen de Vestax car je le trouve pas du tout pratique de ce que j'en ai vu, mais certaines autres personnes sur le serv ont fait des choses équivalentes et qui peuvent fonctionner via un on text pour la récupération de la clé :]

Commentaire de djul51 le 29/04/2008 09:04:11

En fait c'est wims qui m'avait mis sur une mauvaise piste et qui m'a fait galérer :(
Et en relisant ton commentaire nocomment... la source de base n'est pas de moi :b

Commentaire de webdoordi le 18/06/2008 03:06:17

Coté mises a jour je sais pas ce qu'il s'est passer mais j'ai bugger ont dirais lol :/

Commentaire de PeSSouZiX le 01/07/2008 15:39:03

dès que je le lance, il se connecte et se déconnecte aussitôt ... pourquoi ??

* Timer .join1 halted
-
* Timer .join2 halted

Commentaire de djul51 le 02/07/2008 13:37:53

timer.JOIN1 1 10 sockwrite -n wGard JOIN %chan1
  timer.JOIN2 1 10 echo @wgard 2,15WGard: Je vais joindre le salon %chan1

Lorsque tu vois 'halted' c'est que le JOIN et le ECHO dans la @windows ont étés fait. La valeur de la variable %chan1 correspond bien à ce que tu souhaites ? Commence par vérifier ça déjà .. Une fois que le bot dit s'être connecté, /whois lebot Tu sauras au moins s'il est en ligne, ça t'aidera à situer l'erreur.

Commentaire de PeSSouZiX le 04/07/2008 01:23:23

merci djul51 :)

J'ai finalement compris le pourquoi: trop de choses connectées ... le serveur interrompait la connexion du WGard.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Bots permanents [ par djrandu ] Bonjour.J'aimerais installer un bot permanent dans mon channel.Un bot qui soir capable de rester connecter lorsque mon ordi est éteind ou que je ne so Idle bots [ par exeral ] Je sais pas si vous avez remarquermais c la mode des idles bots(sur quakenet en tout cas )donc je voulais savoir si on peut me dire où en trouver ou c Question sur les socket [ par n0man ] Bonjour,Actuelment je suis sur le projet d' un socket Bot, et je me demandais comment repondre au CTCP version  car sur certain serveur ne pas repondr Bot floodeur [ par Lyune ] Bonjour,Mon probl&#232;me : des bots join mon channel, jamais ac le m&#234;me host, souvent ils viennent de chez wanadoo avec des lieux diff&#233;rent svp aidez moi pour socket news [ par nocomment ] Bonjour je cherche désésperement une remote sur plein de site qui serai capable de dire les news sur un canal en tapant par exemple !news sur le gener aide pour une cmd [ par Requiem_Goth ] Bonjour, je débute dans le scripting, j'ai un niveau assez faible malheuresement mais jsp un jour y arriver... voila je pose ma question donc lolje po socket-pingpong [ par samsungman ] bijour je voudré savoir koment ne pas se faire deconecté a chaque foi kon ce connect a un server ? Fermeture pv automatique [ par kishkaya ] bon ben voila je crée un bot pour mon salon et les gens vienne lui parler pour se log (oui tout le monde se log ^^) ou pour enregistrer des blaue ou d Commandes en +b +k etc ... [ par fyltum ] J'ai fait un petit remote (avec l'aide du forum) et je voudrai que vous me disiez si c'est bien ou non et j'ai une question :Comment bannir quelqu'un Commandes en +b +k etc ... [ par fyltum ] Voila j'ai un peu amélioré mon remote de commandes en +, je ne sais pas si tout est fini mais si vous pouviez me dire ce qu'il ne va pas parce qu'il m


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,836 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales