Chasseur-de-Succes / CDS-BOT

Private discord bot
GNU Affero General Public License v3.0
2 stars 4 forks source link

[Sqweeb] système de ticket #113

Closed TobiBiotex closed 5 months ago

TobiBiotex commented 6 months ago

J'ai rêvé que le bot avec une commande /problem mp le gars qui a un pb, explique le pb et le message et envoyé aux salon admin ( permettant aux admins de ne pas être spammer au moindre ouin ouin)

rick-gnous commented 6 months ago

Peut-être plus intéressant de recopier le système d'autres bots : un salon vide avec juste un bouton généré par le bot. Quand on clique dessus, ça crée un salon privé avec les admins et l'utilisateur. Le bot garde un message avec un bouton pour fermer le salon (ou le supprimer ?)

Kekwel commented 6 months ago

ah bonne idée, j'avais pensé aux forums mais un salon privé c'est ptete mieux pour n'autoriser que les admins et la personne concernée

0xN0x commented 5 months ago

Je me propose de le faire.

Plus précisément faire un bouton ou une commande, peu importe ça ne change rien niveau code, qui ouvrira une modal demandant un titre au ticket ainsi que le contenu du ticket en question, à l'envoi un channel sera créé dans une catégorie faite pour, chaque channel est visible par le staff ainsi que le créateur du ticket, deux bouton seront disponible dans le channel en épinglé : Résolu et Clore pour indiquer que le problème a été résolu ou n'a pas de solution/est un non-problème.

Le titre et contenu du message seront remis dans le channel et épinglés eux aussi. Tout le monde pourra résoudre le ticket y compris son auteur dans le cas ou la solution est trouvé par lui même, la cloture du ticket ne sera faisable que par le staff.

La ou une question se pose c'est sur l'archivage des tickets :

rick-gnous commented 5 months ago

On va se pencher sur le sujet de la préservation des tickets. Ça va être tendu de garder en archive tout parce qu'on est limité en termes de nombre de salons. Au lieu de garder ou de faire un screen, peut-être faire une retranscription dans le salon log ?

0xN0x commented 5 months ago

Retranscription je pense que c'est tout à fait possible, mais faut se poser la question des images qui peuvent être dans l'échange dans ce cas là

Je vais regarder de mon côté, c'est pas impossible que le CDN de discord garde les images même de message supprimé, ce qui voudrait dire que la retransmission fonctionnerait avec les liens avec images.

rick-gnous commented 5 months ago

A creuser en effet. Sinon le bot peut peut-être copier coller les photos ? Je pense qu'il faut aussi faire un nouveau salon log, avec par ex. pour nom log-tickets pour les retrouver plus facilement.

Pour ce qui est des fonctionnalité, peut-être répondre en MP a l'utilisateur la résolution ou cloture du ticket, vu sur le salon a pour vocation de disparaitre ? Sinon le reste me semble parfait, @Kekwel je mets nox sur ce ticket ?

Kekwel commented 5 months ago

ok pour moi !

Kekwel commented 5 months ago

Et quand est-il des fils (threads) ou même un forum plutôt que des salons ? J'ai pas encore cherché si c'était possible de limiter à certains users l'accès aux forum (les threads oui)

0xN0x commented 5 months ago

Pour les threads comme pour les forums au dernières nouvelles il n'est pas possible de donner des permissions par thread ou par post car ils ne sont pas considérés comme des types de channels

Kekwel commented 5 months ago

Pour les threads, c'est bien possible : https://support.discord.com/hc/en-us/articles/4403205878423-Threads-FAQ#h_01FBQZH4F0E9RX2K078Y6EG6QB https://discordjs.guide/popular-topics/threads.html#public-and-private-threads image

0xN0x commented 5 months ago

Oooh, effectivement je savais pas du tout, ça en fait un bien meilleur système pour les tickets alors car ce sera archivé directement par Discord Je vais surement partir là dessus plutôt du coup, merci 🙂

En plus ça résout les problèmes d'archivage car on peut archivé un nombre illimité de threads

0xN0x commented 5 months ago

Ce qui est fait pour le moment :

Il me reste plus qu'à mettre le tout un peu plus au propre et ajouter le channel de ticket dans la GuildConfig et ce sera bon, tout est géré directement dans le interactionCreate pour éviter des collecteurs, je vais voir ce qui serait le mieux pour diviser tout ça en plusieurs fichiers car on va vite se retrouver à avoir un fichier d'event gigantesque sinon lors des refactors.

image image image