begin process at 2012 02 08 17:29:49
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

AddOns

 > MEMOIRE POUR BOT ANIM

MEMOIRE POUR BOT ANIM


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :AddOns Classé sous :bot, memoire, seen Niveau :Débutant Date de création :27/09/2005 Date de mise à jour :27/09/2005 21:53:31 Vu :4 447

Auteur : ZeDaHu

Ecrire un message privé
Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

 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

JEU DE YAMS
JEU DES TROIS CAILLOUX

 Sources de la même categorie

PACMAN MULTI-JOUEUR EN LIGNE par wims
PROXY&SOCKS SCANNER+LEECHER par independentt
GESTIONNAIRE DE HIGHLIGHT AVANCÉ AVEC IGNORE SALON OU PSEUDO par doob666
AUTOJOIN HTABLE MULTISERVER par doob666
TCL - AJOUT SUPPRESSION DE LOGS par Atok

 Sources en rapport avec celle ci

Source avec Zip SERVICE GEOFRONT (PERL) par iZyTeHPariaH
LA CONFIGURATION D'UN EGGDROP QUI ENLÈVE LES BANS APRÈS X ... par Atok
Source avec Zip Source avec une capture LOGCHAN BY DIIMS :: POUR BOT :: TOTALEMENT CONFIGURABLE par sodims
Source avec Zip SYSTÈME SEEN par Niamor7
Source avec Zip SYSTEME DE SEEN POUR BOT, TRES SIMPLE, MAIS EFFICACE par webdoordi

Commentaires et avis

Commentaire de dj328i le 28/09/2005 04:05:36

J'ai la dalle de tout redire encore une fois ! :S

Commentaire de neo66 le 28/09/2005 18:55:47

Pas testé, mais tu peux optimiser ton code:
- les / devant tes set & echo
- evite de mettre des variables qui ont pour noms: %temps (elles peuvent etre deja utilisées)
- (($nick != $me ) && (%noticepart == active)) les double parentheses ne sont pas obligatoire => ($nick != $me) && (%noticepart == active)
- Je vois qu'on est obliger de créer plusieurs fichier .txt, pourquoi tu ne le ferais pas faire par le script avec un on LOAD ?

Bonne continuation

Commentaire de ZeDaHu le 29/09/2005 21:46:31

pour les double parenthèse neo je les met parce que comme ça je m'y retrouve mieux, pareil pour les /
par contre pour le On LOAD j'y avais pas pensé mais est ce que ça ferait pas un code trop long pour pas grand chose ?
ps : quand vous mettez une note j'aimerai bien que vous vous signaliez et surtout savoir pourquoi vous mettez cette note.. merci

Commentaire de marcoskyler le 30/09/2005 18:28:17

2/10 je trouve ça rebarbatif, ce code rempli bien ses fonctions.
Je met 9/10 pour remonter la note et t'encourage a l'optimiser

Commentaire de COOLMAN002 le 30/09/2005 20:53:46

Pk est-ce dans la catégorie "Addons" et non pas dans "Bots" ?

On 1:join:#:{
  if ($nick != $me) {

Pour un evenement, si tu veux que "$nick != $me":
on !*:EVENT:*: ACTION
(Exemple: ON !*:JOIN:#: msg $chan salut $nick !)

Mets des "." au lieu de tes "/" (ça fera l'action "silencieusement")

je note pas.

Commentaire de mec_tendre91 le 17/06/2006 00:50:46

Ca fonctionne pas !!!
Qui a dit 9/10
oO
bref sans commentaire

Commentaire de ZeDaHu le 18/06/2006 10:44:59

bien sur que si ça fonctionne
as tu bien mis le code dans une nouvelle page de ton mirc, et n'a tu pas oublié de créer les trois fichier texte et de les mettres dans le dossier où se situe ton mirc ?

Commentaire de bilou89 le 19/10/2006 22:41:35

Super je viens de le mettre en marche, j'ai pas encore vu tous ce qu'il fait mais pour le moment génial.
J'ai juste changé quelque chose dans ton code car j'ai mis les 3 fichier .txt dans un dossier donc j'ai rajouté le nom du dossier pour qu'il retrouve leur chemin (memorytxt/bonjour.txt)etc...
S'il y a quoi que se soit somme problème je te le fais savoir.
Merci!

Commentaire de berni13 le 27/06/2007 23:14:07

ça marche bien environ deux jours , puis plus rien , j'ai cherché un peu partout pourquoi sans trouver . Si quelqu'un a une idée merci !

Commentaire de jeanbart1 le 22/09/2007 10:04:23

Bonjour ..

Idem pour moi BERNI  cela fonctionne pendant environ deux jours et puis plus rien ?????


Si quelqu'un trouve la solution merci de poster ici..........

A bientôt et merci a tous pour vos sources.....  :-D

 Ajouter un commentaire


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


Nos sponsors


Appels d'offres

Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,950 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales