Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Suggestions pour les messages pré-formatés NotABot #107

Open
CallMePixelMan opened this issue Jun 12, 2022 · 20 comments
Open

Suggestions pour les messages pré-formatés NotABot #107

CallMePixelMan opened this issue Jun 12, 2022 · 20 comments
Labels
scope: bots état : en discussion La proposition est en cours de discussion type : amélioration Nouvelle fonctionnalité ou demande

Comments

@CallMePixelMan
Copy link
Contributor

Bonjour tout le monde, voici deux suggestions à propos de messages préformatés avec NotABot sur NaN.

Sur le serveur, il n'est pas rare de voir des messages pré-formatés de NotABot envoyé par erreur.
Par exemple !code pour quelque chose qui relevait de la démonstration dans un REPL.

Dans ce genre de cas, je trouve que ces messages sont relativement volumineux et gâchent certains échanges de messages, surtout sur version mobile. De plus, ces messages n'indiquent pas qui est l'auteur de la commande (et je pense même que certains petit malins pourraient essayer d'agir en groupe pour créer du spam organisé sans que le reste du serveur ne puisse les identifier simplement).

Ainsi, je propose de régler ces deux problèmes en ajoutant des boutons UI sous ces messages :

  • Un premier bouton "🗑️ Supprimer le message" qui permet à l'auteur et / ou aux autres personnes présentes dans la discussion de le supprimer s'il est avéré que le message soit une erreur.

  • Un autre bouton désactivé (présent comme une bulle de texte sous les messages) qui indique "Envoyé par <Utilisateur à l'origine de la commande>".

    • Ce format est emprunté des messages privés envoyés par Mee6 pour afficher des informations supplémentaires, sans ajouter du texte dans le message initial (et sans devoir utiliser un footer dans un embed lorsque certains messages n'utilisent pas d'embeds).

    image

Voici ma suggestion. Je reste ouvert à toutes vos améliorations, dans l'espoir que mon idée vous intéresse !
Bonne fin de journée ! ❤️

@Elanis
Copy link
Member

Elanis commented Jun 12, 2022

Hello,
J'approuve pour le bouton de suppression pour l'auteur de la demande, ca serait pas mal :) Par contre, pas sûr qu'on puisse le desactiver visuellement sur le fait que la personne ait le droit de supprimer ou non :/ Et il ne faut pas que tout le monde puisse le supprimer, uniquement auteur, ambassadeurs et modos imho.
Pour ce qui est du "envoyé par", je suis un peu plus mitigé. Je sais qu'en tant qu'utilisateur, il m'est arrivé d'envoyé un message automatisé, notamment pour éviter que la personne en face ne sache que ce soit moi qui ait répondu, et me ping. Peut être une preference personnelle pour le coup, mais je suis pas hyper fan 😄

Voilà pour mon opinion, je laisse les autres s'exprimer :)

@CallMePixelMan
Copy link
Contributor Author

Je confirme qu'il n'est pas possible d'afficher un état du bouton différent d'un utilisateur à l'autre.

