OMGYSU! (version actuelle : 3.1)
#1
 
Description :

OMGYSU!, dont le délicieux acronyme signifie "Oh My God You Shut Up!", vous permet d'imposer le silence à un individu ou à tout un chan de façon très efficace.

La commande !chut pose un ban quiet ainsi qu'un ban nickchange (~q et ~n, si votre serveur les supporte) sur un individu.
Elle s'assure ensuite que ces bans ne seront pas enlevés et empêche la cible d'être voicée/halfopée/opée par quiconque.
Le ban quiet empêche la cible de parler sans l'empêcher de rejoindre le chan, et le ban nickchange l'empêche de changer de nick pour éviter le nick-chatting.
Il est possible de définir une durée au bout de laquelle la restriction sera levée automatiquement. Si aucune durée n'est spécifiée, le script prendra une valeur par défaut de 3mn (paramétrable).

Il est également possible d'imposer le silence sur un chan entier au moyen de la commande !vg.
Le script modère alors le chan (mode +m), bloque les changements de nick dans le but d'empêcher le nick chatting (mode +N) et s'assure que ces modes seront maintenus, puis il déop/déhalfop/dévoice tout le monde sauf les utilisateurs portant certains flags (que vous pouvez définir).
Tant que cette modération est active, le bot empêche quiconque d'être opé/halfopé/voicé sauf par des utilisateurs portant des flags les exemptant.
Là encore il est possible de définir la durée de la modération et une valeur par défaut est utilisée en l'absence de ce paramètre.

Veuillez noter que OMGYSU! a été conçu pour fonctionner sur des serveurs supportant les bans étendus, et que l'option single_target_shutup_method n'existe que pour ceux qui voudraient quand même utiliser ce script ailleurs au prix de certaines restrictions.
Si votre serveur ne supporte pas les bans étendus, le script peut adopter un autre comportement pour faire taire un individu en mettant un ban simple sur lui et en l'empêchant d'être opé/halfopé/voicé.
Ce ban sera supprimé immédiatement si l'utilisateur quitte le chan afin de ne pas l'empêcher de revenir, et sera remis aussitôt s'il revient.
Notez que ce fonctionnement ne pourra pas enlever le ban assez rapidement pour permettre à un auto-rejoin de fonctionner si l'utilisateur est kické, et que celui-ci ne pourra pas non plus /cycle le chan.


Activation :

Pour activer OMGYSU! sur un chan, vous devez taper ceci en partyline de l'eggdrop :
.chanset #NomDuChan +OMGYSU
et ceci pour le désactiver :
.chanset #NomDuChan -OMGYSU


Syntaxe :

!chut <nick> [durée en mn] : Impose le silence à un individu pendant la durée spécifiée (sinon 3mn par défaut).
!chut <nick/host/mask/index> off : Redonne la parole à un individu avant expiration du temps initial. Pour connaître un index, reportez-vous à la commande !chutlist.
!vg [durée en mn] : Impose le silence sur un chan pendant la durée spécifiée (sinon 3mn par défaut).
!vg off : Lève la restriction de parole sur un chan avant expiration du temps initial.
!chutlist [-all] : Affiche une liste des modérations actives sur le chan en cours, ou sur tous les chans si le paramètre -all est spécifié.
!chutinfo <index> : Affiche des informations détaillées sur une modération dont vous avez spécifié l'index. Ces numéros s'obtiennent au moyen de la commande !chutlist.


Screenshot :

