PacifistaMC / PacifistaBot

Discord bot used for Pacifista
1 stars 0 forks source link

Implémenter un système de giveaway #8

Closed FunixG closed 4 months ago

FunixG commented 11 months ago

Faire en sorte que le bot puisses sélectionner des membres dans le discord par le biais de réactions par exemple.

Penser au fait que le futur bot twitch pourra aussi faire des giveaway, donc faire un module qui sera utilisable par les deux (faire la partie enregistrement des données de manière génériques par exemple)

iGameCreep commented 11 months ago

Penser au fait que le futur bot Twitch pourra aussi faire des giveaways, donc faire un module qui sera utilisable par les deux.

Le futur bot Twitch ? Le FunixBot existe déjà et gère les giveaways de son côté. Je vais me baser sur le fait qu'il y aura un PacifistaBot Twitch en attendant une réponse. Je peux donc créer un système d'enregistrement des fichiers dans le module core qui gère l'enregistrement des giveaways etc.

Faire en sorte que le bot puisses sélectionner des membres dans le discord par le biais de réactions par exemple.

Je vais utiliser des boutons je pense. Quand un utilisateur clique sur le bouton en dessous du message du giveaway, son ID est ajouté à la liste des participants.

Doit-il y avoir un temps limite ou simplement une commande qui permet de sélectionner le gagnant ? (Comme l'actuel !giveaway roll du FunixBot)

Je vais commencer une base du code en attendant, par contre ma PR des tickets en attente contient un module core qui n'est pas dans master. J'espère que ca ne créera pas de problèmes si je fais ce module de mon coté dans une branche du code (si c'est des conflits ca va en vrai). Dans tous les cas je fais des tests en local avant de push tout ca.

FunixG commented 11 months ago

Il y aura un bot twitch oui mais pour l'instant n'y pense pas, fait juste en sorte que le code soit utilisable pour les deux bots (qu'il n'y ait pas de classes JDA dans le core) histoire de pas copier coller de code. Ce sera PacifistaBot qui sera un bot dédié a Pacifista et aux streamers qui streament sur le serveur.

Utilise les réactions pour les participants, c'est mieux pour le visuel et dernière le stockage des participants. Tu auras juste à itérer sur les réactions.

No need de dev un bot twitch pour l'instant on verra plus tard. Le plus important est le bot discord

iGameCreep commented 11 months ago

Le ou les gagnants gagnent un truc sur le serveur Minecraft (une commande sera envoyée au serveur et doit être définie au moment de la création du giveaway).

Je suis parti sur une commande Minecraft (ex: /give) mais en soi rien n'est fait étant donné qu'aucun endpoint permet d'envoyer des commandes au serveur pour l'instant. Comment faire pour que la commande envoyée au serveur spécifie le joueur ? Doit-on supprimer le giveaway du ficher quand il est terminé ? Mieux vaut-il partir sur un fichier contenant tous les giveaways ou un dossier qui possède 1 fichier par giveaway ? Je me suis basé sur 1 fichier avec tout.

FunixG commented 11 months ago

Vaut mieux un fichier par giveaway dans un dossier : genre data/giveaways/{file} Pour le joueur en question on devra call l'api pour check le compte minecraft lié avec l'id discord, ce qui n'est pas encore fait

iGameCreep commented 11 months ago

Parfait ! Je vais modifier ca, tout devrait être bon. Au cas-où, j'ai mis un UUID pour chaque giveaway. Je vais mettre les fichiers dans data/giveaways/{giveawayId}.json.