begin process at 2010 03 12 17:20:43
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Scripts

 > SOCK BOT DE BASE

SOCK BOT DE BASE


 Information sur la source

Note :
8,5 / 10 - par 2 personnes
8,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Scripts Niveau :Initié Date de création :10/10/2003 Date de mise à jour :12/10/2003 04:59:01 Vu :3 555

Auteur : Paper183

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

 Description

Voici un sockbot de base... en fait c'est un bot que jutilisait sur mon serveur mais je n'ais laisser que la base de la connexion c'est surtout pour apprendre

Source

  • alias bot { dialog -m sockbot sockbot }
  • dialog sockbot {
  • size -1 -1 138 80
  • title "SockBot"
  • text "Serveur",1,2 2 50 17
  • text "Port",2,2 22 50 17
  • text "Pseudo",3,2 42 50 17
  • edit "",4,47 0 87 22
  • edit "",5,47 20 87 22
  • edit "",6,47 40 87 22
  • button "Connect",7,1 62 133 16
  • }
  • on *:dialog:sockbot:sclick:7:{ botconnexion $+($did(4),:,$did(5)) $did(6) }
  • alias botconnexion {
  • ;;Ici on ouvre le sock et on enregistre Serveur, Port et pseudo qui peuvent servire plus tard
  • sockopen connexion $gettok($1,1,$asc(:)) $gettok($1,2,$asc(:))
  • set %sockserv $gettok($1,1,$asc(:))
  • set %sockport $gettok($1,2,$asc(:))
  • set %socknick $2
  • }
  • ;; Quand le sock ouvre : on envoie l'info pour s'enregistrer et le pseudo
  • on *:SOCKOPEN:connexion:{ window -e @bot | sockwrite connexion USER %socknick 0 * : $+ %socknick $+ $crlf $+ NICK %socknick $+ $crlf }
  • ;;L'info reçue par le serveur et linterpretation de l'info reçue
  • on *:SOCKREAD:*connexion*:{ var %r | sockread %r | tokenize 32 %r
  • if ($2 == 432) { sockwrite -n connexion NICK $r(A,Z) $+ $r(a,z) $+ $r(a,z) $+ $r(a,z) $+ $r(11,99) }
  • if ($2 == 433) { sockwrite -n connexion NICK $r(A,Z) $+ $r(a,z) $+ $r(a,z) $+ $r(a,z) $+ $r(11,99) }
  • if ($2 == 498) { sockwrite -n connexion NICK $r(A,Z) $+ $r(a,z) $+ $r(a,z) $+ $r(a,z) $+ $r(11,99) }
  • ;;Tres important de repondre au ping pour ne pas etre déconnecter
  • if (PING* iswm %r) { sockwrite connexion PONG $2 $+ $crlf | echo @bot 4 $+ $1- | halt }
  • if (*NOTICE* iswm %r) { echo @bot %r | halt }
  • if (*VERSION* iswm %r) { echo @bot 9 $+ %r | halt }
  • if (*FINGER* iswm %r) { echo @bot 9 $+ %r | halt }
  • if (*PING* iswm %r) { echo @bot 9 $+ %r | halt }
  • if (*TIME* iswm %r) { echo @bot 9 $+ %r | halt }
  • if (*PRIVMSG* iswm %r) { echo @bot 15< $+ $gettok(%r,3,32) $+ >< $+ $right($gettok(%r,1,32),$calc($len($gettok(%r,1,32)) - 1)) $+ > $+ $4- | halt }
  • if (*KICK* iswm %r) { echo @bot 7 $+ %r | halt }
  • if (*MODE* iswm %r) { echo @bot 7 $+ %r | halt }
  • else { echo @bot 4 $+ %r }
  • }
  • ;;Si le Sock ferme on le sais...
  • on *:SOCKCLOSE:*connexion*:{ echo @bot Connexion Fermée }
  • ;;Les alias des commandes de bases avec b. en avant pour ne pas les melanger avec ceux par defaut de mIRC
  • alias b.join { sockwrite connexion join $1 $+ $crlf }
  • alias b.part { sockwrite connexion part $1 $+ $crlf }
  • alias b.hop { b.part $1 | b.join $1 }
  • alias b.kick { sockwrite connexion kick $1 $2 : $+ $3- $+ $crlf }
  • alias b.quit { sockwrite -n connexion quit $1- }
  • alias b.mode { sockwrite connexion mode $1 $2 $3 $+ $crlf }
  • alias b.nick { sockwrite connexion NICK $1 $+ $crlf }
  • alias b.msg { sockwrite connexion PRIVMSG $1 : $+ $2- $+ $crlf }
  • alias b.send { sockwrite -n connexion $1- }
