Topic Warden par MenzAgitat
Catégorie : Topics
456 téléchargements
Description :
 
Description

Topic Warden est un script de gestion avancée de topic.
Grâce à lui, il vous est possible de définir / maintenir / protéger le topic de vos chans, de définir des masques de topic contenant des variables que vous définissez librement, d'afficher des évènements dans le topic en fonction de la date et bien plus encore.

Ce script peut par exemple vous permettre de gérer le topic d'un chan associé à un serveur de jeu online, une variable permettrait d'afficher le statut du serveur, une autre le nombre de connectés, etc...
Mais ce n'est qu'un exemple, je l'utilise personnellement sur tous types de chans et il sait s'adapter à toutes les situations.

Une fois Topic Warden activé sur un chan, il devient impossible de modifier le topic sans passer par lui.
De nombreuses commandes sont prévues à cet effet, dont une commande d'interopérabilité permettant à d'autres scripts d'interagir avec le topic via Topic Warden (voir la syntaxe plus bas).

Dans la section configuration du script, 5 paramètres ont un fonctionnement un peu particulier. Il s'agit de admin_flags, custom_flags, variable_flags,
display_flags et dynamic_separator.
Ces paramètres sont utilisés uniquement lors de la 1ère activation de Topic Warden sur chaque chan afin d'avoir une valeur par défaut à définir.
ILS NE SONT ENSUITE PLUS PRIS EN COMPTE et si vous souhaitez les modifier, vous devrez utiliser les commandes !topic adminflags, !topic customflags, !topic variableflags, !topic displayflags et !topic separator.
Cela vous permet de définir ces paramètres indépendamment sur chaque chan.
Il est possible de forcer le script à relire sa configuration par défaut et à se réinitialiser complètement comme si vous veniez juste de l'installer en tapant !topic reinstall

Ce script pourvoit l'Eggdrop du package TopicWarden 1.5


Fonctionnalités
  • Support multilingue (packs de langue français et anglais fournis).
  • Protection active du topic et annulation des modifications non-autorisées.
  • Gestion de masques de topic, pouvant contenir des variables.
  • Possibilité d'afficher dynamiquement la date dans le topic.
  • Possibilité d'afficher des variables personnalisées dans le topic.
  • Possibilité d'autoriser seulement certains utilisateurs à modifier les variables personnalisées du topic.
  • Possibilité de laisser juste une partie du topic en libre modification par certains utilisateurs autorisés.
  • Affichage d'évènements dans le topic à une date donnée.
  • Traçabilité des modifications de topic effectuées, autorisées ou non.
  • Possibilité de garder une trace de tous les anciens topics.
  • Création quotidienne d'une copie de sauvegarde des bases de données.
  • Séparateurs dynamiques dans le topic, qui ne sont ajoutés que lorsqu'ils sont nécessaires.
  • Possibilité d'utiliser des codes de style (couleur, gras, ...) dans les topics même en l'absence du support des codes de style mIRC sur votre client IRC.
  • Aide dynamique n'affichant que les commandes auxquelles l'utilisateur a accès.
  • Interopérabilité permettant à d'autres scripts d'interagir avec Topic Warden.
  • Configurable individuellement sur chaque chan.
  • Nombreux paramètres de configuration.
  • Nombreuses commandes de gestion.
  • File d'attente non-prioritaire dédiée à l'affichage des longs messages afin de ne pas engorger la file d'attente help de l'Eggdrop.


Syntaxe

!topic
Affiche le topic actuel sur le chan en cours.

!topic on
Active la gestion du topic par Topic Warden sur le chan en cours.

!topic off
Désactive la gestion du topic par Topic Warden sur le chan en cours.

!topic mask [nouveau masque]
Affiche ou modifie le masque de topic sur le chan en cours.

!topic separator [nouveau séparateur]
Affiche ou modifie le symbole utilisé comme séparateur dynamique sur le chan en cours.

!topic reset [all]
Réinitialise le topic sur le chan en cours, ou sur tous les chans sur lesquels Topic Warden est activé si vous spécifiez "all"; la partie libre du (des) topic(s) est remise à zéro.

!topic adminflags [nouveaux flags]
Affiche ou modifie le niveau accès minimum pour pouvoir utiliser les commandes d'administration du script (changer les masques, les paramètres) sur le chan en cours.

!topic variableflags [nouveaux flags]
Affiche ou modifie le niveau d'accès minimum pour pouvoir changer la partie libre du topic sur le chan en cours (représentée par la variable %variable% dans le masque du topic).

!topic customflags [nouveaux flags]
Affiche ou modifie le niveau d'accès minimum pour pouvoir changer les variables personnalisées du topic sur le chan en cours.

!topic displayflags [nouveaux flags]
Affiche ou modifie le niveau d'accès minimum pour pouvoir simplement demander l'affichage du topic sur le chan en cours au moyen de la commande !topic sans arguments.

!topic override <nouveau topic>
Modifie librement le topic sur le chan en cours sans tenir compte du masque enregistré.

!topic <texte>
Modifie la partie libre du topic sur le chan en cours (représentée par la variable %variable% dans le masque du topic).

!topic variable
Affiche la partie libre du topic sur le chan en cours (représentée par la variable %variable% dans le masque du topic).

!topic event
Affiche l'évènement du jour pour le chan en cours.

!topic event add <jour/mois> <évènement>
Ajoute un évènement sur le chan en cours.
"jour" et "mois" doivent être précédés d'un 0 s'ils sont inférieurs à 10.
La variable %event% sera remplacée par l'évènement du jour dans le masque du topic, chaque année à la même date.
Vous pouvez utiliser des variables personnalisées dans les évènements que vous ajoutez (voir ci-après).
Vous pouvez inclure une balise [#année] dans un évènement; elle sera remplacée à l'affichage par le nombre d'années écoulées depuis.
Par exemple, !topic event add 10/08 [#2004]ème anniversaire affichera "11ème anniversaire" le 10/08/2015.

!topic event del <n° ou date de l'évènement>
Supprime un évènement sur le chan en cours.
Afin de connaître le numéro de l'évènement que vous voulez supprimer, vous pouvez utiliser la commande !topic event list (voir ci-dessous).
Si vous choisissez plutôt de spécifier la date, vous devez le faire sous la forme JJ/MM.

!topic event list [argument de recherche]
Affiche tous les évènements programmés pour le chan en cours, ou effectue une recherche d'évènements sur tous les chans si un argument de recherche est spécifié.
La recherche se fait aussi bien dans les dates que dans l'énoncé des évènements.
Les Jokers sont acceptés dans l'argument de recherche.

!topic set <nom_de_variable_perso> [nouveau contenu]
Affiche ou définit le contenu d'une variable personnalisée (représentée par %nom_de_variable_perso% dans le masque du topic).

!topic unset <nom_de_variable_perso>
Supprime une variable personnalisée (représentée par %nom_de_variable_perso% dans le masque du topic).

!topic varlist [all]
Affiche une liste des variables personnalisées sur le chan en cours, ou sur tous les chans si le paramètre "all" est utilisé.

!topic lastchange
Affiche des informations concernant les dernières modifications de topic ayant eu lieu sur le chan en cours.

!topic reinstall
Réinitialise Topic Warden en ré-appliquant les réglages par défaut définis dans le fichier de configuration de Topic Warden.
Les fichiers contenant les évènements (topicwarden.events) et les variables personnalisées (topicwarden.customvars) sont renommés en y adjoignant l'extension .bak.
Soyez conscient que l'utilisation de cette commande effacera également les masques de topic enregistrés.
Après une réinitialisation, Topic Warden sera désactivé sur tous les chans; vous devrez donc le réactiver au moyen de !topic on sur chacun des chans où vous souhaitez l'utiliser.

!topic aide / !topic help
Affiche la liste des commandes de Topic Warden auxquelles vous avez droit selon votre accès.

Syntaxe de la commande d'interopérabilité

topic_control <nom du script appelant> <chan> mask <nouveau masque>
exemple : topic_control {mon script} #monchan mask {bienvenue sur #monchan}

topic_control <nom du script appelant> <chan> variable <nouveau contenu de %variable%>
exemple : topic_control {mon script} #monchan variable {coucou les gens}

topic_control <nom du script appelant> <chan> reset
exemple : topic_control {mon script} #monchan reset
Retourne 1 si le topic a été corrigé par le reset ou 0 s'il était déjà correct.

topic_control <nom du script appelant> <chan> override <nouveau topic>
exemple : topic_control {mon script} #monchan override {joli topic}

topic_control <nom du script appelant> <chan> set <nom_de_variable_perso_1> <nouveau contenu_1> [<nom_de_variable_perso_2> <nouveau contenu_2> [ ... ]]
exemple : topic_control {mon script} #monchan set ma_variable_perso {contenu de ma variable perso}
Retourne 1 si l'opération a réussi, ou 0 la liste variables/contenus ne comporte pas un nombre pair d'éléments.

topic_control <nom du script appelant> <chan> unset <nom_de_variable_perso1> [<nom_de_variable_perso2> [ ... ]]
exemple : topic_control {mon script} #monchan unset ma_variable_perso

topic_control <nom du script appelant> <chan> event add <évènement à ajouter>
exemple : topic_control {mon script} #monchan event add {25/12 Joyeux Noël}
Retourne 1 si l'évènement a été ajouté correctement et 0 s'il a été impossible de l'ajouter (s'il existe déjà un évènement pour cette date).

topic_control <nom du script appelant> <chan> lastchange
exemple : topic_control {mon script} #monchan lastchange
Retourne une liste contenant deux sous-listes, comportant chacune les quatre éléments suivants : timestamp nick host details.
La première sous-liste contient les informations concernant la dernière modification effective du topic.
La deuxième sous-liste contient les informations concernant la dernière modification non-autorisée du topic, et qui a donc été inversée par la protection.

topic_control <nom du script appelant> <chan> get <mask/variable/event/nom_de_variable_perso>
exemple : topic_control {mon script} #monchan get ma_variable_perso
Retourne la valeur du masque de topic, de la partie libre du topic, de l'évènement pour la journée en cours ou d'une variable personnalisée.

Un exemple de script utilisant la commande d'interopérabilité est Latest eggdrop.fr Script in Topic.

Variables acceptées dans un masque de topic et explication de leur fonction

%variable%
Partie libre du topic.
C'est la partie qu'on modifie sur un coup de tête pour citer un truc marrant, pour afficher la pensée du moment, etc..
Cette partie est modifiable en tapant simplement !topic blabla bla

%event%
Cette partie sera automatiquement remplacée par l'évènement du jour à minuit pile (s'il existe).

%date%
sera remplacé par la date du jour au format JJ/MM/YYYY

%weekday%
sera remplacé par le jour de la semaine en toutes lettres

%day%
sera remplacé par le jour du mois

%month%
sera remplacé par le mois en toutes lettres

%year%
sera remplacé par l'année

%blabla%
Remplacez "blabla" par ce que vous voulez, vous pourrez ensuite modifier cette partie du topic au moyen de la commande : !topic set blabla <texte à substituer>
Par exemple, vous pouvez envisager d'utiliser %news% dans votre masque de topic : "Voici mon bo topic. News : %news% et hop"
Ainsi, lorsque vous taperez !topic set news on a gagné \o/ votre topic deviendra : "Voici mon bo topic. News : on a gagné \o/ et hop"
Vous pouvez utiliser autant de variables personnalisées que vous le souhaitez.

%|%
Pas vraiment une variable, mais un séparateur dynamique qui n'est affiché que lorsqu'il est opportun.
Utile pour placer à côté de %event% %variable% ou de variables personnalisées, afin qu'un séparateur soit ajouté lorsque ces variables contiennent quelque chose mais pas lorsqu'elles sont vides.
Reportez-vous à l'option dynamic_separator dans la section configuration du script afin de définir ce séparateur.

Notez que les variables réservées %variable% et %event% sont pré-définies vides, ce qui fait qu'elles n'apparaissent pas dans le topic tant qu'elles ne sont pas définies autrement.
Par contre, les variables personnelles n'existent pas en tant que variables tant que vous ne les avez pas définies au moyen de la commande !topic set nom_de_variable_perso blabla.

Codes de contrôle du style visuel acceptés dans les masques de topic, les séparateurs dynamiques, et lors de l'utilisation de !topic override

[c??]
Change la couleur du texte.
Les valeurs valides pour les couleurs vont de 01 à 15.

[c??,??]
Change la couleur du texte et la couleur du fond.
Les valeurs valides pour les couleurs vont de 01 à 15.

[c]
Réinitialise la couleur du texte et la couleur du fond.

[b]
Active/désactive la mise en gras du texte.

[u]
Active/désactive le soulignement du texte.

[i]
Active/désactive l'inversion ou la mise en italique du texte (selon le client IRC que vous utilisez).

[s]
Stoppe les styles visuels appliqués sur le texte.

Notez que ces codes de contrôle sont mis à votre disposition pour votre confort au cas où vous n'utilisez pas mIRC, mais que si vous utilisez ce dernier, vous pouvez tout aussi bien utiliser des styles visuels de la façon habituelle (Ctrl+k, ...).


Notes de mise à jour

Si vous venez de mettre à jour le script depuis une version antérieure à la 1.3, vous devrez taper !topic off puis !topic on sur chacun des des chans où vous l'utilisez afin d'initialiser le nouveau séparateur (cf. changelog de la v1.3).

Si vous venez de mettre à jour le script depuis une version antérieure à la 1.5, veuillez noter que tous les fichiers annexes du script (bases de données, log, ...) se trouvent désormais dans le répertoire topic_warden (cf. changelog de la v1.5).
Si vous souhaitez conserver vos anciens logs et bases de données, veuillez les placer au bon endroit.


Post support / commentaires / suggestions

http://forum.eggdrop.fr/showthread.php?tid=675

Laissez vos commentaires / suggestions / rapports de bugs.


Vous pouvez trouver une liste de mes autres releases ici

Changelog

Version 1.54 par MenzAgitat (24/03/2016)
150 téléchargements
   

Version 1.53 par MenzAgitat (10/09/2015)
76 téléchargements
   

Version 1.52 par MenzAgitat (13/08/2015)
10 téléchargements
 
Notes de mise à jour :

Si vous venez de mettre à jour le script depuis une version antérieure à la 1.3, vous devrez taper !topic off puis !topic on sur chacun des des chans où vous l'utilisez afin d'initialiser le nouveau séparateur (cf. changelog de la v1.3).

Si vous venez de mettre à jour le script depuis une version antérieure à la 1.5, veuillez noter que tous les fichiers annexes du script (bases de données, log, ...) se trouvent désormais dans le répertoire topic_warden (cf. changelog de la v1.5).
Si vous souhaitez conserver vos anciens logs et bases de données, veuillez les placer au bon endroit.
 

Version 1.51 par MenzAgitat (09/07/2015)
12 téléchargements
 
Notes de mise à jour :

Si vous venez de mettre à jour le script depuis une version antérieure à la 1.3, vous devrez taper !topic off puis !topic on sur chacun des des chans où vous l'utilisez afin d'initialiser le nouveau séparateur (cf. changelog de la v1.3).

Si vous venez de mettre à jour le script depuis une version antérieure à la 1.5, veuillez noter que tous les fichiers annexes du script (bases de données, log, ...) se trouvent désormais dans le répertoire topic_warden (cf. changelog de la v1.5).
Si vous souhaitez conserver vos anciens logs et bases de données, veuillez les placer au bon endroit.
 
Version 1.5 par MenzAgitat (08/07/2015)
2 téléchargements
 
Si vous venez de mettre à jour le script depuis une version antérieure à la 1.3, vous devrez taper !topic off puis !topic on sur chacun des des chans où vous l'utilisez afin d'initialiser le nouveau séparateur (cf. changelog de la v1.3).

Si vous venez de mettre à jour le script depuis une version antérieure à la 1.5, veuillez noter que tous les fichiers annexes du script (bases de données, log, ...) se trouvent désormais dans le répertoire topic_warden (cf. changelog de la v1.5).
Si vous souhaitez conserver vos anciens logs et bases de données, veuillez les placer au bon endroit.

 
Version 1.4 par MenzAgitat (21/08/2013)
132 téléchargements
Attention, si vous venez de mettre à jour le script depuis une version antérieure à la 1.3, vous devrez taper !topic off puis !topic on sur chacun des chans où vous l'utilisez afin d'initialiser le nouveau séparateur.
Version 1.3 par MenzAgitat (07/02/2012)
74 téléchargements