j'ai tester les retour d'erreur et la fonctionaliter a chaque commandes pour etre sur alors , il ne devrais pas y avoir de probleme . Mais par contre si jamais ca se presente dite le moi je vous mangerai pas lol
C'est un bot qui fonctionne par niveaux
bot : niv 2
utilisateur : niv 3 a 500
Il marche par authentification de level et par username-password pour une meilleur securiter . En cas de pepin il vous desauthifirer tout seul ( exemple quit , crash ect .. )
Tout les commandes sont inclue dans le fichier html dans le zip
mais voici un apercue des fonctionnaliter :
commandes standart : join , part , kick , ban , voice , topic , mass deop ect ...
gestion des modes du canal
auto limite ( mode +l )
protection du topic et de la clef
protection anti-flood
blacklist
ect ...
pour le chargez placez les 2 fichiers dans votre repertoire mirc et tappez
/load -rs config.bot.mrc
c'est mon tout premier bot .. alors je suis content de mon travail lol
Source / Exemple :
#floodprot on
on 1:TEXT:*:#:{
inc %flood. [ $+ [ $nick ] ]
.timer 1 %fl.time unset %flood. [ $+ [ $nick ] ]
if (%flood. [ $+ [ $nick ] ] >= %fl.lines) { goto kill }
else { goto end }
:kill
if ($me isop $chan) {
if (($nick isop $chan) || ($nick isvo $chan)) { halt }
else {
ban $chan $wildsite
kick $chan $nick flood ( %dur.ban min ban)
if ( %dur.ban != $null ) { .timer 1 $calc(60 * %dur.ban ) mode $chan -b $wildsite }
}
}
:end
}
on 1:ACTION:*:#:{
inc %floodact. [ $+ [ $nick ] ]
.timer 1 %fl.time unset %floodact. [ $+ [ $nick ] ]
if (%floodact. [ $+ [ $nick ] ] >= %fl.lines) { goto kill }
else { goto end }
:kill
if ($me isop $chan) {
if (($nick isop $chan) || ($nick isvo $chan)) { halt }
else {
ban $chan $wildsite
kick $chan $nick flood ( %dur.ban min ban)
if ( %dur.ban != $null ) { .timer 1 $calc(60 * %dur.ban ) mode $chan -b $wildsite }
}
}
:end
}
#floodprot end
on 1:load:{
if ( %al.config == 1 ) { halt }
if ($exists(login.ini)) { goto cont1.load }
write login.txt [login]
write login.txt [confirm]
write login.txt [shitlist]
write login.txt [memo]
.rename login.txt login.ini
: cont1.load
set %name.master $$?="le nick du maitre"
if ( %name.master == $null ) { goto cont1.load }
: ret.load.2
set %name.master.log $$?"entrer votre password"
if ( %name.master.log == $null ) { goto ret.load.2 }
writeini login.ini login %name.master %name.master.log
.auser 500 %name.master
if ( %name.master != $null && %name.master.log != $null ) { set %al.config 1 }
unset %name.master.log
unset %name.master
set %fl.time 5
set %fl.lines 5
.auser 2 $me
if ( $server != $null ) { echo -a reconnection pour chargement | server }
}
on 2:nick:{
set %desauth.nick $nick
if ( $readini(login.ini,confirm,login. $+ %desauth.nick ) == confirm ) {
remini login.ini confirm login. $+ %desauth.nick }
if ( $nick == $me ) { .ruser %desauth.nick | .auser 2 $newnick }
unset %desauth.nick
}
on 1:part:#:{
set %dislogin.nick $nick
if ( $nick == $me ) {
remini login.ini confirm | unset %control.crash | unset %ecart.auto.lim
unset %keep.key | unset %prt.topic | .timertopic off | .timerpk off | unset %chan.mess.join
unset %mess.join | unset %mess.join.confirm | unset %dislogin.nick | halt }
if ( $me isop $chan ) { act.auto.lim.2 }
if ( $level( %dislogin.nick ) > 1 ) { dislogin.part }
unset %dislogin.nick
}
alias dislogin.part {
if ( $readini(login.ini,confirm,login. $+ %dislogin.nick ) == confirm ) { remini login.ini confirm login. $+ %dislogin.nick }
unset %dislogin.nick
}
on 1:disconnect:{ remini login.ini confirm | unset %control.crash | unset %ecart.auto.lim | unset %chan.mess.join
unset %mess.join | unset %mess.join.confirm | unset %keep.key | unset %prt.topic | .timertopic off | .timerpk off
unset %heure.since | unset %date.since | unset gmt.since }
on 1:quit:{
unset %control.crash
set %dislogin.nick $nick
if ( $server == $null ) { remini login.ini confirm | unset %control.crash | unset %ecart.auto.lim
unset %keep.key | unset %prt.topic | unset %chan.mess.join | unset %mess.join
unset %mess.join.confirm | .timertopic off | .timerpk off
unset %heure.since | unset %date.since | unset gmt.since | halt }
if ( $me isop $chan ) { act.auto.lim.2 }
if ( $level( %dislogin.nick ) > 1 ) { dislogin.part }
unset %dislogin.nick
}
on 1:kick:#:{
set %dislogin.nick $knick
if ( $knick == $me ) { remini login.ini confirm | unset %control.crash | unset %ecart.auto.lim
unset %keep.key | unset %prt.topic | .timertopic off | unset %chan.mess.join | unset %dislogin.nick
unset %mess.join | unset %mess.join.confirm | .timerpk off | halt }
if ( $me isop $chan ) { act.auto.lim.2 }
if ( $level( %dislogin.nick ) > 1 ) { dislogin.part }
unset %dislogin.nick
}
on 1:join:#:{
if ( %protect.auto.lim != $null ) { goto cont1.join.a }
set %protect.auto.lim 6
: cont1.join.a
inc %protect.auto.lim
if ( %protect.auto.lim > 10 ) { mode $chan +i | .timer 1 10 mode $chan -i }
dec -c %protect.auto.lim
dec -z %protect.auto.lim
if ( $me isop $chan ) { mode $chan +n | mode $chan +t | act.auto.lim.1 | look.shitlist }
if ( %mess.join.confirm == 1 ) { mess.join.a }
}
alias mess.join.a {
if ( $nick ison %chan.mess.join ) { notice $nick %mess.join }
}
alias look.shitlist {
set %host.a $wildsite | set %host.b $address
if ( $readini(login.ini,shitlist, %host.a ) == 1 ) {
mode $chan +b %host.a | kick $chan $nick shitlist | .timer 1 $calc(60 * 5) mode $chan -b $wildsite }
if ( $readini(login.ini,shitlist, %host.b ) == 1 ) {
mode $chan +b %host.b | kick $chan $nick shitlist | .timer 1 $calc(60 * 5) mode $chan -b $wildsite }
unset %host.a | unset %host.b
}
on 1:connect:{
if ( %control.crash != $null ) { remini login.ini confirm }
set %control.crash 1
if ( %reset.chan != $null ) { join %reset.chan %reset.chan.key | unset %reset.chan | unset %reset.chan.key }
set %heure.since $time | set %date.since $date | set %gmt.since $gmt(z)
}
on 2:text:login*:?:{
set %idt.log $$2
if ( %idt.log != $nick ) { msg $nick votre nick ne correspond pas a votre nom d'utilisateur | .timer 1 1 closemsg | halt }
if ($readini(login.ini,confirm,login. $+ %idt.log ) == confirm ) { msg $nick vous etes deja identifier | closemsg | halt }
set %nb.tot.chan $comchan($nick,0)
: cont1.login
if ( %nb.tot.chan == 0 ) { msg $nick Vous n'etes pas sur un canal commun , veuillez joindre un canal | .timer 1 1 closemsg | halt }
if ( $me isop $comchan($nick, %nb.tot.chan )) { set %common.ok 1 }
dec %nb.tot.chan
if ( %common.ok != 1 ) { goto cont1.login }
unset %nb.tot.chan | unset %common.ok
if ( $readini(login.ini,login, %idt.log ) == $$3 ) {
writeini login.ini confirm login. $+ %idt.log confirm
unset %idt.log
msg $nick Identification reussie sur axl bot
.timer 1 1 closemsg | halt }
if ( $readini(login.ini,login, %idt.log ) != $$3 ) {
msg $nick mauvais mot de passe associer a %idt.log
unset %idt.log | .timer 1 1 closemsg
}
}
on 2:text:dislogin*:?:{
set %idt.dislog $$2
if ( $readini(login.ini,confirm,login. $+ %idt.dislog ) != confirm ) {
msg $nick %idt.dislog n'est pas identifier | closemsg | unset %idt.dislog | halt }
if ( $readini(login.ini,login, %idt.dislog ) == $$3 ) {
remini login.ini confirm login. $+ %idt.dislog
msg $nick desauthentification reussie | unset %idt.dislog | .timer 1 1 closemsg | halt }
if ( $readini(login.ini,login, %idt.dislog ) != $$3 ) {
msg $nick mauvais info pour la desauthentification | .timer 1 1 closemsg | unset %idt.dislog }
}
on 500:text:adduser*:?:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.adduser }
msg $nick Vous n'etes pas identifier ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.adduser
unset %verif.log
set %user $$2 | set %pass $$3 | if ($$4 isnum) { set %niv $$4 | goto cont2.adduser }
msg $nick niveau erroner | .timer 1 1 closemsg | halt
: cont2.adduser
if ( $readini(login.ini,login, %user ) != $null ) { msg $nick utilisateur deja enregistrer | .timer 1 1 closemsg | halt }
if ( %user == $null ) { msg $nick nom d'utilisateur manquant | .timer 1 1 closemsg | halt }
if ( %pass == $null ) { msg $nick mot de passe manquant | .timer 1 1 closemsg | halt }
if ( %niv > 500 ) { msg $nick niveau superieur a 500 . ajout refuser | .timer 1 1 closemsg | halt }
if ( %niv < 3 ) { msg $nick le niveau doit etre entre 3 et 500 . ajout refuser | .timer 1 1 closemsg | halt }
if ( %niv == $null ) { msg $nick niveau manquant | .timer 1 1 closemsg | halt }
writeini login.ini login %user %pass
.auser %niv %user
msg $nick %user au niveau %niv as ete correctement ajouter
msg %user $nick vous as ajoutez comme utilisateur de axl bot au niveau %niv
msg %user votre password est %pass | .timer 1 1 closemsg
unset %user
unset %niv
unset %pass
}
on 500:text:remuser*:*:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.remuser }
msg $nick Vous n'etes pas identifier ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.remuser
unset %verif.log
set %rem.user $$2
if ( $readini(login.ini,login, %rem.user ) == $null ) {
msg $nick Cette utilisateur n'existe pas | .timer 1 1 closemsg | halt }
if ( $level( %rem.user ) == 500 ) { verif.second.500 }
ruser %rem.user
remini login.ini login %rem.user
msg $nick %rem.user as ete enlever de la liste d'acces | unset %rem.user | .timer 1 1 closemsg
}
alias verif.second.500 {
if ( $ulist(*,2.500) == $null ) {
msg $nick il y as un seul utilisateur au niveau 500 , suppresion impossible | .timer 1 1 closemsg | halt }
}
on 400:text:antiflood.status*:?:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.a.f.s }
msg $nick Vous n'etes pas identifier ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.a.f.s
unset %verif.log
set %choice.a.f.s $$2
if ( %choice.a.f.s == on ) { antiflood.a.1 | .timer 1 1 closemsg }
if ( %choice.a.f.s == off ) {
.disable #floodprot | msg $nick anti-flood desactiver | .timer 1 1 closemsg }
unset %choice.a.f.s
}
alias antiflood.a.1 {
if ( %fl.time == $null || %fl.lines == $null ) {
msg $nick parametre limite anti-flood non configurer . Activation impossible | .timer 1 1 closemsg | halt }
msg $nick anti-flood activer
.enable #floodprot
}
on 400:text:antiflood.limite*:?:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.a.f.l }
msg $nick Vous n'etes pas identifier ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.a.f.l
unset %verif.log
if ($$2 isnum && $$3 isnum) { set %fl.lines $$2 | set %fl.time $$3 | goto cont2.a.f.l }
msg $nick parametre erroner | .timer 1 1 closemsg | halt
: cont2.a.f.l
if ( %fl.lines < 0 || %fl.lines == $null ) {
msg $nick paramere antiflood limite invalide | .timer 1 1 closemsg | unset %fl.lines | unset %fl.time | halt }
if ( %fl.time < 0 || %fl.time == $null ) {
msg $nick paramere antiflood limite invalide | .timer 1 1 closemsg | unset %fl.lines | unset %fl.time | halt }
msg $nick limite antiflood changer pour %fl.lines lignes en %fl.time secondes | .timer 1 1 closemsg
}
on 300:text:durban*:?:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.durban }
msg $nick Vous n'etes pas identifier ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.durban
unset %verif.log
if ($$2 <= 0 ) { unset %dur.ban | msg $nick la duree du ban est maintenant illimiter | .timer 1 1 closemsg | halt }
if ($$2 isnum) { set %dur.ban $$2 | goto cont2.durban }
msg $nick parametre erroner | .timer 1 1 closemsg | halt
: cont2.durban
msg $nick la duree du ban est maintenant regler a %dur.ban minutes | .timer 1 1 closemsg
}
on 200:text:+op*:#:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.op }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.op
unset %verif.log
if ( $me !isop $chan ) { msg $nick je ne suis pas op sur le canal | .timer 1 1 closemsg | halt }
if ( $2 !ison $chan ) { msg $nick $2 ne se trouve pas sur le canal $chan | .timer 1 1 closemsg | halt }
if ( $readini(login.ini,confirm,login. $+ $2 ) == confirm ) { goto cont2.op }
msg $nick $2 n'est pas identifié. Impossible de le op | .timer 1 1 closemsg | halt
: cont2.op
if ( $2 isop $chan ) { msg $nick $2 est déjà op sur le canal | .timer 1 1 closemsg | halt }
mode $chan +o $2
}
on 200:text:-op*:#:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.deop }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.deop
unset %verif.log
if ( $me !isop $chan ) { msg $nick je ne suis pas op sur le canal | .timer 1 1 closemsg | halt }
if ( $2 !isop $chan ) { msg $nick $2 n'est pas op sur le canal | .timer 1 1 closemsg | halt }
mode $chan -o $2
}
on 200:text:+kick*:#:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.kick }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.kick
unset %verif.log
if ( $me !isop $chan ) { msg $nick je ne suis pas op sur le canal | .timer 1 1 closemsg | halt }
if ( $2 !ison $chan ) { msg $nick $2 n'est pas sur le canal | .timer 1 1 closemsg | halt }
if ( $2 == $me ) { msg $chan maitre tu veux me kicker ? :( pkoi est tu si mechant ? | halt }
if ( $2 isop $chan ) { kick $chan $nick protection antikick ( op ) | halt }
kick $chan $2 $3-
}
on 200:text:+ban*:#:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.ban }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.ban
unset %verif.log
if ( $me !isop $chan ) { msg $nick je ne suis pas op sur le canal | .timer 1 1 closemsg | halt }
if ( $2 == $me ) { msg $chan ca ne marche pas avec moi ! ont ne bannit pas son bot favorie ! nan | halt }
if ( $2 isop $chan ) {
mode $chan +b $wildsite
kick $chan $nick protection antiban ( op ( 1 min ) ) | .timer 1 60 mode $chan -b $wildsite | halt }
if ( $2 !ison $chan ) { msg $nick $2 n'est pas sur le canal | .timer 1 1 closemsg | halt }
mode $chan +b $wildsite
}
on 200:text:-ban*:#:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.unban }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.unban
unset %verif.log
if ( $2 !isban $chan ) { msg $nick $2 n'est pas une adresse bannit du canal | .timer 1 1 closemsg | halt }
mode $chan -b $2
}
on 200:text:+kickban*:#:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.kickban }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.kickban
unset %verif.log
if ( $me !isop $chan ) { msg $nick je ne suis pas op sur le canal | .timer 1 1 closemsg | halt }
if ( $2 == $me ) {
if ( %mechant.bot == 1 ) { unset %mechant.bot | kick $chan $nick je t'avais prevenue | halt }
msg $chan si tu continue a vouloir me kicker , je vais devenir mechant
set %mechant.bot 1 | halt }
if ( $2 isop $chan ) {
mode $chan +b $wildsite
kick $chan $nick protection antikickban ( op ( 1 min ) ) | .timer 1 60 mode $chan -b $wildsite | halt }
if ( $2 !ison $chan ) { msg $nick $2 n'est pas sur le canal | .timer 1 1 closemsg | halt }
mode $chan +b $wildsite
kick $chan $nick $3
}
on 100:text:+voice*:#:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.voice }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.voice
unset %verif.log
if ( $me !isop $chan ) { msg $nick je ne suis pas op sur le canal | .timer 1 1 closemsg | halt }
if ( $2 == $me ) { msg $chan je te remercie de ta generositer mais un voice ne me sert a rien :) | halt }
if ( $2 isop $chan ) { msg $chan tu croie vraiment que voicer un op va servir a quelque chose ? | halt }
if ( $2 !ison $chan ) { msg $nick $2 n'est pas sur le canal | .timer 1 1 closemsg | halt }
mode $chan +v $2
}
on 100:text:-voice*:#:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.unvoice }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.unvoice
unset %verif.log
if ( $me !isop $chan ) { msg $nick je ne suis pas op sur le canal | .timer 1 1 closemsg | halt }
if ( $2 !ison $chan ) { msg $nick $2 n'est pas sur le canal | .timer 1 1 closemsg | halt }
if ( $2 !isvoice $chan ) { msg $nick $2 n'est pas voicer sur le canal | .timer 1 1 closemsg | halt }
mode $chan -v $2
}
on 500:text:nick.bot*:*:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.nick.bot }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.nick.bot
unset %verif.log
set %tmp.nick.change $nick
set %new.nick.change $2
if ( $2 == $me ) { msg $nick tu veux changer $2 pour $2 ? wow originale ;) | .timer 1 1 closemsg | halt }
if ( $level($2) > 3 ) { msg $nick ce nick est deja utiliser par un utilisateur . impossible | .timer 1 1 closemsg | halt }
set %acces.raw.433 1
.ruser $me
nick $2
.auser 2 $2
.timer 1 1 closemsg
}
raw 433:*:{
if ( %acces.raw.433 == 1 ) {
msg %tmp.nick.change %new.nick.change est deja utiliser
unset %new.nick.change | unset %tmp.nick.change | unset %acces.raw.433 | halt
} }
on 300:text:protect.topic*:#:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.prt.topic }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.prt.topic
unset %verif.log
if ( $2 == on ) {
set %prt.topic $chan(#).topic
set %chan.prt.topic $chan
.timertopic 0 5 prt.topic.a
msg $nick protect topic activer | .timer 1 1 closemsg | halt }
if ( $2 == off ) { unset %prt.topic | unset %chan.prt.topic | .timertopic off
msg $nick protect topic desactiver | .timer 1 1 closemsg | halt }
msg $nick parametre protect topic incorrect | .timer 1 1 closemsg
}
alias prt.topic.a {
if ( $chan( %chan.prt.topic ).topic != %prt.topic ) { topic %chan.prt.topic %prt.topic }
}
on 500:text:part*:*:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.part }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.part
unset %verif.log
if ( $me !ison $2 ) { msg $nick je ne suis pas sur $2 | .timer 1 1 closemsg | halt }
if ( $nick !isop $2 ) { msg $nick seul un utilisateur op peut utiliser la commande part | .timer 1 1 closemsg | halt }
part $2 axl bot
}
on 500:text:join*:*:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.join.chan }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.join.chan
unset %verif.log
set %acces.raw.471 1 | set %acces.raw.473 1 | set %acces.raw.474 1 | set %acces.raw.475 1 | set %chan.cmd.join $chan | set %nick.cmd.join $nick
join $2 $3
.timer 1 3 verif.gd.join
}
raw 471:*:{
if ( %acces.raw.471 == 1 ) {
msg %nick.cmd.join impossible de joindre %chan.cmd.join . le canal est plein
verif.gd.join
} }
raw 473:*:{
if ( %acces.raw.473 == 1 ) {
msg %nick.cmd.join impossible de joindre %chan.cmd.join . le canal est en mode invite only
verif.gd.join
} }
raw 474:*:{
if ( %acces.raw.474 == 1 ) {
msg %nick.cmd.join impossible de joindre %chan.cmd.join . mon host est bannit de ce canal
verif.gd.join
} }
raw 475:*:{
if ( %acces.raw.475 == 1 ) {
msg %nick.cmd.join impossible de joindre %chan.cmd.join . le canal necessite une clef
verif.gd.join
} }
alias verif.gd.join {
unset %acces.raw.471 | unset %acces.raw.473 | unset %acces.raw.474 | unset %acces.raw.475 | unset %chan.cmd.join
unset %nick.cmd.join | halt
}
on 200:text:auto.limite*:#:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.auto.lim }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.auto.lim
unset %verif.log
if ( $2 == $null ) { msg $nick parametre incorrecte sur auto limite | .timer 1 1 closemsg | halt }
if ( $2 == off ) { unset %ecart.auto.lim | msg $nick fonction auto limite desactiver | .timer 1 1 closemsg | halt }
if ( $3 isnum ) { set %ecart.auto.lim $3 | goto cont2.auto.lim }
msg $nick parametre incorrecte sur auto limite | .timer 1 1 closemsg | halt
: cont2.auto.lim
if ( $2 == on ) { msg $nick auto limite activer | .timer 1 1 closemsg
mode $chan +l $calc($nick(#,0) + %ecart.auto.lim ) | halt }
msg $nick parametre incorrecte sur auto limite | .timer 1 1 closemsg
}
alias act.auto.lim.1 {
if ( %ecart.auto.lim > 0 ) { mode $chan +l $calc( $chan($chan).limit + 1 ) }
}
alias act.auto.lim.2 {
if ( %ecart.auto.lim > 0 ) { mode $chan +l $calc( $chan($chan).limit - 1 ) }
}
on 400:text:+mode.key*:#:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.mode.key }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.mode.key
unset %verif.log
if ( $me !isop $chan ) { msg $nick je ne suis pas op sur le canal | .timer 1 1 closemsg | halt }
if ( $2 == $chan($chan).key ) { halt }
if ( %keep.key != $null ) { msg $nick impossible , protect key actif | .timer 1 1 closemsg | halt }
if ( $2 == $null ) { msg $nick parametre mode.key invalide | .timer 1 1 closemsg | halt }
mode $chan -k $chan($chan).key | mode $chan +k $2
}
on 400:text:-mode.key:#:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.mode.unkey }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.mode.unkey
unset %verif.log
if ( $me !isop $chan ) { msg $nick je ne suis pas op sur le canal | .timer 1 1 closemsg | halt }
if ( %keep.key != $null ) { msg $nick impossible , protect key actif | .timer 1 1 closemsg | halt }
if ( $chan($chan).key == $null ) { msg $nick impossible , aucune clef sur le canal | .timer 1 1 closemsg | halt }
mode $chan -k $chan($chan).key
}
on 400:text:protect.key*:#:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.protect.key }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.protect.key
unset %verif.log
if ( $me !isop $chan ) { msg $nick je ne suis pas op sur le canal | .timer 1 1 closemsg | halt }
if ( $2 == off ) { unset %keep.key | unset %chan.protect.key | .timerpk off
msg $nick protect key desactiver | .timer 1 1 closemsg | halt }
if ( $chan($chan).key == $null ) { msg $nick impossible , aucune clef presente sur le canal | .timer 1 1 closemsg | halt }
if ( $2 == on ) { set %keep.key $chan($chan).key | set %chan.protect.key $chan
msg $nick protect key actif | .timerpk 0 5 protect.key.a | .timer 1 1 closemsg | halt }
msg $nick parametre protect key invalide | .timer 1 1 closemsg | halt
}
alias protect.key.a {
if ( %keep.key != $chan( %chan.protect.key ).key ) { mode %chan.protect.key -k $chan( %chan.protect.key ).key | mode %chan.protect.key +k %keep.key }
}
on 300:text:+mode.mdr:#:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.mode.mdr }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.mode.mdr
unset %verif.log
if ( $me !isop $chan ) { msg $nick je ne suis pas op sur le canal | .timer 1 1 closemsg | halt }
mode $chan +m
}
on 300:text:-mode.mdr:#:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.mode.unmdr }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.mode.unmdr
unset %verif.log
if ( $me !isop $chan ) { msg $nick je ne suis pas op sur le canal | .timer 1 1 closemsg | halt }
mode $chan -m
}
on 300:text:+mode.secret:#:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.mode.secret }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.mode.secret
unset %verif.log
if ( $me !isop $chan ) { msg $nick je ne suis pas op sur le canal | .timer 1 1 closemsg | halt }
mode $chan +s
}
on 300:text:-mode.secret:#:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.mode.unsecret }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.mode.unsecret
unset %verif.log
if ( $me !isop $chan ) { msg $nick je ne suis pas op sur le canal | .timer 1 1 closemsg | halt }
mode $chan -s }
on 100:text:topic.bot*:#:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.topic.bot }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.topic.bot
unset %verif.log
set %topic.bot $2-
if ( $me !isop $chan ) { msg $nick je ne suis pas op sur le canal | .timer 1 1 closemsg | halt }
if ( %topic.bot == $null ) { msg $nick parametre pour le topic invalide | .timer 1 1 closemsg | unset %topic.bot | halt }
if ( %topic.bot == $chan($chan).topic ) { unset %topic.bot | halt }
if ( %prt.topic != $null ) { msg $nick impossible , protect topic actif | .timer 1 1 closemsg | unset %topic.bot | halt }
topic $chan %topic.bot
unset %topic.bot
}
on 400:text:+mode.invite:#:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.mode.invite }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.mode.invite
unset %verif.log
if ( $me !isop $chan ) { msg $nick je ne suis pas op sur le canal | .timer 1 1 closemsg | halt }
mode $chan +i
}
on 400:text:-mode.invite:#:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.mode.uninvite }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.mode.uninvite
unset %verif.log
if ( $me !isop $chan ) { msg $nick je ne suis pas op sur le canal | .timer 1 1 closemsg | halt }
mode $chan -i
}
on 300:text:+mode.private:#:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.mode.private }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.mode.private
unset %verif.log
if ( $me !isop $chan ) { msg $nick je ne suis pas op sur le canal | .timer 1 1 closemsg | halt }
mode $chan +p
}
on 300:text:-mode.private:#:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.mode.unprivate }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.mode.unprivate
unset %verif.log
if ( $me !isop $chan ) { msg $nick je ne suis pas op sur le canal | .timer 1 1 closemsg | halt }
mode $chan -p
}
on 100:text:invite.ani*:#:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.invite.ani }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.invite.ani
unset %verif.log
if ( $me !isop $chan ) { msg $nick je ne suis pas op sur le canal | .timer 1 1 closemsg | halt }
if ( $left($chan($chan).mode,2) != +i ) { msg $nick inutile , le canal n'est pas en mode invite only | .timer 1 1 closemsg | halt }
if ( $2 == $null ) { msg $nick parametre invite incorrect | .timer 1 1 closemsg | halt }
set %acces.raw.443 1 | set %nick.invite $2 | set %start.invite $nick | set %canal.invite $chan | raw.443
invite $2 $chan
unset %acces.raw.443 | unset %nick.invite | unset %start.invite | unset %canal.invite
}
alias raw.443 {
if ( %nick.invite ison %canal.invite ) { msg %start.invite %nick.invite est deja sur %canal.invite | .timer 1 1 closemsg
unset %acces.raw.443 | unset %nick.invite | unset %start.invite | unset %canal.invite | halt
} }
on 3:text:new.password*:?:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.new.password }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.new.password
unset %verif.log
set %info.n.p $2
if ( %info.n.p != $nick ) { msg $nick Vous n'etes pas sous le nick %info.n.p | .timer 1 1 closemsg | unset %info.n.p | halt }
if ( $readini(login.ini,login, %info.n.p ) != $3 ) {
msg $nick information erroner | .timer 1 1 closemsg | unset %info.n.p | halt }
if ( $4 == $null ) { msg $nick Vous avez omis de mettre votre nouveaux password | .timer 1 1 closemsg | unset %info.n.p | halt }
remini login.ini login %info.n.p | writeini login.ini login %info.n.p $4 | remini login.ini confirm login. $+ %info.n.p
msg $nick Vous pouvez maintenant vous identifier avec votre nouveaux mot de passe
msg $nick N'oubliez pas de le prendre en note | .timer 1 1 closemsg | unset %info.n.p
}
on 400:text:+clearmode:#:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.clearmode }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.clearmode
unset %verif.log
mode $chan -s | mode $chan -m | mode $chan -i | mode $chan -p
if ( $chan($chan).key != $null ) { key.clearmode }
if ( %ecart.auto.lim == $null ) { mode $chan -l }
}
alias key.clearmode {
if ( %keep.key == $null ) { mode $chan -k $chan($chan).key }
}
on 400:text:+shitlist*:*:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.shitlist }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.shitlist
unset %verif.log
set %shit.add $2
if ( %shit.add == $null ) { msg $nick parametre shitlist invalide | .timer 1 1 closemsg | unset %shit.add | halt }
if ( $readini(login.ini,shitlist, %shit.add ) != $null ) { msg $nick host deja sous la shit list | .timer 1 1 closemsg | unset %shit.add | halt }
writeini login.ini shitlist %shit.add 1
write shitlist.txt %shit.add
msg $nick %shit.add as ete ajoutez a la shitlist | .timer 1 1 closemsg
unset %shit.add
}
on 300:text:-shitlist*:*:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.unshitlist }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.unshitlist
unset %verif.log
set %shit.rem $2
if ( %shit.rem == $null ) { msg $nick parametre shitlist invalide | .timer 1 1 closemsg | unset %shit.rem | halt }
if ( $readini(login.ini,shitlist, %shit.rem ) == $null ) { msg $nick le host n'est pas sous la shit list | .timer 1 1 closemsg | unset %shit.rem | halt }
remini login.ini shitlist %shit.rem
window -a @shitlist
loadbuf 0-500 @shitlist shitlist.txt
set %shitlist.rem $fline(@shitlist, %shit.rem )
window -c @shitlist
deltextline shitlist.txt %shitlist.rem | unset %shitlist.rem
msg $nick %shit.rem as ete enlever a la shitlist | .timer 1 1 closemsg
unset %shit.rem
}
alias deltextline {
var %o -dl $+ $2
write %o $1
}
on 300:text:shitlist.view:*:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.shitlist.view }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.shitlist.view
unset %verif.log
if ( $lines(shitlist.txt) == 0 ) { msg $nick aucune entree dans la shitlist | .timer 1 1 closemsg | halt }
if ( $exists(shitlist.txt)) { dcc send -c $nick shitlist.txt | halt }
msg $nick le fichier shitlist n'as pas ete trouver | .timer 1 1 closemsg
}
on 1:sendfail:*.txt,*.html:{
msg $nick Il semble avoir un probleme au niveau de l'envoie
msg $nick verifier que le fichier n'as pas ete auto-refuser | .timer 1 1 closemsg
close -s $nick
}
#ignorectcp off
ctcp 1:*:{
ignore $wildsite | .timer 1 60 ignore -r $wildsite
}
#ignorectcp end
on 400:text:ignore.ctcp*:?:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.ignore.ctcp }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.ignore.ctcp
unset %verif.log
if ( $2 == on ) {
.enable #ignorectcp | msg $nick ctcp maintenant sur auto ignore | .timer 1 1 closemsg | halt }
if ( $2 == off ) {
.disable #ignorectcp | msg $nick ctcp maintenant accepter | .timer 1 1 closemsg | halt }
msg $nick parametre ignore ctcp invalide | .timer 1 1 closemsg
}
on 500:text:reset.bot*:#:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.reset.bot }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.reset.bot
unset %verif.log
if ( $nick !isop $chan ) { msg $nick vous devez etre op pour utiliser cette commande | .timer 1 1 closemsg | halt }
if ( $chan($chan).key != $null ) { set %reset.chan.key $chan($chan).key }
set %reset.chan $chan | server
}
on 10:text:+memo*:?:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.memo }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.memo
unset %verif.log
set %memo $2-
set %memo.a $encode($nick,m)
if ( %memo == $null ) { msg $nick parametre memo invalide | .timer 1 1 closemsg | unset %memo | halt }
if ( $readini(login.ini,memo, %memo.a ) == %memo ) { msg $nick memo deja enregistrer | .timer 1 1 closemsg | halt }
writeini login.ini memo $encode($nick,m) %memo
msg $nick Memo enregistrer avec succes | unset %memo | .timer 1 1 closemsg | unset %memo.a
}
on 10:text:-memo:?:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.unmemo }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.unmemo
unset %verif.log
set %unmemo $encode($nick,m)
if ( $readini(login.ini,memo, %unmemo ) == $null ) { msg $nick Vous n'avez aucun memo enregistrer | .timer 1 1 closemsg | halt }
remini login.ini memo %unmemo | unset %unmemo
msg $nick Votre memo as ete supprimer avec succes | .timer 1 1 closemsg
}
on 10:text:memo.view:?:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.unmemo }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.unmemo
unset %verif.log
set %memo.view $encode($nick,m)
if ( $readini(login.ini,memo, %memo.view ) == $null ) { msg $nick vous n'avez aucun memo enregistrer | .timer 1 1 closemsg | halt }
msg $nick votre message :
msg $nick $readini(login.ini,memo, %memo.view ) | unset %memo.view | .timer 1 1 closemsg
}
on 3:text:acces.view*:?:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.acces.view }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.acces.view
unset %verif.log
set %level.view $2
if ( %level.view == $null ) { msg $nick parametre acces view invalide | .timer 1 1 closemsg | unset %lever.view | halt }
if ( %level.view < 3 || %level.view > 500 ) { msg $nick le parametre doit etre comprie entre 3 et 500 | .timer 1 1 closemsg | unset %lever.view | halt }
if ( %level.view isnum ) { goto cont2.acces.view }
msg $nick parametre acces view invalide | .timer 1 1 closemsg | halt
: cont2.acces.view
set %num.acces.view $ulist(*, %level.view ,*)
if ( %num.acces.view == 0 ) { msg $nick aucun acces a ce niveau | .timer 1 1 closemsg | unset %lever.view | unset %num.acces.view | halt }
: cont3.acces.view
msg $nick $ulist(*, %level.view , %num.acces.view )
dec %num.acces.view
if ( %num.acces.view != 0 ) { goto cont3.acces.view }
unset %num.acces.view | unset %level.view | .timer 1 1 closemsg
}
on 200:text:deop.all:#:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.deop.all }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.deop.all
unset %verif.log
set %count.op $nick(#,0,o)
: cont2.deop.all
if ( $nick(#, %count.op ,o) == $me ) { dec %count.op }
if ( %count.op == 0 ) { unset %count.op | goto cont3.deop.all }
mode $chan -o $nick(#, %count.op ,o) | dec %count.op
goto cont2.deop.all
: cont3.deop.all
unset %count.op
}
on 400:text:+parle*:?:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.parle }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.parle
unset %verif.log
set %parle $3-
if ( %parle == $null || $2 == $null ) { msg $nick parametre parle invalide | .timer 1 1 closemsg | unset %parle | halt }
if ( $me !ison $2 ) { msg $nick je ne suis pas sur $2 | .timer 1 1 closemsg | unset %parle | halt }
msg $2 %parle | unset %parle | .timer 1 1 closemsg
}
on 300:text:+mess.join*:*:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.mess.join }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.mess.join
unset %verif.log
set %mess.join $3-
if ( %mess.join == $null ) { msg $nick parametre message join invalide | .timer 1 1 closemsg | unset %mess.join | halt }
if ( $me !ison $2 ) { msg $nick je ne suis pas sur $2 | .timer 1 1 closemsg | unset %mess.join | halt }
set %mess.join.confirm 1 | set %chan.mess.join $2 | msg $nick message on join appliquez avec succes | .timer 1 1 closemsg
}
on 300:text:-mess.join:*:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.unmess.join }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.unmess.join
unset %verif.log
if ( %mess.join.confirm != 1 ) { msg $nick le message on join n'est pas activer | .timer 1 1 closemsg | halt }
unset %mess.join.confirm | unset %mess.join | unset %chan.mess.join
msg $nick message on join desactiver | .timer 1 1 closemsg
}
on 3:text:since.bot:*:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.since.bot }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.since.bot
unset %verif.log
msg $nick je suis connecter depuis %heure.since le %date.since ( sur gmt %gmt.since ) | .timer 1 1 closemsg | halt
}
on 3:text:help.cmd:*:{
set %verif.log $nick
if ( $readini(login.ini,confirm,login. $+ %verif.log ) == confirm ) { goto cont1.help.cmd }
msg $nick Vous n'êtes pas identifié ou votre nick ne correspond pas a votre user | .timer 1 1 closemsg | halt
: cont1.help.cmd
unset %verif.log
if ($exists(commandes.html)) { dcc send -c $nick commandes.html | halt }
msg $nick le fichier d'aide n'as pas ete trouver | .timer 1 1 closemsg
}
Conclusion :
j'ai hesitez un peut entre niveau 1 et niveau 2 . mais etant donner ce qu'il est , j'ai mit niv 2 .
Si vous avez des opinions j'aimerais beaucoup les lires :)
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.