Enfin un bot supportant active scripting (vbscript, javascript, perl, python ...)

Soyez le premier à donner votre avis sur cette source.

Vue 29 310 fois - Téléchargée 705 fois

Description

C'est une variante de delphibot exploitant WSH (Windows Script Host) pour tourner des scripts dans écrits en langages Active Scripting (Pas de problèmes si on les mélanges en même temps).
Par défaut, Windows dispose de deux moteurs, à savoir: VBScript et JavaScript.
Ceci dit, on peut facilement l'étendre vers d'autres langages dont il suffit d'installer les moteurs (Voir http://www.activestate.com).
Le bot se propose de gérer plusieurs événements IRC et d'appeler les routines correspondantes dans les différents scripts chargés. Donc, peu importe la syntaxe, WSH se charge d'appeler correctement les routines.
À noter que le module WSH est encore bêta, et qu'il ne dispose qu'un minimum de scripts. Il faut donc utiliser l'existant pour implémenter un bot complet. L'avantage c'est de pouvoir utiliser du code VBA ou ASP existant. Avec un peu de modifications, il peut tourner sur delphibot.
Vous trouverez dans le ZIP le code source du bot, ainsi que des binaires fraîchement compilés sous Delphi 2005 (Architect).

Source / Exemple :


Exemples de scripts.

Pour l'evennement OnJoin(nick, channel) par exemple, on aura les codes suivants:

[PERL]

sub OnJoin {
  my $nick, $chan, $me;
  $nick = $event->nick;
  $chan = $event->chan;
  $me = $bot->nickname;
  $bot->raw("NOTICE $nick :Bienvenue sur $chan, $nick. Pour demander de l'aide tapez \002$me aide\002");
}

[VBScript]

'Pas besoin d'utiliser bot.raw, l'objet bot est defini par defaut donc ->

sub OnJoin
  raw "NOTICE " & nick & " :Bienvenue sur " & chan & ", " & nick & ". Pour demander de l'aide tapez " & Chr(2) & nickname & " aide" & chr(2)
end sub

[JavaScript]

function OnJoin()
{
  bot.raw("NOTICE " + event.nick + " :Bienvenue sur " + event.chan + ", " + event.nick + ". Pour demander de l'aide tapez \002" + bot.nickname + " aide\002");
}

[Python]

import sys
import os

def OnJoin():
    bot.raw("NOTICE " + event.nick + " :Bienvenue sur " + event.chan)
    sys.stdout.write(event.nick + " a rejoind " + event.chan + "\n")

...

Conclusion :


Ne pas oublier que:
- Delphibot.exe n'a pas d'interface graphique, et doit donc être utilisé en final pour tourner en arrière plan. Pensez CTRL + ALT + DEL au cas où vous foirez ;-)
- Delphibot_console.exe est une application console, son but est de pouvoir debugger les scripts, notamment Perl et Python qui eux disposent d'un flux console.

Bonne découverte

Liens utils:

o http://www.mvps.org/scripting/languages/
o http://www.activestate.com/
o http://www.context.cx
o http://www.google.com

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
67
Date d'inscription
dimanche 22 février 2004
Statut
Membre
Dernière intervention
27 mai 2009

Salut ZED, je n'ai pas testé ton code mais j'ai bien aimé ta logique si t'as besoin de poster qq codes ac exe ou tous ce que tu voudras j'ai une centaine de méga sur un serveur si ça te dis contacte moi par mail : skullsteam@hotmail.fr Bonne continuation
Messages postés
57
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
16 décembre 2005

Il parrait qu'ils enlevent les executables (et seulement les .exe) des sources envoyés. Je suis tout à fait d'accord pour la secu, mais les gens qui ne possèdent pas de compilateurs ou ne s'y connaissent pas risquer de nager. En plus ils laissent les dlls et ActiveX qui sont le réel danger pour IRC, des boites noires comme on dit.
Je rappelles que ce source a besoin d'être compilé. Il n'est pas directement exploitable comme la majorité des scripts sur ce site.
Donc NeoAnder, je te conseilles toi et tous les gens qui ne savent pas sur quoi cliquer pou démarrer, de telecharger la version perso de Delphi 6 ou 7 puis de compiler l'executable: http://www.borland.com/delphi
De toutes façon, le fichier make.bat permet de compiler le bot en un double click. Toutefois, n'hesitez pas à demander de l'aide sur le forum DelphiFr.
Messages postés
3
Date d'inscription
jeudi 19 août 2004
Statut
Membre
Dernière intervention
2 novembre 2005

COmment on l'active ?
Messages postés
57
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
16 décembre 2005

Bon,
Pour ENHD: Faudra un jour passer au niveau supérieur ;) le mIRC scripting n'est pas un réel langage de programmation si bien qu'il semble l'être... Mais j'avoue que pour commencer, c'est assez convivial :) Je rappelle que le but de mIRC n'est pas de produire des bots : c'est un client irc orienté utilisateur.
Pourquoi WSH ? C'est quoi l'apport, et là je répond aussi à PaDa : Le fait de coder pour WSH certes, implique un minimum de connaissances sur ce qu'est la technologie COM, les ActiveX etc. Cela est pénalisant pour un scripteur habitué à mIRC par exemple. D'autre part, on bénéficie d'un patrimoine logiciel très important, mais aussi très performant, qu'il suffit d'utiliser. On peut par exemple utiliser ADO pour implémenter un vrai gestionnaire d'utilisateurs/seen/quiz, utilisant Access ou SQLServer (ou même Oracle lol). Aussi, générer dynamiquement des statistiques et les exposer sur IIS. Les plus avertis pourront en faire des services personnalisés pour leurs serveurs irc? C'est sur qu'on gagne en performance aussi : Le noyau central du bot est assez bien optimisé, même que parfois sur undernet, le bot réagit plus vite que certains de leurs serveurs. Il s'agit en fait d'un système multi threadé, chaque module du bot est chargé dans son propre thread + 1 thread pour gérer la connection et les PING PONG (Utilisant des sockets bloquantes, donc qui ne dorment pas comme le font souvent les sockets asynchrones windows). Un autre thread (celui du main) se charge se synchroniser les différents handlers avec leur source « le composant IRC ». Cette architecture permet donc d'isoler les traitements douteux et instables du reste du bot. Au final, même si un module/script se plante ou bloque dans une boucle infinie -> le bot ne meure pas par timeout ;-)
Coté stabilité : Si jamais quelqu'un arrive à le faire crasher, je suis preneur de son rapport (même si cela ne risque pas d'arriver).
Ce n'est pas de mes habitudes d'écrire autant de littérature, mais j'espère que ce petit bout de texte ait expliqué ce que robot essaie de changer.
Messages postés
1804
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
22 septembre 2009
5
Coucou
Je vais faire le mec chiant aussi : qu'apporte WSH ? je m'en sers de temps en temps avec du COM, existe il une doc en francais ? (msdn est un peu hard parfois) est ce plus rapide, plus performant, plus convivial comme langage ?
Afficher les 8 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.