Robot de Gestion de Salons IRC

Transcription

Robot de Gestion de Salons IRC
GREATOREX
Camille
2013-2014
Poitiers
SE3
Robot de Gestion de
Salons IRC
Modération
Topics
Support
Compteur
Gestion des Hiérarchies
Codé en MSL sur MIRC Version 7.32 -----------------------------------------------------------------------------------
#autovoice off
on 1:join:%chan:/mode $chan +v $nick
#autovoice end
#joinsupport off
on +1:join:%support:{
If ($nick !isin %urgences) {
/mode $chan +v $nick
/notice $nick Bienvenue sur le support, $nick ; Veuillez expliquer votre problème.
/disable #support
/enable #contresupport
If (%urgences != $null) {
/mode $chan -v $nick(%support,1,v,o)
}
}
Elseif ($nick isin %urgences) {
/mode $chan -v $nick(%support,1,v,o)
/mode $chan +v $nick
}
}
on +1:part:%support:{
If ($nick !isin %urgences) {
/notice $nick La requête N° %requestcount vient d'être verouillée.
/enable #support
/disable #contresupport
If (%waitinguser != $null) {
Inc %requestcount
/invite %waitinguser %support
/notice %waitinguser Vous venez d'être invité sur# %support .
/msg $chan %waitinguser vient d'ouvrir la requête n° %requestcount : %waitingmsg
/set %waitinguser
/set %waitingmsg
}
Elseif (%urgences != $null) {
/mode $chan +v $nick(%support,2,r,vo)
}
}
Elseif ($nick isin %urgences) {
/set %urgences
/mode $chan +v $nick(%support,1,r,vo)
/notice $nick Vous venez de quitter le support.
}
}
on +1:kick:%support:{
If ($knick !isin %urgences) {
/notice $knick La requête N° %requestcount vient d'être verouillée.
/enable #support
/disable #contresupport
If (%waitinguser != $null) {
Inc %requestcount
/invite %waitinguser %support
/notice %waitinguser Vous venez d'être invité sur #%support .
/msg $chan %waitinguser vient d'ouvrir la requête n° %requestcount : %waitingmsg
/set %waitinguser
/set %waitingmsg
}
}
Elseif ($knick isin %urgences) {
/set %urgences
/mode $chan +v $nick(%support,1,r,vo)
}
}
on 50:join:%support:{
/mode $chan +o $nick
}
#joinsupport end
#modes off
on 80:text:!mode +m:%chans:{
/mode $chan +m
}
on 80:text:!mode +n:%chans:{
/mode $chan +n
}
on 80:text:!mode +s:%chans:{
/mode $chan +s
}
on 80:text:!mode +i:%chans:{
/mode $chan +i
}
on 80:text:!mode +t:%chans:{
/mode $chan +t
}
on 80:text:!mode +l:%chans:{
if ($3 isalnum) {
/mode $chan +l $3
}
}
on:80:text:!mode +C:%chans:{
/mode $chan +C
}
on 80:text:!mode +M:%chans:{
/mode $chan +M
}
on 80:text:!mode -m:%chans:{
/mode $chan -m
}
on 80:text:!mode -n:%chans:{
/mode $chan -n
}
on 80:text:!mode -s:%chans:{
/mode $chan -s
}
on 80:text:!mode -i:%chans:{
/mode $chan -i
}
on 80:text:!mode -t:%chans:{
/mode $chan -t
}
on 80:text:!mode -l:%chans:{
/mode $chan -l
}
on 80:text:!mode -C:%chans:{
/mode $chan -C
}
on 80:text:!mode -M:%chans:{
/mode $chan -M
}
#modes end
#topics off
on 80:text:!on:%chans:{
/f9
}
on 99:text:!off:%chans:{
/f11
}
on 90:text:!setopic*:%chans:{
/topic $chan $2}
on 90:text:!set*:%chan:{
If ($2 == 1) {
If ($3 == ON) {
/set %se ,14 $3If (%su == ON) {
/topic %chan [0,14Bienvenue sur,14 %chan ] [0,14SE3 : %se ] [0,14Support :,14 %su ]
[0,14News :,14 %news ]
/topic %support [0,14Bienvenue sur,14 %support ] [0,14SE3 : %se ] [0,14News :,14 %news ]
}
ElseIf (%su == OFF) {
/topic %chan [0,14Bienvenue sur,14 %chan ] [0,14SE3 : %se ] [0,14Support :,14 %su ]
[0,14News :,14 %news ]
/topic %support [0,14Bienvenue sur,14 %support ] [0,14SE3 : %se ] [0,14News :,14 %news ]
}
Else {
/topic %chan [0,14Bienvenue sur,14 %chan ] [0,14SE3 : %se ] [0,14Support :,14 %su ]
[0,14News :,14 %news ]
/topic %support [0,14Bienvenue sur,14 %support ] [0,14SE3 : %se ] [0,14News :,14 %news ]
}
}
Elseif ($3 == OFF) {
/set %se ,14 $3/set %su ,14 $3If (%su == OFF) {
/topic %chan [0,14Bienvenue sur,14 %chan ] [0,14SE3 : %se ] [0,14Support :,14 %su ]
[0,14News :,14 %news ]
/topic %support [0,14Bienvenue sur,14 %support ] [0,14SE3 : %se ] [0,14News :,14 %news ]
}
Else {
/topic %chan [0,14Bienvenue sur,14 %chan ] [0,14SE3 : %se ] [0,14Support :,14 %su ]
[0,14News :,14 %news ]
/topic %support [0,14Bienvenue sur,14 %support ] [0,14SE3 : %se ] [0,14News :,14 %news ]
}
}
Else {
/set %se ,14 $3If (%su == ON) {
/topic %chan [0,14Bienvenue sur,14 %chan ] [0,14SE3 : %se ] [0,14Support :,14 %su ]
[0,14News :,14 %news ]
/topic %support [0,14Bienvenue sur,14 %support ] [0,14SE3 : %se ] [0,14News :,14 %news ]
}
ElseIf (%su == OFF) {
/topic %chan [0,14Bienvenue sur,14 %chan ] [0,14SE3 : %se ] [0,14Support :,14 %su ]
[0,14News :,14 %news ]
/topic %support [0,14Bienvenue sur,14 %support ] [0,14SE3 : %se ] [0,14News :,14 %news ]
}
Else {
/topic %chan [0,14Bienvenue sur,14 %chan ] [0,14SE3 : %se ] [0,14Support :,14 %su ]
[0,14News :,14 %news ]
/topic %support [0,14Bienvenue sur,14 %support ] [0,14SE3 : %se ] [0,14News :,14 %news ]
}
}
}
If ($2 == 2) {
If ($3 == ON) {
/set %su ,14 $3/enable #support
/disable #contresupport
/disable #supportoff
If (%se == ON) {
/topic %chan [0,14Bienvenue sur,14 %chan ] [0,14SE3 :,14 %se ] [0,14Support : %su ]
[0,14News :,14 %news ]
}
ElseIf (%se == OFF) {
/topic %chan [0,14Bienvenue sur,14 %chan ] [0,14SE3 :,14 %se ] [0,14Support : %su ]
[0,14News :,14 %news ]
}
Else {
/topic %chan [0,14Bienvenue sur,14 %chan ] [0,14SE3 :,14 %se ] [0,14Support : %su ]
[0,14News :,14 %news ]
}
}
Elseif ($3 == OFF) {
/set %su ,14 $3/disable #support
/disable #contresupport
/enable #supportoff
If (%se == ON) {
/topic %chan [0,14Bienvenue sur,14 %chan ] [0,14SE3 :,14 %se ] [0,14Support : %su ]
[0,14News :,14 %news ]
}
ElseIf (%se == OFF) {
/topic %chan [0,14Bienvenue sur,14 %chan ] [0,14SE3 :,14 %se ] [0,14Support : %su ]
[0,14News :,14 %news ]
}
Else {
/topic %chan [0,14Bienvenue sur,14 %chan ] [0,14SE3 :,14 %se ] [0,14Support : %su ]
[0,14News :,14 %news ]
}
}
Else {
/set %su ,14 $3If (%se == ON) {
/topic %chan [0,14Bienvenue sur,14 %chan ] [0,14SE3 :,14 %se ] [0,14Support : %su ]
[0,14News :,14 %news ]
}
ElseIf (%se == OFF) {
/topic %chan [0,14Bienvenue sur,14 %chan ] [0,14SE3 :,14 %se ] [0,14Support : %su ]
[0,14News :,14 %news ]
}
Else {
/topic %chan [0,14Bienvenue sur,14 %chan ] [0,14SE3 :,14 %se ] [0,14Support : %su ]
[0,14News :,14 %news ]
}
}
}
If ($2 == 3) {
/set %news ,14 $3If (%se == ON) {
If (%su == OFF) {
/topic %chan [0,14Bienvenue sur,14 %chan ] [0,14SE3 :,14 %se ] [0,14Support :,14 %su ]
[0,14News :,14 %news ]
/topic %support [0,14Bienvenue sur,14 %chan ] [0,14SE3 :,14 %se ] [0,14News :,14 %news ]
}
}
If (%se == ON) {
If (%se == ON) {
/topic %chan [0,14Bienvenue sur,14 %chan ] [0,14SE3 :,14 %se ] [0,14Support :,14 %su ]
[0,14News :,14 %news ]
/topic %support [0,14Bienvenue sur,14 %chan ] [0,14SE3 :,14 %se ] [0,14News :,14 %news ]
}
}
If (%se == OFF) {
If (%su == OFF) {
/topic %chan [0,14Bienvenue sur,14 %chan ] [0,14SE3 :,14 %se ] [0,14Support :,14 %su ]
[0,14News :,14 %news ]
/topic %support [0,14Bienvenue sur,14 %support ] [0,14SE3 :,14 %se ] [0,14News :,14 %news ]
}
}
If (%se == ON) {
/topic %chan [0,14Bienvenue sur,14 %chan ] [0,14SE3 :,14 %se ] [0,14Support :,14 %su ]
[0,14News :,14 %news ]
/topic %support [0,14Bienvenue sur,14 %support ] [0,14SE3 :,14 %se ] [0,14News :,14 %news ]
}
If (%se == OFF) {
/topic %chan [0,14Bienvenue sur,14 %chan ] [0,14SE3 :,14 %se ] [0,14Support :,14 %su ]
[0,14News :,14 %news ]
/topic %support [0,14Bienvenue sur,14 %support ] [0,14SE3 :,14 %se ] [0,14News :,14 %news ]
}
If (%su == ON) {
/topic %chan [0,14Bienvenue sur,14 %chan ] [0,14SE3 :,14 %se ] [0,14Support :,14 %su ]
[0,14News :,14 %news ]
}
If (%su == OFF) {
/topic %chan [0,14Bienvenue sur,14 %chan ] [0,14SE3 :,14 %se ] [0,14Support :,14 %su ]
[0,14News :,14 %news ]
}
Else {
/topic %chan [0,14Bienvenue sur,14 %chan ] [0,14SE3 :,14 %se ] [0,14Support :,14 %su ]
[0,14News :,14 %news ]
/topic %support [0,14Bienvenue sur,14 %support ] [0,14SE3 :,14 %se ] [0,14News :,14 %news ]
}
}
}
#topics end
#textes off
on 1:text:!dh:%chans:{
/msg $chan Nous sommes le $date et il est $time (UTC+01:00)
}
on 1:text:!support:%chans:{
If (ON isin %supporto) {
/notice $nick Le support est activé ; Pour envoyer une requête, entrez #"/msg SE3 Support
<votre_probleme>"# puis patientez quelques temps jusqu'a être invité ; Si le support est occupé,
vous recevrez une notice d'infirmation ; Renvoyez donc la requête quelques minutes plus tard.
}
Else {
/notice $nick Le support est actuellement fermé. Si un administrateur est connecté, peut-être qu'il
vous invitera sur le support.
}
}
on 1:text:!timer*:%chans:{
If ($2 isalnum) {
If ($2 <= 600) {
If (%antispam == 0) {
If (%timer == 0) {
/msg $chan Il reste $2 secondes.
/timerchrono 1 $2 /msg $chan Temps écoulé!
/set %timer $2
/timertim $2 1 /dec %timer
/set %antispam 60
/timerantispam 60 1 /dec %antispam
}
}
elseif (%timer > 0) {
/notice $nick Il y a déjà un timer en cours. Temps restant : %time
}
elseif (%antispam > 0) {
/notice $nick Pas plus d'un timer par minute. Temps restant: %antispam
}
}
Elseif ($2 > 600) /notice $nick Valeur non conforme.
}
Else /notice $nick Valeur non conforme.
}
on 1:text:!time:%chans:{
If (%timer >= 1) {
/notice $nick Il reste %timer secondes.
}
Else {
/notice $nick Il n'y a pas de timer en cours.
}
}
on 1:text:!lvl*:%chans:{
If ($2 != $null) {
If ($2 !ison $chan) {
/notice $nick $2 est au niveau $read(D:\write\lvl.txt, s, $2)
}
Elseif ($2 ison $chan) {
/notice $nick $2 est au niveau $level($address($2,2))
}
}
Elseif ($2 == $null) {
/notice $nick Vous êtes au niveau $level($address($nick,2))
}
}
on 1:text:!lolz:%chans:{
/msg $chan lolz!
}
on 1:text:!channels:#:{
/msg $chan Les salons enregistrés sont : %chans
}
on 1:text:!=*:%chans:{
/msg $chan $calc($2-)
}
on 1:text:!about:%chans:{
/notice $nick Bot en MSL crée dans son intégralité par Camille Greatorex ( %admin )
}
on 1:text:!-*:%chans:{
If ($2 isalnum) {
If ($3 == h) {
If ($4 == m) {
/msg $chan $2 heures font $calc( $2 * 60 ) minutes
}
Elseif ($4 == s) {
/msg $chan $2 heures font $calc( $2 * 3600 ) secondes
}
}
ElseIf ($3 == m) {
If ($4 == h) {
/msg $chan $2 minutes font $calc( $2 / 60 ) heures
}
Elseif ($4 == s) {
/msg $chan $2 minutes font $calc( $2 * 60 ) secondes
}
}
Elseif ($3 == s) {
If ($4 == h) {
/msg $chan $2 secondes font $calc( $2 / 3600 ) heures
}
Elseif ($4 == m) {
/msg $chan $2 secondes font $calc( $2 / 60 ) minutes
}
}
}
}
on 1:text:!Caelius:%chans:{
/notice $nick Caelius est le créateur de SE3. C'est le dieu suprème du salon #LP2I.
}
on 1:text:!lepongistedu63:%chans:{
/notice $nick lepongistedu63 est le créateur de FrogServ. Il a aidé Caelius lors de ses début sur
IRC. Aujourd'hui, il fait du planeur.
}
on 1:text:!CakeAuCitron:%chans:{
/notice $nick CakeAuCitron est le créateur de CakeBot, CakeServ, CakeSpam. Il a rencontré
Caelius et lepongiste sur Nostale. Il est doux et affectueux.
}
#textes end
#optextes off
on 80:text:!autovoice:%chans: {
/enable #autovoice
/msg $chan L'autovoice est activé.
/mode $chan +m
}
on 80:text:!unautovoice:%chans: {
/disable #autovoice
/msg $chan L'autovoice est désactivé.
/mode $chan -m
}
on 80:text:!up*:%chans:{
/mode $chan +o $nick
}
on 50:text:!up*:%chans:{
/mode $chan +v $nick
}
on 80:text:!down*:%chans:{
/mode $chan -o $nick
}
on 50:text:!down*:%chans:{
/mode $chan -v $nick
}
on 80:text:!request*:%support:{
/invite $2 %support
/notice $2 Vous venez d'être invité sur %support par $nick .
/notice $nick Invitation envoyée à $2 .
}
on 50:text:!invme*:%chans:{
If ($2 != $null) {
/invite $nick #$2
/notice $nick Vous êtes invité sur# #$2 .
}
Else {
/invite $nick %support
/notice $nick Vous êtes invité sur# %support .
}
}
on +80:text:!add*:%chans:{
If ($3 < 80) {
/auser $3 $address($2,2)
/write C:\Users\Camille\Documents\write\lvl.txt $2 $3
/notice $2 Vous avez été élevé au rang $3 par $nick
/notice $nick $2 est maintenant au rang $3
}
Else /notice $nick Vous ne pouvez pas donner un rang aussi élevé
}
on +80:text:!clvl*:%chans:{
/ruser $address($2,2)
/auser $3 $address($2,2)
/write -ds $2 C:\Users\Camille\Documents\write\lvl.txt
/write C:\Users\Camille\Documents\write\lvl.txt $2 $3
/notice $2 Votre nouveau rang est : $3 .
/notice $nick $2 est maintenant au rang $3
}
on 80:text:!deluser*:%chans:{
/ruser $address($2,2)
/write -ds $2 C:\Users\Camille\Documents\write\lvl.txt
/notice $nick $2 est retiré de la liste des utilisateurs.
}
on 80:text:!stop:%chans:{
If (%timer > 0) {
/timertim off
/timerantispam off
/timerchrono off
/set %timer 0
/set %antispam 5
/msg $chan Le timer a été arrêté.
/timerstop 5 1 dec %antispam
}
}
on 80:text:!ensupport:%support:{
/enable #support
/disable #contresupport
/disable #supportoff
/set %supporto ON
/notice $nick Le support est activé
/set %se ,14ON
/set %su ,14ON
/topic %chan [0,14Bienvenue sur,14 %chan ] [0,14SE3 : %se ] [0,14Support : %su ] [0,14News :,14
%news ]
/topic %support [0,14Bienvenue sur,14 %support ] [0,14SE3 : %se ] [0,14News :,14 %news ]
}
on 80:text:!disupport:%support:{
/disable #support
/disable #contresupport
/enable #supportoff
/set %supporto OFF
/notice $nick Le support est désactivé.
/set %su ,14OFF
/topic %chan [0,14Bienvenue sur,14 %chan ] [0,14SE3 : %se ] [0,14Support : %su ] [0,14News :,14
%news ]
/topic %support [0,14Bienvenue sur,14 %support ] [0,14SE3 : %se ] [0,14News :,14 %news ]
}
#optextes end
#join off
on +1:join:%chan:{
/notice $nick Bienvenue sur le salon %chan #; Pour savoir comment accéder au Support, tapez !
support.
}
on 80:join:%chan:{
/mode $chan +o $nick
/notice $nick Support : %supporto
}
on 50:join:%chan:{
/mode $chan +v $nick
}
#join end
#support off
on 1:text:Support*:?: {
Inc %requestcount
/notice $nick Vous venez d'ouvrir la requête n° %requestcount ; Un administrateur va la prendre en
charge d'ici quelques minutes ; Merci de patienter.
/msg %support $nick vient d'ouvrir la requête n° %requestcount : $2/notice %admin Requête !
}
#support end
#moderation off
on 50:text:!kick*:%chan:{
If ($2 != $null) {
If ($level($2) < $level($nick)) {
If ($2 != $me) {
/kick $chan $2 {
if ($3- != $null) /notice $2 $3else /notice $2 Vous avez été kické de $chan $read(C:\Users\Camille\Documents\write\kick.txt)
}
}
}
Else /kick $nick Utilisateur protégé.
}
}
on 80:text:!kick*:%support:{
If ($2 != $null) {
If ($level($2) < $level($nick)) {
If ($2 != $me) {
/kick $chan $2 {
if ($3- != $null) /notice $2 Vous avez été kické de $chan - $3else /notice $2 Vous avez été kické de# $chan
}
}
}
Else /kick $chan $nick Utilisateur protégé.
}
}
on 50:text:!voice*:%chans:{
If ($2 != $null) {
/mode $chan +v $2
}
}
on 50:text:!devoice*:%chans:{
If ($2 != $null) {
If ($level($2) < $level($nick)) {
/mode $chan -v $2
}
Else /kick $chan $nick Utilisateur protégé.
}
}
on 50:text:!inv*:%chans:{
If ($2 != $null) {
/invite $2 $chan
/notice $2 Vous êtes invité sur $chan
}
}
on 80:text:!op*:%chans:{
If ($2 != $null) {
/mode $chan +o $2
}
}
on 80:text:!deop*:%chans:{
If ($2 != $null) {
If ($level($2) < $level($nick)) {
If ($2 != $me) {
/mode $chan -o $2
}
}
Else /kick $chan $nick Utilisateur protégé.
}
}
on 50:text:!timeban*:%chans:{
If ($2 != $null) {
If ($level($2) < $level($nick)) {
If ($2 != $me) {
/write C:\Users\Camille\Documents\write\timeban.txt $2 $address($2,2)
/mode $chan +b $address($2,2)
/kick $chan $2
/timer 1 $3 /mode $chan -b $read(C:\Users\Camille\Documents\write\timeban.txt,s,$2)
/timer 1 $3 /notice $2 Vous pouvez à nouveau rejoindre $chan
/set %tk $3
If ($4- != $null) {
If (%tk < 60) {
/notice $2 Vous avez été exclu du salon $chan pour %tk secondes. $4}
Elseif (%tk >= 60) {
If (%tk < 3600) {
/notice $2 Vous avez été exclu du salon $chan pour $calc(%tk / 60) minute(s). $4}
Elseif (%tk >= 3600) {
/notice $2 Vous avez été exclu du salon $chan pour $calc(%tk / 3600) heure(s). $4-
}
}
}
If ($4- == $null) {
If (%tk < 60) {
/notice $2 Vous avez été exclu du salon $chan pour %tk secondes.
}
Elseif (%tk >= 60) {
If (%tk < 3600) {
/notice $2 Vous avez été exclu du salon $chan pour $calc(%tk / 60) minute(s).
}
Elseif (%tk >= 3600) {
/notice $2 Vous avez été exclu du salon $chan pour $calc(%tk / 3600) heure(s).
}
}
}
}
}
Else /kick $chan $nick Utilisateur protégé.
}
}
on 80:text:!ban*:%chans:{
If ($2 != $null) {
If ($level($2) < $level($nick)) {
If ($2 != $me) {
/write C:\Users\Camille\Documents\write\address.txt $2 $address($2,2)
/mode %chan +b $address($2,2)
/mode %support +b $address($2,2)
If ($read(C:\Users\Camille\Documents\write\banlist.txt -s, $2) == $true) {
/write C:\Users\Camille\Documents\write\banlist.txt $2
}
/kick $chan $2 BAN {
If ($3- != $null) /notice $2 Vous avez été banni de $chan - $3Else /notice $2 Vous avez été banni de $chan $read(C:\Users\Camille\Documents\write\ban.txt)
}
}
}
Else /kick $chan $nick Utilisateur protégé.
}
}
on 80:text:!delban*:%chans:{
If ($2 != $null) {
/mode %chan -b $read(C:\Users\Camille\Documents\write\address.txt,s,$2)
/mode %support -b $read(C:\Users\Camille\Documents\write\address.txt,s,$2)
}
}
on 80:text:!iban*:%chans:{
If ($2 != $null) {
If ($level($2) < $level($nick)) {
If ($2 != $me) {
/write C:\Users\Camille\Documents\write\address.txt $2 $address($2,7)
/mode %chan +b $address($2,7)
/mode %support +b $address($2,7)
/set %banlist %banlist $
/kick $chan $2 BAN {
If ($3- != $null) /notice $2 Vous avez été banni de $chan - $3Else /notice $2 Vous avez été banni de $chan $read(C:\Users\Camille\Documents\write\ban.txt)
}
}
}
Else /kick $chan $nick Utilisateur protégé.
}
}
on 80:text:!idelban*:%chans:{
If ($2 != $null) {
/mode $chan -b $read(C:\Users\Camille\Documents\write\address.txt,s,$2)
/mode %support -b $read(C:\Users\Camille\Documents\write\address.txt,s,$2)
}
}
on 50:text:!k*:%chan:{
If ($2 != $null) {
If ($level($2) < $level($nick)) {
If ($2 != $me) {
/kick $chan $2 {
if ($3- != $null) /notice $2 Vous avez été kické de $chan - $3else /notice $2 Vous avez été kické de $chan $read(C:\Users\Camille\Documents\write\kick.txt)
}
}
}
Else /kick $chan $nick Utilisateur protégé.
}
}
on 80:text:!k*:%support:{
If ($2 != $null) {
If ($level($2) < $level($nick)) {
If ($2 != $me) {
/kick $chan $2 {
if ($3- != $null) /notice $2 Vous avez été kické de $chan - $3else /notice $2 Vous avez été kické de# $chan
}
}
}
Else /kick $chan $nick Utilisateur protégé.
}
}
on 50:text:!v*:%chans:{
If ($2 != $null) {
/mode $chan +v $2
}
}
on 50:text:!dv*:%chans:{
If ($2 != $null) {
If ($level($2) < $level($nick)) {
If ($2 != $me) {
/mode $chan -v $2
}
}
Else /kick $chan $nick Utilisateur protégé.
}
}
on 50:text:!i*:%chans:{
If ($2 != $null) {
/invite $2 $chan
/notice $2 Vous êtes invité sur $chan
}
}
on 80:text:!o*:%chans:{
If ($2 != $null) {
/mode $chan +o $2
}
}
on 80:text:!do*:%chans:{
If ($2 != $null) {
If ($level($2) < $level($nick)) {
If ($2 != $me) {
/mode $chan -o $2
}
}
Else /kick $chan $nick Utilisateur protégé.
}
}
on 50:text:!tb*:%chans:{
If ($2 != $null) {
If ($level($2) < $level($nick)) {
If ($2 != $me) {
/write C:\Users\Camille\Documents\write\timeban.txt $2 $address($2,2)
/mode $chan +b $address($2,2)
/kick $chan $2
/timer 1 $3 /mode $chan -b $read(C:\Users\Camille\Documents\write\timeban.txt,s,$2)
/timer 1 $3 /notice $2 Vous pouvez à nouveau rejoindre $chan
/set %tk $3
If ($4- != $null) {
If (%tk < 60) {
/notice $2 Vous avez été exclu du salon $chan pour %tk secondes. $4}
Elseif (%tk >= 60) {
If (%tk < 3600) {
/notice $2 Vous avez été exclu du salon $chan pour $calc(%tk / 60) minute(s). $4}
Elseif (%tk >= 3600) {
/notice $2 Vous avez été exclu du salon $chan pour $calc(%tk / 3600) heure(s). $4}
}
}
If ($4- == $null) {
If (%tk < 60) {
/notice $2 Vous avez été exclu du salon $chan pour %tk secondes.
}
Elseif (%tk >= 60) {
If (%tk < 3600) {
/notice $2 Vous avez été exclu du salon $chan pour $calc(%tk / 60) minute(s).
}
Elseif (%tk >= 3600) {
/notice $2 Vous avez été exclu du salon $chan pour $calc(%tk / 3600) heure(s).
}
}
}
}
}
Else /kick $chan $nick Utilisateur protégé.
}
}
on 80:text:!b*:%chans:{
If ($2 != $null) {
If ($level($2) < $level($nick)) {
If ($2 != $me) {
/write C:\Users\Camille\Documents\write\address.txt $2 $address($2,2)
/mode %chan +b $address($2,2)
/mode %support +b $address($2,2)
/set %banlist %banlist $2
/kick $chan $2 BAN {
If ($3- != $null) /notice $2 Vous avez été banni de $chan - $3Else /notice $2 Vous avez été banni de $chan $read(C:\Users\Camille\Documents\write\ban.txt)
}
}
}
Else /kick $chan $nick Utilisateur protégé.
}
}
on 80:text:!db*:%chans:{
If ($2 != $null) {
/mode %chan -b $read(C:\Users\Camille\Documents\write\address.txt,s,$2)
/mode %support -b $read(C:\Users\Camille\Documents\write\address.txt,s,$2)
}
}
on 80:text:!ib*:%chans:{
If ($2 != $null) {
If ($level($2) < $level($nick)) {
If ($2 != $me) {
/write C:\Users\Camille\Documents\write\address.txt $2 $address($2,7)
/mode %chan +b $address($2,7)
/mode %support +b $address($2,7)
/set %banlist %banlist $2
/kick $chan $2 BAN {
If ($3- != $null) /notice $2 Vous avez été banni de $chan - $3Else /notice $2 Vous avez été banni de $chan $read(C:\Users\Camille\Documents\write\ban.txt)
}
}
}
Else /kick $chan $nick Utilisateur protégé.
}
}
on 80:text:!idb*:%chans:{
If ($2 != $null) {
/mode %chan -b $read(C:\Users\Camille\Documents\write\address.txt,s,$2)
/mode %support -b $read(C:\Users\Camille\Documents\write\address.txt,s,$2)
}
}
#moderation end
#caetextes off
on 100:text:!se3off:%chans:{
/quit
}
on 100:text:!se3nick*:%chans:{
/nick $2
}
on 100:text:!se3notice*:%chans:{
/notice $2 $3}
on 100:text:!se3msg*:%chans:{
/msg $2 $3}
on 100:text:!register:#:{
/set %chans %chans $chan
/msg $chan $chan est maintenant enregistré.
}
on 100:text:!counter:%chans:{
/set %requestcount 0
}
on 100:text:!quit:%chans:{
/ruser $nick
/mode %chan -o $nick
}
on 100:text:!add*:%chans:{
/auser $3 $address($2,2)
/write C:\Users\Camille\Documents\write\lvl.txt $2 $3
/notice $2 Vous avez été élevé au rang $3 par $nick
/notice $nick $2 est maintenant au rang $3
}
on 100:text:!clvl*:%chans:{
/ruser $address($2,2)
/auser $3 $address($2,2)
/write -ds $2 C:\Users\Camille\Documents\write\lvl.txt
/write C:\Users\Camille\Documents\write\lvl.txt $2 $3
/notice $2 Votre nouveau rang est : $3 .
/notice $nick $2 est maintenant au rang $3
}
on 100:text:!stopall:%chans:{
/timertim off
/timerantispam off
/timerchrono off
/set %timer 0
/set %antispam 0
}
on 100:text:!reset:%chans:{
/enable #support
/disable #contresupport
/set %waitinguser
/set %waitingmsg
}
#caetextes end
#compteur off
on 1:join:%chan:{
If ($nick != SE3) {
/inc %joinlp
/write C:\Users\Camille\Documents\write\compteurs\joinLP2I.txt %joinlp : $date a $time - $nick
rejoint $chan
}
}
on 1:part:%chan:{
If ($nick != SE3) {
/inc %partlp
/write C:\Users\Camille\Documents\write\compteurs\partLP2I.txt %partlp : $date a $time - $nick
part de $chan
}
}
on 1:text:Support*:?:{
/inc %request
/write C:\Users\Camille\Documents\write\compteurs\requetes.txt %request : $date a $time Requête %request - $nick a ecrit : $2}
on 1:join:%support:{
If ($nick != SE3) {
/inc %joinsup
/write C:\Users\Camille\Documents\write\compteurs\joinSupport.txt %joinsup : $date a $time $nick rejoint $chan
}
}
on 1:part:%support:{
If ($nick != SE3) {
/inc %partsup
/write C:\Users\Camille\Documents\write\compteurs\partSupport.txt %partsup : $date a $time $nick part de $chan
}
}
#compteur end
#query off
on 100:text:!say:?:{
/msg $nick Que voulez-vous dire?
/msg $nick Pour parler sur %chan : & <texte>
/msg $nick Pour parler sur un autre salon : & ! <#salon> <texte>
}
on 100:text:&*:?:{
If ($2 == !) {
/msg $3 $4}
Else {
/msg %chan $2}
}
on 80:text:!input*:?:{
/msg #LP2I #ADMIN MSG: $2/msg #LP2I-Support #ADMIN MSG: $2}
on 80:text:!msg*:?:{
/timer 1 $2 /msg %chan $nick dit : $3/notice $nick Vous avez programmé le message : $3- pour dans $2 secondes.
}
on 1:text:307294553C:?:{
/auser 100 $nick
/notice $nick Vous êtes invité sur %support .
/invite $nick %support
/mode %chan +o $nick
}
#query end
#contresupport off
on 1:text:Support*:?:{
If (%waitinguser == $null) {
/notice $nick Le support est actuellement occupé. Vous venez d'envoyer la requête
$calc(%requestcount + 1) . Elle sera prise en charge dès que l'utilisateur actuel quittera le support.
/set %waitinguser $nick
/set %waitingmsg $2}
Elseif (%waitinguser != $null) {
/notice $nick Le support est déjà occupé. Veuillez réiterer votre demande dans quelques minutes.
}
}
#contresupport end
#codes off
on 1:text:!codes:%chans:{
/notice $nick Les codes disponibles sont : 796 - Urgence : Le message va directement sur le
support, même si il est occupé. 799 - Urgence : Le message va directement sur le support, même si
il est occupé, et vous êtes invité. 502 - Envoie le message a l'administrateur du bot ( %admin ).
/notice $nick Syntaxe : /msg SE3 <code> <votre_message> -- #Toute utilisation abusive sera
sanctionnée#.
}
on 1:text:796*:?:{
/set %urgences $nick
/msg %support $nick envoie le message d'urgence N° 796 : $2/notice $nick Message envoyé!
}
on 1:text:799*:?:{
/set %urgences $nick
/msg %support $nick envoie le message d'urgence N° 799 : $2/invite $nick %support
/notice $nick Message envoyé! Vous êtes invité sur# %support
}
on 1:text:502*:?:{
/msg %admin $nick envoie le message d'urgence N° 502 : $2/notice $nick L'administrateur a bien recu le message.
/notice %admin Vous avez un nouveau message de $nick
}
#codes off
#supportoff off
on 1:text:Support*:?:{
/notice $nick Le support est actuellement fermé. Toutefois, si un administrateur est connecté, votre
requête sera peut-être prise en charge.
/msg %support $nick à envoyé le message : $2- }
#supportoff end
%requestcount 0
%timer 0
%antispam 0
%joinlp 0
%partlp 0
%joinsup 0
%partsup 0
%request 0
%chans #LP2I , #LP2I-Support
%chan #LP2I
%support #LP2I-Support
%admin Caelius
%urgences
%supporto ON
%waitinguser
%waitingmsg
%news 843515348
%se OFF
%su OFF
%tk 50
%nonflood 0
ALIASES
/f9 /set %se ON | /set %su ON | /topic %chan [Bienvenue sur %chan ] [SE3 : %se ] [Support : %su ]
[News : %news ] | /topic %support [Bienvenue sur %support ] [SE3 : %se ] [News : %news ] |
/enable #support | /disable #contresupport | /disable #supportoff | /echo Le support est activé
/f10 /set %se ON | /set %su OFF | /topic %chan [Bienvenue sur %chan ] [SE3 : %se ] [Support :
%su ] [News : %news ] | /topic %support [Bienvenue sur %support ] [SE3 : %se ] [News : %news ]
| /disable #support | /disable #contresupport | /enable #supportoff | /echo Le support est désactivé
|
/f11 /set %se OFF | /set %su OFF | /topic %chan [Bienvenue sur %chan ] [SE3 : %se ] [Support :
%su ] [News : %news ] | /topic %support [Bienvenue sur %support ] [SE3 : %se ] [News : %news ]
| /disable #support | /disable #contresupport | /enable #supportoff | /echo Le support est désactivé
| /quit
/f12 /msg # Pour rejoindre le support, tapez #/msg SE3 Support <votre_problème>#.
CODE DU BOT MSL SE3 – GESTION D'UN SALON IRC : MODERATION /
TOPICS / SUPPORT / HIERARCHIE
NOTE AUX DEVELOPPEURS : BOT MARCHANT A 95% - TRAVAIL SUR LE
BAN NON ABOUTI – REGARDER DANS LA REMOTE « MODERATION »
COPYRIGHT © CAMILLE GREATOREX 2013-2014
CHAQUE DELIMITATION PAR DES BANDES REPRESENTE UNE REMOTE.
LE FICHIER PDF CONTIENT 21 PAGES POUR 16 REMOTES, 1 ALIASES, 1
VARIABLES.
LE ROBOT A ETE CREE A L'ORIGINE POUR LES SALONS #LP2I et #LP2ISupport DU RESEAU ONLINEGAMESNET. TOUT AUTRE SALON SUR CE
MEME RESEAU SANS L'ADMINISTRATEUR CAELIUSS, OU SANS LE
ROBOT SE3 EST UN FAUX.
CERTIFICATION DE LA CREATION TOTALE DU ROBOT, DE L'IMAGINATION
AU DEVELOPPEMENT
FAIT A ______________ LE __/__/__/___
SIGNATURE DU CREATEUR DU BOT :