; MODIFIED/OPTIMIZED CODE!
; Je ne l'ai volontairement pas commente. A toi, minerbe, de
; chercher, d'apprendre et de comprendre. Bien evidemment, nous
; repondrons a toutes tes questions.
On $*:Text:/^((!(?:add|del)?news) \s ([^$]+))$/iSx:#:{
Var %C = $regml(2) , %n = $nick
Tokenize 32 $regml(3)
If !%n.busy {
Set -ze %n.busy 7
If (%C == !news) && $isfile(news.txt) {
If !$2 { Sendnews %n }
Else { .Timer 1 2 .Notice %n News $iif($read(news.txt,$2),$2 : $v1,inexistante) }
}
ElseIf (%C == !addnews) {
If $UsrProt(%n) { .Timer 1 1 .Notice %n $TxtEch(1) | Return }
If $2 { Write news.txt $2- | .Timer 1 1 .Notice %n News ajoutée }
Else { .Timer 1 1 .Notice %n $TxtEch(2) }
}
ElseIf (%C == !delnews) && $isfile(news.txt) {
If $UsrProt(%n) { .Timer 1 1 .Notice %n $TxtEch(1) | Return }
If $2 {
If ($2 <= $lines(news.txt)) { Write -dl $+ $2 news.txt | .Timer 1 1 .Notice %n News $2 supprimée }
Else { .Notice %n News inexistante! }
}
Else { .Notice %n $TxtEch(3) }
}
}
Else { .Timer 1 1 .Notice %n Veuillez patienter svp... Merci }
}
Alias -l Sendnews {
If !$lines(news.txt) { .Timer 1 1 .Notice $1 $TxtEch(4) | Return }
Play -pn $1 news.txt 1500
}
Alias -l UsrProt { Return $iif(!$istok($+(%protect,$chr(32),%owner,$chr(32),%master),$1,32),1,0) }
Alias -l TxtEch {
If ($1 == 1) { Return Accès refusé. }
ElseIf ($1 == 2) { Return Entres le texte de la news! }
ElseIf ($1 == 3) { Return Entres le numéro de la news à supprimer! }
ElseIf ($1 == 4) { Return Aucune news pour le moment }
Else Return
}
; INFORMATIONS COMPLEMENTAIRES
; - Nul besoin de creer le fichier "news.txt". Tout se fait
; automatiquement. Si inexistant lors d'un '!delnews' ou
; d'un '!news [nombre]', la fonction ne fera rien.
; - Creation de 2 fonctions supplementaires. L'une verifiant
; que le user activant le on text soit dans les listes
; 'master|owner|protect' et l'autre affichant les textes
; divers.
; - Utilisation de la commande /play pour envoyer les news
; sans grand risque d'etre deconnecte en 'Excess flood' du
; serveur.
; - Utilisation de variable de temporisation '%n.busy' mettant
; l'etat de la fonction en 'occupe' pour 7 secondes lorsqu'une
; demande lui ai faite. Donc, elle ne sera accessible que
; toutes les 7 secondes.
; ET ENFIN
; - Utilises plutot ce forum pour demander de l'aide pour
; debugger tes codes.
Cordialement