Accueil > > > MEMOIRE POUR BOT ANIM
MEMOIRE POUR BOT ANIM
Information sur la source
Description
Ce code crée un fichier memory.ini qui répertorie les allées et venues des user. Ainsi, le bot est capable de savoir lorsque c'est la premiere fois qu'un user arrive sur tel salon ou s'il est venu plusieurs fois dans la journée. Il peut ainsi dire "bonjour" ou "re". ce fichier memory.ini est effacé tous les jours.
de plus le bot ne flood pas en disant bonjour a tout le monde s'il y a une attaque de clone (je n'ai pas eu l'occasion de tester cette protection) et si le bot a beaucoup de chan en commun avec quelqun qui vient de se connecter, il prend en compte l'autojoin et ne lui dira pas bonjour sur tous les chan.
autre option, si l'user ne parle pas durant la premiere minute où il arrive, le bot tente de lancer la conversation
enfin lorsqu'un user part, une notice lui est envoyé. une notice différente est envoyée en cas de join/part
Le bonjour automatique, la relance et la notice de part peuvent etre désactivées dans le menubar
Source
- On 1:start:{
- if (%dernier == $null) {
- /set %bonjour active
- /set %relance active
- /set %noticepart active
- }
- /timer $+ reset 00:00 1 1 /remove memory
- /echo Dernière utilisation le %dernier à cet heure : %temps
- if (%dernier != $date) {
- /remove memory
- }
- /set %dernier $date
- /set %temps $time
- }
-
-
- On 1:join:#:{
- if ($nick != $me) {
- if (%bonjour == active) {
- inc %arrivant
- /timer $+ $chan $+ . $+ %arrivant 1 10 dec %arrivant
- /timer $+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ notice off
- if !$timer($+ $gettok($nick,1,124) $+ . $+ autojoin) {
- if (%arrivant < 5) {
- if ($readini(memory,$gettok($nick,1,124),$chan) != kické) {
- if ($readini(memory,$gettok($nick,1,124),$chan) == parti) {
- /timer $+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ re 1 03 msg $chan 12 $+ $read(re.txt) $+
- /timer $+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ anti-double-joinpart 1 30 /echo anti-double-joinpart désactivé pour $nick
- }
- elseif ($readini(memory,$gettok($nick,1,124),etat) == déconnecté) {
- /timer $+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ re 1 03 msg $chan 12 $+ $read(re.txt) $+
- }
- else {
- if ($comchan($nick,0) == 1) {
- /timer $+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ bonjour 1 03 msg $chan 12 $+ $read(bonjour.txt) $+
- if (%relance == active) {
- /timer $+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ join 1 90 msg $chan 12 $+ $read(suite.txt) $+
- }
- /timer $+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ anti-joinpart 1 40 /echo anti join-part désactivé pour $nick
- }
- else {
- /timer $+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ re 1 03 msg $chan 12 $+ re $nick $+
- }
- }
- }
- }
- }
- }
- /writeini -n memory $gettok($nick,1,124) $chan présent
- /timer $+ $gettok($nick,1,124) $+ . $+ autojoin 1 30 /echo Temps de protection autojoin terminé pour $nick
- }
- }
- On *:text:*:#:{
- /timer $+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ join off
- }
- On *:PART:#:{
- if (($nick != $me ) && (%noticepart == active)) {
- if $timer($+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ anti-joinpart) {
- /timer $+ $chan $+. $+ $gettok($nick,1,124) $+ . $+ notice 1 05 /notice $nick 12Honte aux join-part !! Pourquoi tu es venu pour repartir tout de suite après ?
- }
- /writeini -n memory $gettok($nick,1,124) $chan parti
- }
- elseif $timer($+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ anti-double-joinpart) {
- /timer $+ $chan $+. $+ $gettok($nick,1,124) $+ . $+ notice 1 05 /notice $nick 12Tu viens, tu pars, tu reviens, tu repars... Mais reste donc un peu ! allez reviens et reste cette fois
- /writeini -n memory $gettok($nick,1,124) $chan parti
- }
- else {
- if !$timer($+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ kick-reviens) {
- /writeini -n memory $gettok($nick,1,124) $chan parti
- /timer $+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ notice 1 05 /notice $nick 12 Tu es sur que tu veux pas rester un peu plus longtemps sur $chan ?
- }
- }
- /timer $+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ join off
- /timer $+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ bonjour off
- /timer $+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ re off
- }
- On *:KICK:#:{
- /timer $+ $chan $+ . $+ $gettok($knick,1,124) $+ . $+ join off
- /timer $+ $chan $+ . $+ $gettok($knick,1,124) $+ . $+ bonjour off
- /timer $+ $chan $+ . $+ $gettok($knick,1,124) $+ . $+ re off
- /writeini -n memory $gettok($nick,1,124) $chan kické
- }
- On *:QUIT:{
- /writeini -n memory $gettok($nick,1,124) etat déconnecté
- /timer $+ $chan $+ $gettok($nick,1,124) $+ . $+ join off
- /timer $+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ bonjour off
- /timer $+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ re off
- }
- menu menubar {
- Bonjour auto
- .Bonjour
- ..$iif(%bonjour == desactive, Activer):{
- /set %bonjour active
- /echo L'option bonjour est activée
- }
- ..$iif(%bonjour == active, Desactiver):{
- /set %bonjour desactive
- /set %relance desactive
- /echo L'option bonjour est désactivée, ainsi que l'option relance qui va ensemble
- }
- .Relance si l'arrivant ne parle pas
- ..$iif(%relance == desactive, Activer):{
- if (%bonjour == active) {
- /set %relance active
- /echo L'option relance est activée, c'est à dire que le bot envoie un message si les nouveau arrivant ne se décident pas à parler
- }
- else {
- /echo L'option relance ne peut pas être activée si l'option bonjour ne l'est pas
- }
- }
- ..$iif(%relance == active, Desactiver):{
- /set %relance desactive
- /echo L'option relance est désactivée
- }
- .Notice de part
- ..$iif(%noticepart == desactive, Activer):{
- /set %noticepart active
- /echo Le bot envoie désormais des notice lorsque les user quittent le salon
- }
- ..$iif(%noticepart == active, Desactiver):{
- /set %noticepart desactive
- /echo Le bot n'enverra plus de notice lorsqu'un user quitte le salon
- }
- }
On 1:start:{
if (%dernier == $null) {
/set %bonjour active
/set %relance active
/set %noticepart active
}
/timer $+ reset 00:00 1 1 /remove memory
/echo Dernière utilisation le %dernier à cet heure : %temps
if (%dernier != $date) {
/remove memory
}
/set %dernier $date
/set %temps $time
}
On 1:join:#:{
if ($nick != $me) {
if (%bonjour == active) {
inc %arrivant
/timer $+ $chan $+ . $+ %arrivant 1 10 dec %arrivant
/timer $+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ notice off
if !$timer($+ $gettok($nick,1,124) $+ . $+ autojoin) {
if (%arrivant < 5) {
if ($readini(memory,$gettok($nick,1,124),$chan) != kické) {
if ($readini(memory,$gettok($nick,1,124),$chan) == parti) {
/timer $+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ re 1 03 msg $chan 12 $+ $read(re.txt) $+
/timer $+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ anti-double-joinpart 1 30 /echo anti-double-joinpart désactivé pour $nick
}
elseif ($readini(memory,$gettok($nick,1,124),etat) == déconnecté) {
/timer $+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ re 1 03 msg $chan 12 $+ $read(re.txt) $+
}
else {
if ($comchan($nick,0) == 1) {
/timer $+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ bonjour 1 03 msg $chan 12 $+ $read(bonjour.txt) $+
if (%relance == active) {
/timer $+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ join 1 90 msg $chan 12 $+ $read(suite.txt) $+
}
/timer $+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ anti-joinpart 1 40 /echo anti join-part désactivé pour $nick
}
else {
/timer $+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ re 1 03 msg $chan 12 $+ re $nick $+
}
}
}
}
}
}
/writeini -n memory $gettok($nick,1,124) $chan présent
/timer $+ $gettok($nick,1,124) $+ . $+ autojoin 1 30 /echo Temps de protection autojoin terminé pour $nick
}
}
On *:text:*:#:{
/timer $+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ join off
}
On *:PART:#:{
if (($nick != $me ) && (%noticepart == active)) {
if $timer($+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ anti-joinpart) {
/timer $+ $chan $+. $+ $gettok($nick,1,124) $+ . $+ notice 1 05 /notice $nick 12Honte aux join-part !! Pourquoi tu es venu pour repartir tout de suite après ?
}
/writeini -n memory $gettok($nick,1,124) $chan parti
}
elseif $timer($+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ anti-double-joinpart) {
/timer $+ $chan $+. $+ $gettok($nick,1,124) $+ . $+ notice 1 05 /notice $nick 12Tu viens, tu pars, tu reviens, tu repars... Mais reste donc un peu ! allez reviens et reste cette fois
/writeini -n memory $gettok($nick,1,124) $chan parti
}
else {
if !$timer($+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ kick-reviens) {
/writeini -n memory $gettok($nick,1,124) $chan parti
/timer $+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ notice 1 05 /notice $nick 12 Tu es sur que tu veux pas rester un peu plus longtemps sur $chan ?
}
}
/timer $+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ join off
/timer $+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ bonjour off
/timer $+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ re off
}
On *:KICK:#:{
/timer $+ $chan $+ . $+ $gettok($knick,1,124) $+ . $+ join off
/timer $+ $chan $+ . $+ $gettok($knick,1,124) $+ . $+ bonjour off
/timer $+ $chan $+ . $+ $gettok($knick,1,124) $+ . $+ re off
/writeini -n memory $gettok($nick,1,124) $chan kické
}
On *:QUIT:{
/writeini -n memory $gettok($nick,1,124) etat déconnecté
/timer $+ $chan $+ $gettok($nick,1,124) $+ . $+ join off
/timer $+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ bonjour off
/timer $+ $chan $+ . $+ $gettok($nick,1,124) $+ . $+ re off
}
menu menubar {
Bonjour auto
.Bonjour
..$iif(%bonjour == desactive, Activer):{
/set %bonjour active
/echo L'option bonjour est activée
}
..$iif(%bonjour == active, Desactiver):{
/set %bonjour desactive
/set %relance desactive
/echo L'option bonjour est désactivée, ainsi que l'option relance qui va ensemble
}
.Relance si l'arrivant ne parle pas
..$iif(%relance == desactive, Activer):{
if (%bonjour == active) {
/set %relance active
/echo L'option relance est activée, c'est à dire que le bot envoie un message si les nouveau arrivant ne se décident pas à parler
}
else {
/echo L'option relance ne peut pas être activée si l'option bonjour ne l'est pas
}
}
..$iif(%relance == active, Desactiver):{
/set %relance desactive
/echo L'option relance est désactivée
}
.Notice de part
..$iif(%noticepart == desactive, Activer):{
/set %noticepart active
/echo Le bot envoie désormais des notice lorsque les user quittent le salon
}
..$iif(%noticepart == active, Desactiver):{
/set %noticepart desactive
/echo Le bot n'enverra plus de notice lorsqu'un user quitte le salon
}
}
Conclusion
j'ai fait quelques modifications juste avant de poster la sources, et il est possible qu'elles fassent capoter tout le reste (on sait jamais, certains cotés de l'irc restent obscurs pour moi), dans ce cas je ferai des mises a jour.
je pense avoir envisagé tous les cas de figures, que le bot dit bonjour ou re comme un etre humain meme si on a plusieur salon en commun avec lui. mais il est possible que son comportement soit quelquefois incohérent : dans ce cas j'aimerai bien qu'on me le signale, pour ceux qui le testetont peut etre
Il faut également créer trois fichier txt :
bonjour.txt :
souhaitons la bienvenue à $nick !
bonjour $nick
salut $nick comment sa va ??
yo $nick sa va bien ?
kikoo $nick !
hello $nick
slt $nick
Salutations, ô grand $nick !
re.txt :
Merci d'être revenu $nick
Merci d'être revenu $nick
C'est cool que tu soit revenu $nick
$nick est de nouveau parmi nous !
re $nick
re $nick
re $nick
re $nick
tiens revoila $nick
suite.txt :
hého $nick c'est pas interdit de causer ici
on t'a coupé la langue $nick ?
tes pas du genre bavard toi $nick
t'as le droit de discuter $nick
ben dis quelquechose $nick , par exemple "bonjour"
move your body $nick et parle donc un peu
la causerie c pas ton truc à ce que je vois $nick
tu racontes quoi de beau $nick alors
Historique
- 27 septembre 2005 21:53:31 :
- j'avais oublié de préciser qu'il faut créer les fichier txt
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
installer un bot sur son canal [ par BlackWizzard ]
salut! tt le monde!je voudrais savoir comment instaler et administrer un bot sur un channel (le mien C #hackz sur irc.respublica.fr)...G deja un bot m
créer un bot sous quakenet [ par benlesurvivant ]
est-ce que kkun pourrais m'epliquer comment créer un bot sous quakenet. Merci d'avance :-)
Améliorer un bot pour un chan de clan counter-strike [ par JeKto ]
Salut !Je voudrai améliorer mon bot pour mon clan j'ai dejà quelsues commandes TEXT mais je voudrai par exemple que le bot guarde en memoire le nick d
Serveur IRC [ par Delirium ]
Hello :)J'ai crée un nouveau petit reseau IRC dont le but est^la convivialité !!pour le moment il n'est pas encore "super" fréquanté mais avec des gen
BoT Tid@m (NB s'abstenir ;) [ par Tidam ]
Voila C tre simple meme la reponse doit etre simple mais j'arrive po a trouver Tout ce que je ve c'est que quand qq'un me dit qqe chose le bot crée un
bot pickup [ par Goofa ]
Salut, je souhaite creer ou trouver un bot irc afin d'organiser des pickup , si qqn pouvais m'expliquer comment faire, thx.
-= Access à un Bot =- [ par Nancy ]
Salut la gang! Bon, j'ai un tit probleme :( J'aimerais faire une ligne de commande à mon bot pour ajouter quelqun automatiquement à mon Bot .Qqn pourr
voila wandoo bot www.demande-gev.fr.st [ par HatMan ]
vous avez fait une demande d'irix mais il ne veut pas de votre salon sur sont whoisfaite une demande de Gevwww.demande-gev.fr.stvoila alors si vous vo
Un léger problème de $ial [ par KaRiLLe ]
Bonjour tout le monde :))Je me permets d'écrire parce que j'ai un léger problème dans une de mes lignes de code mirc pour mon bot! En fait, je voudrai
COmment installé une sources [ par evilpikashoot69 ]
Erfe rf erf , tetre ke cette question a deja ete pose , mais je capte rien voila comment ona jout des sources a mirc 6.02 ???j'aimeré rajouté :on @1:B
|
Derniers Blogs
TECHDAYS PARIS 2012 : PLEINIèRE SECOND JOURTECHDAYS PARIS 2012 : PLEINIèRE SECOND JOUR par ROMELARD Fabrice
Après une première journée dédiée aux développeurs, cette seconde journée est dédiée au monde des entreprises et de ses applications. Ainsi, cette pleinière est dédiée à faire un 360 de l'évolution des applications Business aux demandes ac...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : RETOUR D'EXPéRIENCE SUR LA MISE EN PLACE D'UN CLOUD PRIVéTECHDAYS PARIS 2012 : RETOUR D'EXPéRIENCE SUR LA MISE EN PLACE D'UN CLOUD PRIVé par ROMELARD Fabrice
Speaker : Guillaume Rochette Cette session est dédiée à fournir le retour sur la mise en place d'un cloud privé (IaaS) par Osiatis pour son compte ou celui de ses clients. Ce projet s'est déroulé sur 4 mois et a permis de faire évoluer...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : COMMENT SHAREPOINT A SAUVé MES TECHDAYSTECHDAYS PARIS 2012 : COMMENT SHAREPOINT A SAUVé MES TECHDAYS par ROMELARD Fabrice
Speakers : Lionel Limozin et Alain Marty La session commence par une découverte de SharePoint à travers la mise en place d'un environnement SharePoint pour la gestion des Sessions animées par BeWise. Le besoin est très ba...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice PERSPECTIVE 3.0 POUR SILVERLIGHT 5.0PERSPECTIVE 3.0 POUR SILVERLIGHT 5.0 par odewit
Je viens de publier la version 3.0 de Perspective pour Silverlight, qui regroupe un portage sous Silverlight 5.0 des fonctionnalités de Perspective 2.0, le framework 3D de haut-niveau introduit récemment et de nouveaux exemples de code. En voici la li...
Cliquez pour lire la suite de l'article par odewit TECHDAYS PARIS 2012 : MYTHES ET RéALITéS VIRTUALISATION ET CLOUD PRIVéTECHDAYS PARIS 2012 : MYTHES ET RéALITéS VIRTUALISATION ET CLOUD PRIVé par ROMELARD Fabrice
Speakers : Christophe Dubos et Fabrice Meillon La Session est dédiée à casser la réputation que Microsoft traine sur son incapacité à fournir des solutions de Cloud privé. La session a commencé par un retour sur la puissance des DataCent...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : AIDERE : AIDE par Nico26000
Cliquez pour lire la suite par Nico26000 RE : AIDERE : AIDE par WorldDMT
Cliquez pour lire la suite par WorldDMT AIDEAIDE par Nico26000
Cliquez pour lire la suite par Nico26000
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|