alias bot { dialog -m sockbot sockbot }
dialog sockbot {
  size -1 -1 138 80
  title "SockBot"
  text "Serveur",1,2 2 50 17
  text "Port",2,2 22 50 17
  text "Pseudo",3,2 42 50 17
  edit "",4,47 0 87 22
  edit "",5,47 20 87 22
  edit "",6,47 40 87 22
  button "Connect",7,1 62 133 16
}
on *:dialog:sockbot:sclick:7:{ botconnexion $+($did(4),:,$did(5)) $did(6) }
alias botconnexion {
  ;;Ici on ouvre le sock et on enregistre Serveur, Port et pseudo qui peuvent servire plus tard
  sockopen connexion $gettok($1,1,$asc(:)) $gettok($1,2,$asc(:))
  set %sockserv $gettok($1,1,$asc(:))
  set %sockport $gettok($1,2,$asc(:))
  set %socknick $2
}
;; Quand le sock ouvre : on envoie l'info pour s'enregistrer et le pseudo
on *:SOCKOPEN:connexion:{ window -e @bot | sockwrite connexion USER %socknick 0 * : $+ %socknick $+ $crlf $+ NICK %socknick $+ $crlf }
;;L'info reçue par le serveur et linterpretation de l'info reçue
on *:SOCKREAD:*connexion*:{ var %r | sockread %r | tokenize 32 %r
  if ($2 == 432) { sockwrite -n connexion NICK $r(A,Z) $+ $r(a,z) $+ $r(a,z) $+ $r(a,z) $+ $r(11,99) }
  if ($2 == 433) { sockwrite -n connexion NICK $r(A,Z) $+ $r(a,z) $+ $r(a,z) $+ $r(a,z) $+ $r(11,99) }
  if ($2 == 498) { sockwrite -n connexion NICK $r(A,Z) $+ $r(a,z) $+ $r(a,z) $+ $r(a,z) $+ $r(11,99) }
  ;;Tres important de repondre au ping pour ne pas etre déconnecter
  if (PING* iswm %r) { sockwrite connexion PONG $2 $+ $crlf | echo @bot 4 $+ $1- | halt }
  if (*NOTICE* iswm %r) { echo @bot %r | halt }
  if (*VERSION* iswm %r) { echo @bot 9 $+ %r | halt }
  if (*FINGER* iswm %r) { echo @bot 9 $+ %r | halt }
  if (*PING* iswm %r) { echo @bot 9 $+ %r | halt }
  if (*TIME* iswm %r) { echo @bot 9 $+ %r | halt }
  if (*PRIVMSG* iswm %r) { echo @bot 15< $+ $gettok(%r,3,32) $+ >< $+ $right($gettok(%r,1,32),$calc($len($gettok(%r,1,32)) - 1)) $+ > $+ $4- | halt }
  if (*KICK* iswm %r) { echo @bot 7 $+ %r | halt }
  if (*MODE* iswm %r) { echo @bot 7 $+ %r | halt }
  else { echo @bot 4 $+ %r }
}
;;Si le Sock ferme on le sais...
on *:SOCKCLOSE:*connexion*:{ echo @bot Connexion Fermée }
;;Les alias des commandes de bases avec b. en avant pour ne pas les melanger avec ceux par defaut de mIRC
alias b.join { sockwrite connexion join $1 $+ $crlf }
alias b.part { sockwrite connexion part $1 $+ $crlf }
alias b.hop { b.part $1 | b.join $1 }
alias b.kick { sockwrite connexion kick $1 $2 : $+ $3- $+ $crlf }
alias b.quit { sockwrite -n connexion quit $1- }
alias b.mode { sockwrite connexion mode $1 $2 $3 $+ $crlf }
alias b.nick { sockwrite connexion NICK $1 $+ $crlf }
alias b.msg { sockwrite connexion PRIVMSG $1 : $+ $2- $+ $crlf }
alias b.send { sockwrite -n connexion $1- }

 Conclusion