Il faut faire un check sur l'utilisateur lorsque quelqu'un l'utilise, et d'envoyer un message éphémère (visible uniquement par celui qui a réalisé l'interaction) pour dire "Vous n'êtes pas autorisé à supprimer ce message." aux utilisateurs non habilités.

En soit ça ne change pas grand chose et c'est une limitation de Discord.

@Equinox4
Copy link
Member

Equinox4 commented Jun 12, 2022

Personnellement je fais régulièrement le ménage dans #php pour supprimer les messages du bot inutiles, mais je ne peux le faire que dans ce canal. Avoir un bouton pour le faire partout me semble être une bonne idée. Par contre, je rejoins Elanis sur le fais que ce bouton ne devrait pas être accessible à tous, pour éviter que des malins ne s'amusent à supprimer systématiquement les messages du bot.
Concernant l'auteur de la commande, je ne suis pas persuadé de la pertinence d'ajouter l'auteur, il me semble que le staff voit les messages supprimés (edit: même ceux qui le sont par NaB), et on a pas forcément envie d'être ping en retour pour avoir lancé la commande (car oui, il est presque certains que si les gens voient qui a fait la commande, ils vont le ping pour demander de l'aide).
Cela dit, si ça devait être ajouté, je pencherais plutôt pour le mettre en footer de l'embed plutôt que dans un bouton.

@CallMePixelMan
Copy link
Contributor Author

Certains messages du genre "Il semblerait que nous n'ayons pas comprit votre demande [...]" (j'ai plus la commande en tête 🥲) ne sont pas affiché sous la forme d'un embed et trouvais ça un peu dommage de devoir forcément tout reformater. Après, peu importe la nature de l'indication, ce qui m'importais c'était surtout cette indication et je me suis dit que, quitte à rajouter un bout premier boutons, autant en ajouter un autre comme note sans polluer le message initial.

Pour ce qui est des ping possible, j'y avais pas vraiment pensé et je propose de permettre aux personnes actives d'avoir le choix d'afficher leur pseudo ou non (une sorte de facteur confiance au delà d'un certain nombre de messages). Ainsi on se débarrasse des possibles trolls sans enquiquiner le reste des honnêtes gens. À discuter.

Dans tous les cas je suis content que ma suggestion vous plaise ! ^^

@x0rld
Copy link
Contributor

x0rld commented Jun 12, 2022

en soit le bot RTFM ya le bouton supprimer/rerun et il arrive à faire en sorte que ça soit que l'auteur qui active le truc donc ça doit être faisable même si c'est 2 lib discord différentes

@Elanis
Copy link
Member

Elanis commented Jun 12, 2022

Autre chose qui me vient en tête, c'est qu'on s'est rendu compte il y a peu que les embed n'étaient pas toujours visible aux personnes. Si la preview des liens n'est pas activée, ces messages sont affichés comme vide. Du coup il vaudrait mieux rester sur des messages textuels

@Equinox4
Copy link
Member

en soit le bot RTFM ya le bouton supprimer/rerun et il arrive à faire en sorte que ça soit que l'auteur qui active le truc donc ça doit être faisable même si c'est 2 lib discord différentes

encore faudrait-il que l'auteur prenne la peine de cliquer dessus en cas d'erreur, ici on voudrait que d'autres gens que l'auteur puissent le faire

@x0rld
Copy link
Contributor

x0rld commented Jun 12, 2022

sinon ya pas moyen de faire en sorte que n'importe qui puisse virer le message seulement au bout de x sec/min pour éviter l'abus ?

@CallMePixelMan
Copy link
Contributor Author

Je reviens sur la discussion pour éviter que le sujet tombe aux oubliettes:

  • Premièrement, oui il est possible de faire un système de cooldown pour éviter de supprime instantanément tous les messages.

  • Une autre alternative serait de ne pas avoir de cooldown sur la suppression, mais par utilisateur. J'ai deux visions de la chose :

    • Soit chaque personne peut supprimer le message, mais que le cooldown apparaisse après, c'est à dire, pour un supprime un autre. Ainsi on peut toujours supprimer un message rapidement, mais les trolls ne peuvent pas tout supprimer d'un coup.
    • L'autre alternative, et c'est ce qui me semble le plus pertinent, serait de laisser les gens supprimer le message en fonction de leur dernier message posté dans le salon ou de leur statu.
      A comprendre: Si vous avez participé dans le salon il y a moins de 5 minutes dans la conversation AVANT l'envoie du message (avant pour éviter les gens qui pourraient envoyer un message dans le seul but de supprimer celui du NaB), vous pouvez le supprimer car vous êtes considéré "actif" dans la discussion. Aussi, et si vous êtes identifiée comme un ambassadeur ou un membre du staff, vous pouvez toujours supprimer le message.
      A mon sens c'est la vision la plus juste car elle permet de savoir, dans les grandes lignes, si vous avez participé à la conversation sans pour autant devoir surveiller tous les messages de tout le monde et les assimiler à une discussion, etc. Tout en laissant le champ d'action nécessaire au staff.

Pour ce qui est du choix du format de l'indication de l'auteur, je pense que le bouton reste l'option la plus pertinente car il est toujours affiché et n'empiète pas sur le message initial. De plus, et s'il s'agit d'un embed, ajouter le message "Envoyé par X" dans le contenu textuel du message et pas dans l'embed fera en sorte que cette note apparaissent au dessus de l'embed, alors que les boutons apparaissent systématiquement en dessous du message.

image

@CallMePixelMan
Copy link
Contributor Author

Up! Est-ce que quelqu'un a du nouveau ?

@Julien00859
Copy link
Member

Il ne semble pas qu'il y ait eu beaucoup d'attraction pour cette idée. J'ai l'impression que le status-quo répond déjà bien aux attentes de la communauté, surtout que les ambassadeurs font déjà une partie du trie

@Equinox4
Copy link
Member

Perso l'idée me plaît bien, mais un système de cooldown + vérification des participation, ça ajoute de la complexité par rapport à simplement vérifier des rôles, et comme les PR sur le bot se font sur la base du volontariat, ça veut dire qu'il faut attendre que qq'un soit motivé pour la faire.
Je vais voir ce week-end si j'ai du temps à y consacrer, mais si j'en ai, je pense que je vais d'abord implémenter un truc simple, puis une fois que ça fonctionnera, on pourra voir pour l'améliorer avec ce qui a été dit ici.

@CallMePixelMan
Copy link
Contributor Author

J'aurais adoré pouvoir apporter mon aide pour ça, mais je ne connais pas vraiment Lua, et encore moins discordia. Je peux l'écrire en d.py mais je doute que ça aide grandement les choses...

Quoi qu'il en soit je pense que ça reste une bonne idée, simplement que le GH n'a que peu d'écho sur le Discord.

@SirLynix
Copy link
Contributor

Quelque chose que j'avais envisagé de faire, et qui peut être une solution facile au problème "qui a envoyé ça", était simplement de mettre un texte pouvant être remplacé, comme {triggered_by} qui pourrait être intégré au footer d'un embed.

Pour la suppression d'un embed non-désiré, plutôt que de passer par un bouton qu'on ne pourra pas filtrer par personne, pourquoi pas un simple emoji poubelle (🗑️) qui, si ajouté par la personne ayant déclenché le message dans les X secondes provoque la suppression de celui-ci ?

@Elanis
Copy link
Member

Elanis commented Jun 17, 2022

Je suis plus chaud pour l'emoji 🗑️ que le bouton perso, vu que ca permets de ne pas utiliser d'embed :)

@Julien00859
Copy link
Member

Julien00859 commented Jun 17, 2022

Perso j'ai pas très envie d'avoir un emoji 🗑️ sur chaque message que le bot envoie, j'ai pas envie qu'il y ai un "call to action". Je pense néanmoins que laisser les utilisateurs mettre d'eux-même un 🗑️ et que l'ajout de cet emoji vérifierait les droits et supprimerait le message serait cool :)

