Bot se connectant en socket

Soyez le premier à donner votre avis sur cette source.

Snippet vu 9 025 fois - Téléchargée 29 fois

Contenu du snippet

bonjour je me presente midiebold certain d'entre vou me connaisse sous le nom de dielau je suis debutant en scripting mirc donc voila je voulai savoi se que vous pensez de mon add on,il sagit d'un bot se connectant par socket
les commandes ne sont pas tres avancé est fonctionne toujours par on text ect mai voila j'ai pas trouver le moyen de faire autrement et j'ai pourtant chercher de tuto il me disait juste comment lancer une connection en sock
donc voila si quelqun pouvai m'aider pour ameliorer les commandes yara qua laisser un message

Source / Exemple :


alias bot-on {
  window -ae @ClientServeur
  sockclose irc-bot
 ;j'ai etabli la connexion avec le nom "irc-bot" sur la valeur de la variable(%serveur)
  sockopen irc-bot %serveur 
  echo @ClientServeur 4BOT connecter sur %serveur ,pour voir la liste des commandes tapez /botcommands !
}

;connexion

on *:sockopen:irc-bot:{
  ;stoper la connexion lors d'un erreure
  if ($sockerr) { echo @ClientServeur Erreur ,vous avez été deconecter | return }
  ;on crée une variable %nick-bot et on rajoute dans la 
  ;partie dialog ".exemple:/set %nick-bot $$?=" entrez la valeur de 
  ;%nick-bot "qui consistera a changer le nick par default par la suite
  sockwrite -n irc-bot NICK %nick-bot

  sockwrite -n irc-bot USER sdb sdb sdb :Bot de dielau (connecter en socket)

}

on *:sockread:irc-bot:{
  sockread %a
;sa j'ai pomper sa sert a dire pong et eviter le ping timeout
  if ($gettok(%a,1,32) == PING) sockwrite -n irc PONG $remove($gettok(%a,2,32),:)
  echo @ClientServeur %a
  unset %a
}
on *:sockclose:irc-bot:{ echo @ClientServeur 4BOT deconnecter de %serveur }
;voila les commandes du bot
on*:join:$me:#:{ sockwrite -n irc-bot PRIVMSG $chan : liste des commandes: !bonjour <nick>,!heure ! }
on *:text:!list:#:{ sockwrite -n irc-bot PRIVMSG $chan : liste des commandes: !bonjour <nick>,!heure ! }
on *:text:!heure:#:{ sockwrite -n irc-bot PRIVMSG $chan : il est $time ! }
on 1:TEXT:!bonjour*:#:{
  if ($2 == $nick) { sockwrite -n irc-bot PRIVMSG $chan :  12 ya $nick qui te dis bonjour $2- ! }
  elseif ($2 == %me-bot) { sockwrite -n irc-bot PRIVMSG $chan :  12 bonjour a toi ossi!!!!!  }
  elseif ($2 == $nul) { sockwrite -n irc-bot PRIVMSG $chan :  12  tu dis bonjour a qui $nick ??? }
  else { sockwrite -n irc-bot PRIVMSG $chan : 12 $nick te dis bonjour $2 $3 $4 $5 $6 $7 $8 $9 $10 !!! }
}

;controle du bot
alias botcommands { echo -a 7liste des commandes :/join-bot (dans le canal ou vous etes acutélement),/part-bot (dans le canal ou vous etes acutélment),/nick-bot <ancien-nick> <nouveau-nick>,/parle-bot <texte> ,/bot-off (pour deconnecter le bot) }
alias join-bot { if (!$1) { sockwrite -n irc-bot join $chan } | else { sockwrite -n irc-bot join $1 $+(,$2-) } }
alias part-bot { sockwrite -n irc-bot part $chan } | else { sockwrite -n irc-bot part $1 $+(,$2-) } }
alias nick-bot { sockwrite -n irc-bot nick $2 | set %me-bot $2 }
alias bot-parle { sockwrite -n irc-bot privmsg $chan : $1 $+(,$2-) }
alias bot-off { sockclose irc-bot } { echo @ClientServeur 4BOT deconnecter de %serveur }

Conclusion :


pour crée se bot je me suis aider du site scriptsdb.org et j'ai obtenu de l'aide de sertaine personnes que je remerci beaucoup mai en aucun cas j'ai pomper du moin j'ai tout modifier par la suite

A voir également

Ajouter un commentaire

Commentaires

Messages postés
69
Date d'inscription
jeudi 29 août 2002
Statut
Membre
Dernière intervention
27 avril 2007

Il y a une faute dans ton code :

if ($gettok(%a,1,32) == PING) sockwrite -n irc PONG


le nom de socket est mauvais c'est pas irc mais irc-bot

sinon c'est tres basique mais j'avais franchement pas besoin de plus meme besoin de moins en fait ^^ )
Messages postés
22
Date d'inscription
mardi 23 décembre 2003
Statut
Membre
Dernière intervention
10 mars 2004

Bof 4/10 !
Messages postés
1726
Date d'inscription
vendredi 12 septembre 2003
Statut
Membre
Dernière intervention
13 juin 2009
1
"c'est voulu" tu fais exprès de poster un code mal fait? oO
la doc: http://www.scriptsdb.org/tutar.php?id=349
Messages postés
5
Date d'inscription
jeudi 3 avril 2003
Statut
Membre
Dernière intervention
7 août 2004

tofu deja c ke je c pas comment faire pour les sockread et je cherche la doc pour sinon pour l'alias pour l'instant c voulu je le modifirai quand j'aurai trouver par koi repmplacer on text

enfin merci du conseil
Messages postés
1726
Date d'inscription
vendredi 12 septembre 2003
Statut
Membre
Dernière intervention
13 juin 2009
1
je comprends pas pkoi les gens s'obstinent à rajouter des "on text" alors que on peut tout mettre ds le sockread et que dans tout les tutoriaux que les sockets que j'ai lu, ils préconisent de tout mettre dans le sockread...
l'event: "on*:join:$me:#:{" n'existe pas à ma connaissance.
la seule commande est pour afficher l'heure...pas très utile..
-
alias bot-parle { sockwrite -n irc-bot privmsg $chan : $1 $+(,$2-) }
cette ligne n'est pas correcte du fait que l'identifieur $chan va prendre en compte la fenetre active et non le chan sur lequel tu veux que le bot parle. met plutot:
sockwrite -n $sockname $1 $+(:,$2-)
-
de plus jss du meme avis que chang-fu les hashtables seraient plus utiles que les variables
Afficher les 9 commentaires

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.