Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

ANTI IDLE POUR SALON


Information sur la source

Catégorie :AddOns Classé sous : idle, anti Niveau : Débutant Date de création : 07/06/2005 Date de mise à jour : 07/06/2005 22:42:02 Vu : 3 856

Note :
6,2 / 10 - par 5 personnes
6,20 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note

Description

Je devais en faire un alors je vous le fait partager, pratique pour des salons d'aide un anti-idle.
 

Source

  • alias kbidle {
  • ban -u300 $$2 $address($$1,2)
  • kick $$2 $$1 Ban 5mins No idle please.
  • }
  • on *:join:%salonai:{
  • timer $+ $nick 1 600 kbidle $nick $chan
  • }
  • on *:text:*:%salonai:{
  • if (($nick !isop $chan) && ($nick !isvoice $chan)) {
  • .timer $+ $nick off
  • .timer $+ $nick 1 600 kbidle $nick $chan
  • }
  • }
  • on *:op:%salonai:{
  • .timer $+ $opnick off
  • }
  • on *:deop:%salonai:{
  • if ($opnick !isvoice $chan) {
  • .timer $+ $nick 1 600 kbidle $opnick $chan
  • }
  • }
  • on *:devoice:%salonai:{
  • if ($vnick !isop $chan) {
  • .timer $+ $nick 1 600 kbidle $vnick $chan
  • }
  • }
  • on *:voice:%salonai:{
  • .timer $+ $vnick off
  • }
alias kbidle {
  ban -u300 $$2 $address($$1,2) 
  kick $$2 $$1 Ban 5mins No idle please.
}
on *:join:%salonai:{
timer $+ $nick 1 600 kbidle $nick $chan
}
on *:text:*:%salonai:{
  if (($nick !isop $chan) && ($nick !isvoice $chan)) {
    .timer $+ $nick off
    .timer $+ $nick 1 600 kbidle $nick $chan
  }
}
on *:op:%salonai:{
  .timer $+ $opnick off
}
on *:deop:%salonai:{
  if ($opnick !isvoice $chan) {
    .timer $+ $nick 1 600 kbidle $opnick $chan
  }
}
on *:devoice:%salonai:{
  if ($vnick !isop $chan) {
    .timer $+ $nick 1 600 kbidle $vnick $chan
  }
}
on *:voice:%salonai:{
  .timer $+ $vnick off
}

Conclusion

Aprés avoir chargé le script faites /set %salonai #NomDuSalonOuSeraLanti-Idle
%salonai est une variable vous permettant de définir le salon de controle anti-idle.
Sa bannira pendant 5mins si une personne non op ou voice ne parle pas sur le salon durant 10minutes.
 

Historique

07 juin 2005 22:42:02 :
J'avais oublié une portion de code :x

Commentaires et avis

signaler à un administrateur
Commentaire de COOLMAN002 le 07/06/2005 23:30:44

Utilise RAWMODE, verifie que tu es op du salon.
Renome le query en cas de changement de nick.
Vérifier que $nick != toi :)

En mettant un nom de $chan dans le timer, tu pourrais faire multi chan ! (et un nom de $server, multi serveur)

Niveau utilité...

signaler à un administrateur
Commentaire de wims le 08/06/2005 00:32:43

Generalement sur les salon d'aide ce qui ne sont ni voice ni op ( ni halfop. pas traité ici ) bah c'est ceux qui aide le plus.J'vois pas l'utilité de les viré parce qu'il parle pas.
ajoute un truc du style : on load var %z $$input(quel sont les channel,e,(separé par une virgule)) et tu set %z ds ta var et tu utilise $istok

signaler à un administrateur
Commentaire de tofu le 08/06/2005 00:51:05

je suis personnellement contre cette pratique de bannir les users qui idle sur les chans d'aide. (dailleurs jss jms sur les salons d'aident qui kick les gens qui idle va savoir pk jss tjrs ban. (:)

signaler à un administrateur
Commentaire de RCA ArKanis le 08/06/2005 01:13:07

    .timer $+ $nick off
    .timer $+ $nick 1 600 kbidle $nick $chan

ta première ligne n'est pas nécessaire, vu que tu as donné un nom au timer
si la personne change de nick, elle est sauvée :p

signaler à un administrateur
Commentaire de MaX_62 le 08/06/2005 10:52:51

