Commentçamarche.net
CodeS-SourceS
Rechercher un code, un tuto, une réponse

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

0/5 (8 avis)

Vue 28 232 fois - Téléchargée 543 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

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.