[Image: http://img854.imageshack.us/img854/5750/sjs4.png]


Changelog :

Citation :1.0
  • 1ère version
2.0
  • Correction : il n'est plus possible d'utiliser la commande !chut contre l'eggdrop.
  • Ajout : nouvelle option permettant ou non de retourner la commande !chut contre celui qui l'a tapée si celle-ci visait l'eggdrop.
  • Ajout : nouvelle option permettant d'afficher un message de votre choix lorsqu'une commande du script est utilisée.
  • Modification : OMGYSU! utilise maintenant le ban étendu ~n (si disponible) afin d'empêcher le nick chatting. En ce qui concerne le !vg, Le mode de chan +N est utilisé en conjonction du mode +m.
  • Correction : lorsque l'on spécifie une durée d'1mn, le bot enlève parfois la punition après quelques secondes. C'est dû au fonctionnement interne des timers : l'eggdrop décrémente un timer à chaque passage de minute, ce qui fait que si on lance un {timer 1 blabla} à 14h22mn57s, il expirera à 14h23mn00s, donc 3 secondes après. La marge d'imprécision d'un timer est donc de 59,99 secondes, ce qui le rend inutilisable lorsque la précision compte.
  • Correction : une incohérence dans le code posait problème lorsqu'on mettait un !chut sur plusieurs personnes, puis qu'on tentait de "!chut <nick> off" ensuite. En effet, il faut savoir que lorsqu'on modifie un array, cela interromp toutes les recherches en cours sur lui.
  • Correction : les nicks contenant des caractères spéciaux ne gênent plus le fonctionnement du script.
  • Ajout : nouveau paramètre fast_queue_compatibility afin d'assurer la compatibilité du script avec les versions 1.6.19 et 1.6.20 d'Eggdrop.
  • Modification : il est n'est plus autorisé de mettre 0 secondes comme durée.
  • Correction : si l'option single_target_shutup_method est réglée sur 2, le chan est maintenant dé-modéré (-m) si le dernier !chut actif est levé, et chaque utilisateur dont la punition se termine est voicé s'il reste encore des !chut actifs sur d'autres utilisateurs.
2.1
  • Correction : faire !vg off sur un chan où aucun !vg n'est en cours ne provoque maintenant plus d'erreur.
  • Correction : la façon d'envoyer des modes -b au serveur a été modifiée en raison d'un problème lié à l'utilisation de pushmode pour débannir un utilisateur possédant un ident trop long.
  • Modification : en raison des problèmes rencontrés par les utilisateurs n'ayant défini aucun chan statique dans leur fichier eggdrop.conf, OMGYSU! n'est désormais plus activé automatiquement sur tous les chans lors du 1er lancement du script. Vous devrez donc l'activer manuellement sur chaque chan au moyen de la commande : .channel set #nomduchan +OMGYSU (à taper en partyline)
  • Modification : il est désormais possible de désactiver la modération avec !vg off même si elle n'a pas été activée au moyen de !vg ou si l'eggdrop a été rehash/restart (ou autre) avant la levée de la modération et qu'il a par conséquent oublié le !vg en cours.
  • Modification : il est désormais possible d'enlever une modération au moyen de la commande "!chut <index> off", et ce même si la personne a quitté le chan. Vous pouvez afficher les index grâce à la commande !chutlist (voir ci-dessous).
  • Ajout de la commande !chutlist permettant d'afficher une liste des !chut et !vg actifs sur le chan en cours, ou sur tous les chans si le paramètre -all est spécifié.
  • Pas mal d'optimisations du code.
  • Passage sous licence Creative Commons.
2.11
  • Correction d'un bug avec la commande !chutlist qui n'affichait pas les bons index.
  • Correction de la variable $version du script qui était restée en 2009.
3.0
  • Ajout : nouveau paramètre de configuration hostmask_type vous permettant de choisir le type de masque de ban que vous préférez.
  • Ajout : la commande !chutlist affiche le temps restant avant expiration.
  • Ajout : nouvelle commande !chutinfo pour obtenir des informations détaillées sur une modération active.
  • Ajout : l'Eggdrop garde maintenant la trace des modérations actives après un redémarrage ou un rehash. Un paramètre de configuration vous permet de définir l'emplacement et le nom de la base de données.
  • Ajout : les couleurs sont automatiquement filtrées dans les messages du script si le mode +c est détecté sur un chan, ou si le mode monochrome est activé; un paramètre de configuration prévu à cet effet.
  • Modification : il est maintenant possible de retirer une modération en spécifiant le host ou le masque de host concerné.
  • Modification : le comportement du script a été modifié si l'option single_target_shutup_method est réglée à 2 (reportez-vous à la section "Description" pour prendre connaissance des détails).
  • Modification : il est possible de réduire ou prolonger la durée d'une modération et un message explicite vous informera du changement.
  • Restructuration massive du code, nombreuses optimisations, nombreux bugs corrigés.
3.1
  • Ajout : Il est maintenant possible de retirer une ou plusieurs modérations en spécifiant un masque de host. Ainsi, si vous spécifiez *!*@* toutes les modérations seront retirées sur le chan en cours.
    Remarque : il était auparavant possible de retirer une modération en spécifiant un masque, mais celui-ci devait correspondre exactement au masque utilisé au moment de poser la modération.
  • Modification : le message qui s'affiche optionnellement lorsqu'une modération est mise exprime désormais le nombre de minutes en temps lisible (en jours, heures et minutes).
  • Correction : supprimer un chan des chans enregistrés de l'Eggdrop au moyen de la commande de partyline .-chan provoquait une erreur.


Téléchargement : OMGYSU! v3.1

Vous pouvez trouver une liste de mes autres releases ici


Laissez vos commentaires / suggestions / rapports de bugs.
 
Répondre Avertir
#2
Super se script !

Merci à toi MenZ le roi des codeurs Very Happy
Répondre Avertir
#3
bonjour ,

voila j'ai un probleme quand je le charge sa me met ceci : [04:56] 04[OMGYSU! - ERREUR] OMGYSU! nécessite que Tcl 8.5 (ou plus) soit installé pour fonctionner. Votre version actuelle de Tcl est 048.4.
quesque je peut faire pour que il soit fonctionnel ?
Répondre Avertir
#4
Il faut que tu installes le package TCL8.5 ou superieur
Répondre Avertir
#5
et je trouve sa ou ?
Répondre Avertir
#6
tu te logue en root puis
# apt-get install tcl8.5

sinon essaye en changeant

tcl
if { [join [split [string range [lindex $version 0] 0 5] "."] ""] < 1619 } { putloglev o * "\00304\002\[OMGYSU! - ERREUR\]\002\003 La version de votre eggdrop est \00304\002$version\002\003; \002OMGYSU!\002 ne fonctionnera correctement que sur les eggdrops version 1.6.19 ou supérieure." ; return }
if { [info tclversion] < 8.5 } { putloglev o * "\00304\002\[OMGYSU! - ERREUR\]\002\003 \002OMGYSU!\002 nécessite que Tcl 8.5 (ou plus) soit installé pour fonctionner. Votre version actuelle de Tcl est \00304\002$tcl_version\002\003." ; return }
package require Tcl 8.5
if {[info commands OMGYSU::uninstall] eq "::OMGYSU::uninstall"} { OMGYSU::uninstall }
namespace eval OMGYSU {



par
tcl
if { [join [split [string range [lindex $version 0] 0 5] "."] ""] < 1619 } { putloglev o * "\00304\002\[OMGYSU! - ERREUR\]\002\003 La version de votre eggdrop est \00304\002$version\002\003; \002OMGYSU!\002 ne fonctionnera correctement que sur les eggdrops version 1.6.19 ou supérieure." ; return }
if { [info tclversion] < 8.4 } { putloglev o * "\00304\002\[OMGYSU! - ERREUR\]\002\003 \002OMGYSU!\002 nécessite que Tcl 8.4 (ou plus) soit installé pour fonctionner. Votre version actuelle de Tcl est \00304\002$tcl_version\002\003." ; return }
package require Tcl 8.4
if {[info commands OMGYSU::uninstall] eq "::OMGYSU::uninstall"} { OMGYSU::uninstall }
namespace eval OMGYSU {


Répondre Avertir
#7
j'ai testé et sa fonctionne grand merci Smile
Répondre Avertir
#8
bon j'ai un autre probleme je fait : !vg 1 mais au bout de 1 min il ce passe rien :s
Répondre Avertir
#9
tcl
# L'activation/désactivation du script sur chaque chan se fait au moyen de la
# commande .chanset #nomduchan [+/-]OMGYSU.



a taper en pl du bot
Répondre Avertir
#10
bonjour tous d'abord génial ton scripts menzagitat cependant j'ai une erreur sur le script que je veux retiré un bann avec la command !chut nick off en pl j'ai cela

Code :
[04:33] <Marie> [04:34] Tcl error [OMGYSU::you_shutup]: couldn't find search "s-1-OMGYSU::shutup_table"

et heu quand je tape !vg off il ne se passe rien non plus Sad

j'en profite pour glisser une autre question comment puis-je faire pour que mon eggdrop et automatiquement un accès quand il join un chan ??
Répondre Avertir
#11
As-tu redémarré ou rehash ton bot APRES avoir mis le !chut ?
Si oui, le message d'erreur que tu obtiens est normal car il a perdu la trace des !chut / !vg en cours.

En ce qui concerne l'accès de ton bot, il faut lui créer un accès via chanserv (si disponible sur ton serveur). Tape /msg chanserv help access pour plus d'infos.
Répondre Avertir
#12
Non je n'est pas .rehash le bot par le !chut juste pour charger ton script

de plus avant de taper ta command il faut que j'enregistre mon eggdrop au pres de nickserv cela est il possible si oui comment ?
Répondre Avertir
#13
en partyline: .msg nickserv register <password> <email>

Et tu peux (dois) utiliser ce tcl pour avoir une identification automatique.
Répondre
#14
Merci mais le premier probleme a tu une solution ???
Répondre Avertir
#15
--> Aidez-nous à vous aider
Répondre Avertir


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté