Skip to content

fix: restaure la coloration ANSI du $help#84

Merged
mortifia merged 6 commits into
mainfrom
fix/help-ansi-colors
Jul 13, 2026
Merged

fix: restaure la coloration ANSI du $help#84
mortifia merged 6 commits into
mainfrom
fix/help-ansi-colors

Conversation

@mortifia

@mortifia mortifia commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Résumé

  • Passe le paginator de MyHelpCommand (src/urpy/help.py) sur un code block ```ansi au lieu d'un bloc brut.
  • Colore les en-têtes de catégorie (bleu souligné), noms de commandes (jaune) et descriptions (cyan) avec des séquences ANSI "dim" supportées par le rendu Discord.
  • Le padding d'alignement des noms de commande est calculé sur le texte brut avant l'ajout des codes ANSI, pour ne pas fausser la largeur visible affichée par Discord.
  • Étend la coloration à $version/$credit (cog_about.py) et $lang (cog_general.py), via des helpers partagés dans src/urpy/utils.py (colorize, ansi_block, colored_message, constantes de couleur) réutilisés par help.py et par Bot_Planning_python/Bot_Presentation (voir PR Première programme corrigé #66 et feat: dockerize URbot #78, qui dépendent de celle-ci).
  • Harmonise le style de $version/$credit avec $help : les titres/noms de service utilisent désormais la coloration+soulignement ANSI au lieu de soulignements ASCII littéraux =====/-----.
  • Documente dans le README, pour chaque commande, le salon requis, où le configurer, et la permission Discord nécessaire.

Inspiré de la coloration qui existait sur l'ancienne base du bot (PR #15, abandonnée, architecture différente) — pas de code repris directement, juste la même idée (code block ansi + séquences d'échappement).

Closes #83
Closes #87

Test plan

  • Déployé sur l'instance dev (urbot-dev) et vérifié visuellement le rendu de $help, $version, $credit, $lang, $cal, $site, $prez, $edit dans Discord avant de merger en prod.

mortifia added 2 commits July 13, 2026 02:28
Passe le paginator de MyHelpCommand sur un code block ```ansi et colore
les en-têtes de catégorie, noms de commandes et descriptions avec des
séquences ANSI "dim" supportées par le rendu Discord.

Le padding d'alignement des noms de commande est calculé avant l'ajout
des codes ANSI pour ne pas fausser la largeur visible.

Closes #83
…83)

Applique les mêmes couleurs ANSI à add_command_formatting (vue détaillée
d'une commande), get_ending_note (note de bas de page) et à la description
de catégorie dans send_cog_help, pour que le rendu soit cohérent sur toutes
les vues du $help et pas seulement le listing principal.
Ajoute des helpers partagés dans src/urpy/utils.py (colorize, ansi_block,
colored_message + constantes de couleur) pour éviter de dupliquer la
logique déjà écrite pour $help. help.py réutilise maintenant ces
constantes au lieu de les redéfinir localement.

$version/$credit (cog_about.py) : les numéros de version et les
crédits sont colorés ; les titres/noms de service restent en clair
car le calcul du soulignement '====='/'-----' de formatted_template
se base sur leur longueur visible, que des codes ANSI fausseraient.

$lang (cog_general.py) : message de succès en vert, message d'erreur
en rouge.

Ces helpers sont conçus pour être réutilisés par Bot_Planning_python
et Bot_Presentation, qui en dépendent déjà via Bot_Base.src.urpy.utils.

Closes #87
mortifia added 3 commits July 13, 2026 03:05
Remplace les soulignements ASCII litteraux '====='/'-----' par la
coloration+soulignement ANSI (HEADING_COLOR, qui inclut deja le code
de soulignement) : les titres/noms de service sont desormais colores
comme les en-tetes de categorie de $help, et il n'y a plus besoin de
calculer une longueur de soulignement a partir de la ligne precedente.
Ajoute une section README expliquant, pour chaque commande, le nom de
salon attendu (en dur dans settings.py), le fichier où le modifier, et
la permission Discord nécessaire. Cette information manquait et a
directement causé des heures de diagnostic sur $prez (échec silencieux
faute du salon 'presentation' et de la permission Gérer les webhooks).
…emplate

Quand une valeur substituée (ex: credits.txt, plusieurs contributeurs sur
plusieurs lignes) est injectée dans un template, seule sa première ligne
reprenait l'indentation de la ligne du template — les lignes suivantes se
retrouvaient collées à la marge gauche. Corrigé en réappliquant
l'indentation à chaque ligne interne de la valeur substituée.

Ajoute Mortifia aux crédits (travail de dockerisation, API planning et
coloration ANSI sur Bot_Base).
@mortifia mortifia merged commit 2b510d9 into main Jul 13, 2026
5 checks passed
@mortifia mortifia deleted the fix/help-ansi-colors branch July 13, 2026 02:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Coloration ANSI incohérente : seul $help est coloré, pas les autres messages du bot $help n'affiche plus les couleurs ANSI

1 participant