@SirLynix
Copy link
Contributor

SirLynix commented Jun 17, 2022

Ce n'était pas très clair mais c'était exactement ce que je proposais 😄

@CallMePixelMan
Copy link
Contributor Author

Je suis plus chaud pour l'emoji 🗑️ que le bouton perso, vu que ca permets de ne pas utiliser d'embed :)

Les boutons ne sont pas du tout obligatoire pour avoir un embed. Je voulais juste le signaler.

@Elanis Elanis added type : amélioration Nouvelle fonctionnalité ou demande scope : discord état : en discussion La proposition est en cours de discussion labels Jul 5, 2022
@Equinox4
Copy link
Member

Perso ça ne me dit pas le système d'emojis avec la corbeille.
On a aucun moyen de savoir qu'il faut ajouter un emoji poubelle à l'embed pour le supprimer, imo c'est pas ouf niveau UX.
Concernant l'auteur, comme dit plus haut le staff a les logs donc en cas de besoin on sait qui a entré la commande.
Concernant le bouton, il me semble qu'on peut faire en sorte de le faire disparaitre après un certain temps, ça me semble être un bon compromis.

@Equinox4
Copy link
Member

Petite update concernant cette issue:
Après quelques tests, il est possible d'utiliser des components sans embed, donc cette issue n'entre pas en conflit avec #186
Je pense qu'il devrait être possible de faire en sorte que l'interaction ne soit déclenchable que par la personne qui a executé la commande en stockant temporairement l'id du sender (on pourra aussi vérifier un role particulier), et l'interaction peut être rendue temporaire en éditant le message pour supprimer le component après un certain temps, NaB dispose déjà du nécessaire pour effectuer ce type de tâche.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
scope: bots état : en discussion La proposition est en cours de discussion type : amélioration Nouvelle fonctionnalité ou demande
Projects
None yet
Development

No branches or pull requests

6 participants