begin process at 2008 05 16 06:39:36
1 173 219 membres
61 nouveaux aujourd'hui
13 970 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

ENFIN UN BOT SUPPORTANT ACTIVE SCRIPTING (VBSCRIPT, JAVASCRIPT, PERL, PYTHON ...)


Information sur la source

Catégorie :Bots Classé sous : bot, delphibot, wsh Niveau : Expert Date de création : 01/09/2005 Date de mise à jour : 04/09/2005 20:49:21 Vu / téléchargé: 22 981 / 466

Note :
9 / 10 - par 6 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

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

  • 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")
  • ...
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
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

01 septembre 2005 19:19:09 :
Un zip tout frais ;-)
04 septembre 2005 20:49:22 :
Support de la directive #lang qui permet d'associer une extension donnée à un langage de script. Exemples: #lang rb = rubyscript #lang pl = perlscript #lang py = python #lang js = javascript Il est ainsi théoriquement possible d'utiliser n'importe quel langage de script, pourvu qu'il soit installé sur l'OS.
  • signaler à un administrateur
    Commentaire de GiUsTiNo le 02/09/2005 15:28:44

    Comment t'es venue l'idée de programmer cela ? Et dans quel but ?
    Merci de préciser car ca reste un peu flou ici, tu aurais peut-être du poster cette source sur la partie "Vb" ou "Delphi" de Codes-Sources, même si cexci est en rapport avec l'irc :)
    Bonne continuation

  • signaler à un administrateur
    Commentaire de ZED le 02/09/2005 16:08:53

    Tout d'abord, les sources ont été ajoutées à ce bot pour éviter une possible supression (Un certain admin se reconnaitra).
    Pour simplifier: Remarques que les bots IRC sont generalement basés sur un executable central avec des modules tout autour, avec une possibilité de scripting. C'est le cas de ce bot qui lui, exploite l'active scripting de windows. Il a été developpé en delphi, porté sous linux, et maintenant avec une extension WSH pour windows.
    Le but donc est d'offrir aux scripteurs une autre alternative riche en ressources, tant en langages qu'en bibliothèques (Ce n'est pas ce qui manque sous windows).

  • signaler à un administrateur
    Commentaire de Enhd le 03/09/2005 04:44:34

    Joli boulot en tout cas :)
    Mais je vais faire le lourd, je ne met que 8 car ce n'est pas de l'mIRC :D

  • signaler à un administrateur
    Commentaire de PaDa le 03/09/2005 09:10:06

    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 ?

  • signaler à un administrateur
    Commentaire de ZED le 03/09/2005 16:18:46

    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.

  • signaler à un administrateur
    Commentaire de NeoAnder le 02/11/2005 17:07:05

    COmment on l'active ?

  • signaler à un administrateur
    Commentaire de ZED le 14/12/2005 07:51:32

    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.

  • signaler à un administrateur
    Commentaire de chieur le 10/02/2006 13:47:19

    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

Ajouter un commentaire

Discussions en rapport avec ce code source

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS