Public Quotes System
Description
Public Quotes System vous permet d'enregistrer des citations afin de garder pour toujours la trace des meilleurs moments.
Fonctionnalités
- Support multi-chan complet.
- Support multilingue (packs de langue français et anglais fournis).
- Ajout de citations multi-lignes à la volée en faisant un simple copier/coller de plusieurs lignes de texte.
- Affichage des citations sur plusieurs lignes.
- Filtrage automatique des timestamps et des attributs hiérarchiques lors de l'ajout d'une citation.
- Système de vote "j'aime" / "j'aime pas" pour les citations.
- Exportation des citations en HTML/CSS vers une ou plusieurs pages, avec conversion automatique des codes de style mIRC (couleurs, gras, ...) afin que les citations s'affichent exactement de la même façon.
- Possibilité d'afficher automatiquement une citation aléatoire à intervalles réguliers.
- Antiflood global et par commande.
- Mode monochrome automatique au cas où le mode +c est activé sur un chan.
- Backup quotidien automatique des bases de données et restauration automatique d'une sauvegarde si une base de données est perdue.
- Nombreuses commandes.
- Très nombreux paramètres de configuration vous permettant d'adapter le script à vos besoins. La plupart des paramètres peuvent être réglés individuellement sur chaque chan.
- Aide contextuelle détaillée pour la syntaxe des commandes.
- Facilité d'utilisation.
- La structure des bases de données a été spécialement étudiée pour en faciliter la maintenance manuelle si nécessaire.
... et bien plus encore !.
Syntaxe
Commandes utilisateur
!addquote [-keep_timestamps] [-keep_attributes] <citation>
- Enregistre une citation.
L'option -keep_timestamps permet d'empêcher le filtrage des timestamps si l'option filter_timestamps est activée.
L'option -keep_attributes permet d'empêcher le filtrage des attributs hiérarchiques devant les nicks si l'option filter_attributes est activée.
!quote <n° de citation> [#chan]
!quoteinfo <n° de citation> [#chan]
- Affiche des informations sur une citation.
!delquote <n° de citation>
- Efface une citation.
Seul l'auteur d'une citation peut l'effacer au moyen de cette commande.
!randquote [#chan]
- Affiche une citation aléatoire.
!lastquote [-index] [#chan]
- Affiche la dernière citation enregistrée. Le paramètre -index vous permet d'afficher l'avant-dernière citation enregistrée, celle d'avant, etc...
Exemple : !lastquote -1
!findquote [-all/#chan] <argument(s) de recherche>
- Recherche une citation.
Mettez des " " autour de vos arguments de recherche pour rechercher l'expression exacte.
Utilisez le paramètre -all pour effectuer une recherche globale dans les bases de données de TOUS les chans OU précisez le chan sur lequel vous souhaitez effectuer la recherche.
Les caractères ? et * ne font pas office de jokers et sont matchés littéralement.
Les " ne sont pas pris en compte en tant qu'argument de recherche étant donné qu'ils sont utilisés pour chercher une expression exacte.
!votequote <n° de citation> [#chan] [+/-/0]
- Vote "j'aime" ou "j'aime pas" pour une citation.
Voter 0 annule votre vote précédent.
Commandes d'administration
!quotes <on/off>
- Active / désactive les citations sur le chan en cours.
!autorandquote [on/off]
- Active / désactive ou affiche le statut de l'affichage automatique de citations aléatoires à intervalles réguliers.
Notez qu'il est possible d'activer cette fonctionnalité sur un chan où les citations ne sont pas activées.
!deletedquoteinfo <n° de citation>
- Affiche des informations sur une citation effacée.
!undelquote <n° de citation>
- Restaure une citation effacée.
!forcedelquote <n° de citation>
- Efface une citation même si vous n'en êtes pas l'auteur.
!cancelquote <n° de la dernière citation>
- Annule la dernière citation ajoutée sur le chan en cours; n'en laisse aucune trace dans la base de données.
!quoteset <paramètre> [valeur]
- Affiche ou modifie un paramètre du script sur le chan en cours.
!quoteset <paramètre> reset
- Réinitialise un paramètre du script à sa valeur par défaut, comme définie dans la section configuration du script.
!quoteset reset [all]
- Réinitialise tous les paramètres spécifiques au chan en cours à leurs valeurs par défaut, telles que définies dans la section configuration du script.
Le paramètre "all" applique la même action à tous les chans.
!quoteset help <paramètre>
- Affiche de l'aide concernant le paramètre de configuration spécifié.
!exportquotes
- Force une mise à jour des pages HTML contenant les citations. Toutes les pages seront ainsi régénérées, et ce même si aucune modification n'a eu lieu depuis la dernière exportation.
Il est, je pense, inutile de préciser que les commandes
!forcedelquote et
!cancelquote doivent être utilisées avec discernement et éthique, pour des opérations de maintenance ou pour faire face à un abus de la part des usagers notamment.
Screenshots
Information importante
Dans le fichier de configuration du script, certains paramètres ont un fonctionnement un peu particulier; ils sont reconnaissables à la mention "Réglage par défaut" dans leur description.
Ces paramètres sont lus uniquement lors de la 1ère utilisation de Public Quotes System 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 la commande
!quoteset prévue à cet effet.
Vous pouvez ainsi avoir des réglages différents sur chaque chan.
Il est toutefois possible de réinitialiser tous les paramètres spécifiques à un chan à leurs valeurs par défaut en tapant
!quoteset reset, ou de faire la même chose sur tous les chans à la fois en tapant
!quoteset reset all.
Vous trouverez d'autres informations potentiellement utiles en lisant les commentaires dans le fichier de configuration du script.
Installation et mise en route
- Copiez public_quotes_system.tcl et le répertoire public_quotes_system (ainsi que tout ce qu'il contient) dans le répertoire scripts/ de l'eggdrop.
- Paramétrez le script à votre convenance en éditant le fichier de configuration qui se trouve dans le répertoire public_quotes_system.
Ce fichier se nomme public_quotes_system.cfg.
Cette étape n'est pas obligatoire, les réglages fournis par défaut fonctionnent.
- Ajoutez la ligne suivante à la fin de votre fichier eggdrop.conf :
- source scripts/public_quotes_system.tcl
- Faites un .rehash ou un .restart afin de charger le script que vous venez d'installer.
- Pour activer Public Quotes System sur un chan, il vous reste plus qu'à taper !quotes on
Changelog partiel (un changelog complet est inclus dans le téléchargement)
2.0
- Correction : l'aide en ligne de certaines commandes ne reflétait pas le nom réel de la commande si vous aviez modifié celui-ci.
- Correction : si le script était activé sur un chan n'ayant aucune citation dans sa base de données, une erreur se produisait lors de l'exportation des citations en HTML.
- Ajout : le paramètre CRLF_separator vous permet de choisir un caractère ou une séquence de caractères qui provoqueront un retour à la ligne lors de l'affichage des citations.
- Ajout : il est maintenant possible d'ajouter une citation de plusieurs lignes à la volée en copiant / collant librement un bloc de texte.
Les paramètres suivants permettent de contrôler cette nouvelle fonctionnalité : multiline_addquote, addquote_otf_max_lines, addquote_session_timeout et addquote_end_signal.
- Ajout : les paramètres min_words_to_quote et min_chars_to_quote vous permettent de régler une longueur minimale en mots et en nombre de caractères pour qu'une nouvelle citation puisse être ajoutée avec !addquote.
- Ajout : nouveau paramètre filter_timestamps vous permettant d'activer ou non le filtrage automatique des timestamps lors de l'ajout d'une citation.
- Ajout : nouvelle option -keep_timestamps pour la commande !addquote, permettant d'empêcher les timestamps d'être filtrés.
- Ajout : il est maintenant possible d'afficher les citations sur plusieurs lignes.
- Ajout : nouveau paramètre findquote_min_chars vous permettant de définir un nombre minimum de caractères à fournir pour les recherches avec !findquote.
- Ajout : il est maintenant possible de voter "j'aime" ou "j'aime pas" pour les citations.
Voir la commande !votequote et les nouveaux paramètres votes_enabled, must_have_a_handle_to_vote, votequote_nickserv_restriction et can_vote_for_external_quotes.
- Ajout : nombreux nouveaux paramètres vous permettant de personnaliser très précisément la façon dont les choses s'affichent.
- Ajout : nouvelle commande !quoteset permettant de consulter / modifier / réinitialiser la plupart des paramètres du script séparément sur chaque chan. A leur initialisation, ces paramètres utiliseront les valeurs par défaut définies dans la section configuration mais ils pourront ensuite être modifiés librement.
- Ajout : nouvelle commande !quotes <on/off> afin de pouvoir activer ou désactiver facilement les citations sur chaque chan.
- Ajout : nouvelle option -index pour la commande !lastquote, vous permettant d'afficher la dernière citation-1, -2, etc...
- Ajout / modification : l'activation / désactivation de l'affichage automatique de citations aléatoires à intervalles réguliers se fait désormais au moyen de la commande !autorandquote [on/off]
- Ajout : nouveau paramètre force_html_export vous permettant de forcer la mise à jour systématique des pages HTML même lorsque cela n'est pas nécessaire.
- Ajout : nouveau paramètre html_quotes_per_page permet de définir un nombre maximum de citations par page HTML générée.
Si ce paramètre = 0, une seule page HTML sera générée par chan, elle contiendra toutes les citations.
Si ce paramètre > 0, le script génèrera plusieurs pages si nécessaire, et y ajoutera des liens permettant de passer d'une page à une autre.
- Ajout : nouveau paramètre html_navigation_mode permettant de choisir entre 3 formes différentes pour afficher les liens de navigation.
- Modification : la page HTML de citations d'un chan n'est remise à jour que s'il y a eu des changements depuis la dernière fois.
- Modification : la génération des pages HTML à partir des citations inclut maintenant les chans spécifiés dans le paramètre include_chans.
- Modification : nombreuses modifications dans le template HTML/CSS fourni par défaut, ajout des scores des citations, ajout de liens pour passer d'une page à l'autre si nécessaire.
- Restructuration de certaines parties du script. Nombreuses corrections et optimisations diverses.
2.1
- Correction : un bug mineur de l'antiflood faisait que le message affiché lors de son déclenchement n'était pas toujours adapté à la situation.
- Correction : les styles (couleurs, gras, ...) sont désormais réinitialisés proprement à chaque saut de ligne sur les pages HTML et ne sont plus hérités d'une ligne à la suivante.
- Correction : le message confirmant l'opération s'affiche maintenant sur le bon chan lors de l'utilisation de la commande !quoteset reset all.
- Correction : si l'option votequote_nickserv_restriction était activée, il fallait avoir enregistré son nick sur NickServ, même pour seulement afficher la note d'une citation.
- Correction : si l'option must_have_a_handle_to_vote était activée, il fallait avoir un handle valide, même pour seulement afficher la note d'une citation.
- Correction : une erreur se produisait si la lecture d'une base de données de votes rencontrait une exception en traitant un chan présent dans include_chans.
- Ajout : un utilisateur qui a voté pour une citation peut désormais revenir sur son vote pour le modifier ou l'annuler. L'option can_change_vote permet d'autoriser ou non cette possibilité.
La syntaxe de la commande !votequote accepte un nouvel argument permettant d'annuler son vote, et devient : !votequote <n° de citation> [#chan] [+/-/0]
Remarque : si vous avez des bases de données de votes créées par la version 2.0 de Public Quotes System, elles ne peuvent malheureusement pas être converties au nouveau format. Les fichiers seront renommés en y adjoignant l'extension .old et les votes seront remis à zéro.
- Ajout : nouvelle option autorandquote_considers_ratings permettant de contraindre l'autorandquote à ne sélectionner que des citations dont la note est >= 0.
- Ajout : l'option html_quotes_order vous permet de choisir d'afficher les citations par ordre chronologique ou par ordre chronologique inverse sur les pages HTML. Cette option peut être paramétrée individuellement sur chaque chan.
- Modification : la création automatique de copies de sauvegarde des bases de données se fie désormais à la date de modification de ces fichiers pour ne se faire que s'ils ont été modifiés. L'intérêt, en plus d'épargner à l'Eggdrop des opérations inutiles, est de réduire les risques qu'une sauvegarde valide soit écrasée par une mauvaise en cas de corruption d'un fichier.
- Modification : dans le template HTML, le texte "cette page a été mise à jour le ... à ..." a été changé en "La dernière modification a eu lieu le ..." afin d'être plus explicite au cas où le paramètre force_html_export vaut 0.
Dans ce cas, les pages HTML ne sont réactualisées que si quelque chose change (nouvelle citation, citation supprimée, nouveau vote) et si aucun changement n'a lieu pendant une longue période, l'ancien texte aurait pu laisser croire que la page n'est plus tenue à jour.
2.11
- Correction : un bug de l'antiflood faisait que les sessions s'accumulaient parfois sans jamais se terminer, laissant par conséquent l'antiflood activé en permanence et empêchant les utilisateurs d'utiliser les commandes.
2.2
- Correction : un bug dans l'antiflood provoquait parfois l'affichage d'un message signifiant que l'antiflood était toujours actif alors qu'il s'agissait de son 1er déclenchement.
- Correction : le cas où un utilisateur utilise la commande !lastquote -index en spécifiant un index supérieur au nombre de citations existantes est désormais correctement géré.
- Correction : l'affichage des numéros des citations lors d'une recherche avec !findquote était parfois scindé en plusieurs lignes de façon incorrecte.
- Correction : la commande !quoteset help <paramètre> avait été oubliée dans la section "Syntaxe" au début du script.
- Correction : l'annulation de la dernière citation enregistrée au moyen de !cancelquote supprime désormais correctement les votes associés.
- Correction : les listes de citations / votes restaient parfois inutilement en mémoire après utilisation.
- Modification : la génération de la page HTML contenant les citations se fera quand même, même si la base de données de citations est vide.
- Ajout : il est maintenant possible d'afficher de l'aide sur n'importe quel paramètre de la commande !quoteset. Exemple : !quoteset help main_color
- Ajout : nouvelle commande !exportquotes permettant de forcer une mise à jour des pages HTML contenant les citations. Toutes les pages seront ainsi régénérées, et ce même si aucune modification n'a eu lieu depuis la dernière exportation.
2.21
- Correction : les citations n'étaient pas correctement découpées en accord avec le paramètre html_quotes_per_page lors de la génération des pages HTML.
2.3
- Ajout : nouveau paramètre de configuration filter_attributes permettant de filtrer automatiquement les symboles d'attributs hiérarchiques devant les nicks (~ & @ % +).
- Ajout : nouveau paramètre de configuration html_page_url permettant de définir l'url de la page web où peuvent être consultées les citations d'un chan. S'il est défini, ce lien sera affiché lorsque le contrôle de flood est déclenché sur les commandes !quote !lastquote !findquote ou !randquote afin de permettre aux utilisateurs de lire les citations tranquillement.
- Ajout : nouveau paramètre de configuration url_style afin de pouvoir régler le style visuel des url affichées.
- Ajout : option -keep_attributes pour la commande !addquote, permettant de forcer la conservation des symboles d'attributs hiérarchiques si l'option filter_attributes est activée.
- Correction : taper !lastquote --1 ou !lastquote ---1 ne provoque plus d'erreur.
- Correction : l'affichage de la liste de résultats de la commande !findquote passait parfois en gras après un retour à la ligne.
- Modification : les paramètres de configuration du script ont été déplacés dans un fichier à part. Vous le trouverez par défaut à cet emplacement : scripts/public_quotes_system/public_quotes_system.cfg
- Modification : étant donné que l'ordre des paramètres de la commande !findquote est particulier et qu'il peut prêter à confusion, le script détecte s'il semble incorrect et le signale à l'utilisateur.
- Diverses optimisations du code.
2.4
- Ajout : nouveau paramètre de configuration html_show_author permettant d'afficher optionnellement le nom de l'auteur à côté de chaque citation sur la page html.
- Modification : utiliser !votequote pour afficher la note actuelle d'une citation vous informe en notice si vous avez déjà voté ou non pour celle-ci.
- Modification : utiliser !quoteinfo affiche aussi la note de popularité de la citation (seulement si l'option votes_enabled est activée).
- Correction : l'antiflood global (toutes commandes du script confondues) provoquait une erreur s'il était déclenché.
2.5
- Correction : dans certaines circonstances, le contenu d'une base de données de citations pouvait être perdu.
- Correction : les commandes acceptant un nom de chan comme paramètre ne reconnaissaient pas celui-ci si la casse des caractères n'était pas respectée.
Ce problème n'impactait pas les Windrops car le système de fichiers de Windows n'est pas sensible à la casse.
- Correction : il était impossible d'utiliser les guillemets comme délimiteur de valeur avec !quoteset.
- Correction : lors de l'utilisation de la commande !deletedquoteinfo, la citation effacée était envoyée en notice au chan plutôt qu'à l'utilisateur.
- Correction : utiliser la commande !quotes ou !autorandquote sur un chan que l'Eggdrop venait juste de rejoindre "à chaud" provoquait une erreur.
- Correction : les caractères ‹ et › n'étaient pas correctement reconnus en raison de la limitation que rencontre Eggdrop avec les caractères unicode.
- Correction de problèmes potentiels de charset à l'affichage des citations.
- Correction : la propriété document.location.href n'était pas correctement renseignée lorsque les citations tenaient sur une seule page HTML.
- Correction : nettoyage du code HTML généré.
- Correction : l'aide en ligne donnée par la commande !quoteset à propos du paramètre url_style était incorrecte.
- Modification : la commande !exportquotes affiche maintenant un message de confirmation.
- Modification : le message informant un utilisateur qu'il a déjà voté pour une citation fait maintenant la différence entre "voté pour" et "voté contre".
- Modification : afin de forcer un rafraîchissement des fichiers css en cache à chaque nouvelle version, le numéro de version est maintenant passé en argument aux fichiers css.
- Modification : le message informant l'utilisateur qu'une citation multi-lignes est en cours d'ajout lui sera dorénavant délivré en notice.
- Modification : la documentation a été séparée du script. Vous la trouverez dans le fichier public_quotes_system/documentation.txt.
- Ajout : l'affichage des citations multi-lignes peut désormais utiliser une file d'attente dédiée afin de ne pas encombrer celles de l'Eggdrop.
Celle-ci n'est traitée que lorsque la file d'attente "help" est vide et n'importe quel autre message sera donc prioritaire.
Un nouveau paramètre de configuration permettant de contrôler cette fonctionnalité a été ajouté : low_priority_multiline_quotes_display.
- Ajout : il est maintenant possible d'afficher un classement des citations les mieux notées sur les pages HTML.
Les paramètres de configuration html_show_best_rated_quotes et num_best_rated_quotes ont été ajoutés à cet effet, ainsi que deux nouvelles variables HTML (voir le fichier variables_html.txt).
- Ajout : la commande !quoteset possède désormais son équivalent .quoteset en partyline.
- Ajout : les citations affichées aléatoirement au moyen de !randquote ou de la fonction autorandquote ne seront jamais répétées avant que toutes les autres aient été vues.
- Ajout : un en-tête est maintenant ajouté aux bases de données afin de permettre d'en vérifier la version. Ces en-têtes comportent également un rappel de la structure des bases de données.
- Ajout : Public Quotes System utilise désormais des packs de langue pour l'affichage des messages du script.
Des fichiers pour la langue française et la langue anglaise sont fournis.
Un nouveau paramètre de configuration permettant de contrôler la langue a été ajouté.
- Diverses optimisations du code.
2.51
- Correction : la ligne provoquant le chargement du package msgcat était manquante.
2.52
- Correction : le message avertissant du déclenchement de l'antiflood provoquait une erreur si la valeur de html_page_url n'était pas vide.
- Correction : une erreur se produisait après l'affichage d'une citation si le paramètre low_priority_multiline_quotes_display était désactivé.
Téléchargement
Public Quotes System v2.52
Laissez vos commentaires / questions / suggestions / rapports de bugs
ici.