Si t'as qu'une seule commande, pas besoin d'accolades :
on *:voice:%salonai:.timer $+ $vnick off
Pour le ban, je pense qu'il vaut mieux faire :
/ban -ku300 $$2 $$1 2 Ban 5mins No idle please. (sinon t'es pas sur de récupérer les $address, et ça evite de faire un /kick)
(et les halfops ?...)

signaler à un administrateur
Commentaire de MaX_62 le 08/06/2005 10:53:52

Si t'as qu'une seule commande, pas besoin d'accolades :
on *:voice:%salonai:.timer $+ $vnick off
Pour le ban, je pense qu'il vaut mieux faire :
/ban -ku300 $$2 $$1 2 Ban 5mins No idle please. (sinon t'es pas sur de récupérer les $address, et ça evite de faire un /kick)
(et les halfops ?...)

signaler à un administrateur
Commentaire de elkwi le 13/07/2006 23:31:23

ce script est super car il montre une utilisation un peu plus poussée des concaténations de chaines de caracteres. Mais je pense qu il y a plus direct, surtout que ce script oblige a jongler avec les timers !!!! moi je propose celui la!!
Il est reglé pour un salon bien défini et pour un idle de 600 secondes! Certains me diront qu ils manquent des choses comme un ban mais ça peut montrer une autre optique.
Cf $nick(#salon,nick/index,aohvr,aohvr).idle
;;;;;;;;;;;;;;;;;;;;;;;;;;; anti idle ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Script : anti Idle                                           ;;
;; Doit pouvoir permettre de virer quelqu un sur idle time over ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

on *:load : {
  ;; durée du ban
  set %idleTime.over 600
  ;; Raison du kick
  ;; salons
}
on *:unload: {
  ;; durée du ban
  unset %idleTime.over
  ;; Raison du kick
  ;; salons
}

alias antiidle {
  if ($$1 isin start) {
    /actidle
    /timerantiidle 0 60 /actIdle
    /goto done
  }
  if ($$1 isin stop) {
    /timerantiidle off
  }
  :done
}

alias actIdle {
  set %idle.nb.regular $calc($nick(#biere-entre-potes,0,r) + 1)
  set %idle.ind 1
  while (%idle.ind < %idle.nb.regular) {
    /echo @highlights $nick(#biere-entre-potes,%idle.ind,r) $+ $chr(32) $+ idle time : $+ $chr(32) $+ $nick(#biere-entre-potes,%idle.ind,r).idle $+ $chr(32) $+ secondes
    if ($nick(#biere-entre-potes,%idle.ind,r).idle > 600) {
      /kick #biere-entre-potes $nick(#biere-entre-potes,%idle.ind,r) $+ $chr(32) IDLE TIME OVER - temps de squattage maximum autoriser 10 minutes (600 secondes) => $+ $chr(32) $nick(#biere-entre-potes,%idle.ind,r).idle
    }
    /inc %idle.ind 1
  }
  unset %idle.ind
  unset %idle.nb.regular
}

signaler à un administrateur
Commentaire de elkwi le 13/07/2006 23:35:36

désolé  j ai laisser un /echo -a @highlights pour afficher ça dans une fenetre et savoir ou j en suis !!! vous trouverez bien une bidouille a faire avec !!!

signaler à un administrateur
Commentaire de RCA ArKanis le 13/07/2006 23:45:54

il est mal codé en tout cas ^^

berk les goto :(

utilise les variables locales ^^
la variable %idletime.over ne sert à rien, autant remplacer directement par 600 ^^

signaler à un administrateur
Commentaire de elkwi le 14/07/2006 00:08:02

l interet c est de montrer l utilisation  de la fonction $nick(...).idle.
Le reste viendra plus tard c est en projet mais sur une source complete !!!

a titre d info arkanais ... un bon goto est un goto qui va empecher le pipe du processeur de se remplir et empecher la creation d un jump lors du test du second if (qui evidement n arrivera jamais). Donc dans ce genre de cas, il est completement justifié. Et c est ce genre de detail qui fait qu a la longue les scripts deviennent tres lourds pour une machine.
exemple :
if (machin1) .......          ==> if (machin1) ....... /goto ok
if (machin2) .......          ==> if (machin2) ....... /goto ok
if (machin3) .......          ==> if (machin3) ....... /goto ok
if (machin4) .......          ==> if (machin4) .......
                              ==> :ok

signaler à un administrateur
Commentaire de RCA ArKanis le 14/07/2006 00:23:58

et t'en fais quoi des elseif et des else ?

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

anti idle [ par mec_tendre91 ] bonjour je souhaite faire un anti idle sur le whois mais je sais pas comment m'y prendre !!! pouvez vous m'aidé svp ?merci :) anti-pv flood sur ouverture [ par Fabfranck ] J'ai commencer un petit code bien simple et je me demande vraiment pourquoi il ne fonctione pas. Il a pour but de mettre en ignore *!*@* lorsque je re Anti-Mass join Anti-clone [ par Soprano71 ] bonjour a tous ! y aurai t'il un anti clone en dial et anti-mass join  svp ? Anti Multiple Querry [ par LePunisherQc ] Bonjour, je suis nouveau dans le scripting et j'aimerais savoir comment faire pour désactiver les multiples querry. Je m'explique je voudrais faire un anti sapart [ par achills ] bsr tout le mondesvp il y' a un ircop qui s'amuse a me faire des sapart d'un salon et je cherche un script qui me permet de join le chanel au cas du s anti flood long texte [ par zduke ] plop tous le monde ! bah ça fait un bail que je cherches un addon  pour kicker ou bannir ceux qui nous ecrivent des romains de 3 et 4 lignes ! je parl anti flood [ par Moustiko ] ^^salut les collegues scripteurs^^je commence a scripter et je cherche a faire un antiflood pour mon bot personnelje n'arrive pas a le metre en place, anti ban [ par ckemoua ] CkemouAsaluté c encore moi.....je cherche un dialog pour konfig un anti ban sur:un ou plusieurs chans et sur un ou plusieurs botavec config du message Anti voice [ par Twinuts ] Bonjours vous tous,Voila voila je fais parti des usagers irc qui ne supporte pas les voice(c'est con mais bon).Vu mon niveau en programmation Irc je n Anti-Majuscule [ par jujuquatre ] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~JuJuQuArTrE s^ s^ s^ JuJu_BoT WWW.ut2004.fr.st~~~~~~~~~~~~~~~~~~~~~~~~~~~~Svp je chercherai comment faire un anti-majs Mer


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,671 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.