Je vien de faire un update maintenant suffi de tapper /bot pour que le dialog s'ouvre

Un autre update... Un alias et des lignes de commentaires


 Sources de la même categorie

Source avec Zip Source avec une capture PANNEAU DE CONFIGURATION PS7 par aliassangelius
LA CONFIGURATION D'UN EGGDROP QUI ENLÈVE LES BANS APRÈS X ... par Atok
Source avec Zip Source avec une capture DARKPROJECT - SCRIPT MIRC par Artwerks
Source avec une capture STATISTIQUES DISQUE(S) DUR(S) par Nort0n
SCRIPT POUR ADMIN STRESSÉ AFFRONTANT UNE URGENCE. par ouroumov

Commentaires et avis

Commentaire de d0wn le 10/10/2003 23:41:46

Mouai, c'est pas mal, il faudrai juste un peu compléter, comme tu le dit toi même, tu n'a mi que la base de la connection... moi je trouve ça en effet pas mal pour apprendre :)!
Bah bien jouer ;)
++

Commentaire de Paper183 le 10/10/2003 23:46:31

Merci :)
Ouais bon je ferai peut-etre un update avec une version plus complete et mieu codée si certain en ont besoin

Commentaire de thyb le 10/10/2003 23:47:40

bah c les base, c pas trop mal, ( ca change des //timer 1 10800 /say bonjour ) lol
mais faudrai compliquer un peu

ca pe etre un debut de tuto pour les n00bs des socket ;)

Commentaire de Paper183 le 12/10/2003 04:00:51

Voila jai fait un petit update tout bête... c'est que se qui etait en dessou de :
if (:* iswm %r) { ....... }
netait pas interpreter car presque tout les messages du serveur commencent par ":"
et il supporte maintenant les erreure de pseudo a la connexion il en met un au hasard du genre Pzaw66

Commentaire de Paper183 le 12/10/2003 04:27:43

Je vien d'ajouter un petit dialog car je n'avait rien a faire :) lol

Commentaire de Paper183 le 12/10/2003 05:08:48

Le bot a un probleme sur le b.join b.part et p-e les autres mais je ne trouve pas d'ou il vien !!!!! :S chui sur que c'est con comme erreure :$

Commentaire de Paper183 le 12/10/2003 05:11:43

HEEUUUUUU Vraiment désolé chui fatigué c'etait dans mes variables le probleme :$ je vais pas recommencer :$

Commentaire de Paper183 le 12/10/2003 05:12:50

Meme pas je me trompe entre variable et alias :'( enfin bon :$

Commentaire de lilmax le 12/10/2003 18:13:32

salut moi ques sa fait quand je fait : /bot je veut entrer le nom du serv ou je veut quil se connect mais jai pas assez despace ques faudrais je change

Commentaire de lilmax le 12/10/2003 18:17:33

ah oui et pour le faire join un channel c quoi

Commentaire de Paper183 le 13/10/2003 00:14:54

ok c'est vrai les dialog on un probleme avec sa je n'y avait pas penser...
tu na qu'a ecrire /botconnexion serv:port pseudo
et pour la salle c'est /b.join #salle

Commentaire de talking le 16/12/2003 21:50:45

ouais pas mal ton bot de base le probléme et juste au niveau du dialog agrandi le serveur voila sinon c'est pas mal pour apprendre

 Ajouter un commentaire




Nos sponsors


Appels d'offres

Sondage...

Comparez les prix

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 : 0,733 sec (4)

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