CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Bot Discord (JavaScript)

Xx_issou13_xX
Xx_issou13_xX
Niveau 3
14 janvier 2020 à 18:57:38

Bonjour à tous, je me suis lancé dans la programmation d'un bot Discord en JavaScript, qui, pour l'instant, ne peut répondre qu' à des commandes plutôt basique comme !help, qui affiche la liste des commandes dont le bot est en capacité de répondre.

J'ai créé un code qui permet d'entrer une commande qui génère un point, puis lorsque la commande est entré à nouveau un autre point est généré et ainsi de suite. Les points s’accumulent entre eux donc le bot dit 1 puis 2 puis 3... cette commande s'appelle !makemoney. Je n'ai pas eu de difficulté à réaliser ce code jusqu'à ce que je me rende compte que les points s'accumulent même entre les joueurs, c'est à dire que si une personne entre !makemoney, le bot dit 1 puis s'il l'entre à nouveau il dit 2 puis 3, mais le problème est que lorsque qu'une autre personne entre cette commande le bot dit 3. De cette façon tous les joueurs ont le même nombres de points. Or j'aimerai que chaque joueurs n'aient pas le même nombre de points, je veux dire par la que si une personne (qu'on va l'appeler Fred) entre 2 fois !makemoney alors il aura 2 points. Si une autre personne (qu'on va appeler Théo) entre 4 fois !makemoney alors il aura 4 points mais si Fred entre à nouveau !makemoney alors il aura 3 points, Théo et Fred ont donc un nombre de points différents qui correspond au nombre de fois ou ils ont entré la commande !makemoney. En gros j'aimerai que le bot sauvegarde le nombre de points de chaque joueurs et que chaque joueurs aient leurs propres nombre de points. Si vous avez un doute ou n'avez pas compris quelque chose, n'hésitez pas à me le dire^^
Merci d'avance !

Xx_issou13_xX
Xx_issou13_xX
Niveau 3
14 janvier 2020 à 19:11:15

Quand j'ai dit : mais le problème est que lorsque qu'une autre personne entre cette commande le bot dit 3. Le bot ne dit pas 3 mais 4 logiquement (3 + 1 = 4), je me suis trompé et je m'en excuse, désolé^^

Le_Tryall
Le_Tryall
Niveau 8
15 janvier 2020 à 01:00:23

Tout est dans la création de t'es variable. Si t'as variable "Money" est déclaré hors de l'event qui gère l'action du message, t'as variable sera globale. Donc partagé avec tout ton système.

Tu aura donc besoin dans ton cas d'avoir un Array, un Objet ou une map (ça dépend de toi et de ce que tu compte en faire, un Object est pas mal car il peut être serializer (transformer en format text) et stocké dans un fichier ou une base de donnée.

Tu as aussi surement besoin de te souvenir sur plusieurs jours/mois/années de l'argent de chacune des personnes alors pense à utiliser une base de donnée dès que possible. Tu pourras donc, à chaque event. Récupérer l'ID discord de l'utilisateur et sauvegarder/récupérer son nombre d'argent (et pleins d'autre choses) à chaque fois que c'est nécessaire.

Xx_issou13_xX
Xx_issou13_xX
Niveau 3
15 janvier 2020 à 22:00:41

Le 15 janvier 2020 à 01:00:23 Le_Tryall a écrit :
Tout est dans la création de t'es variable. Si t'as variable "Money" est déclaré hors de l'event qui gère l'action du message, t'as variable sera globale. Donc partagé avec tout ton système.

Tu aura donc besoin dans ton cas d'avoir un Array, un Objet ou une map (ça dépend de toi et de ce que tu compte en faire, un Object est pas mal car il peut être serializer (transformer en format text) et stocké dans un fichier ou une base de donnée.

Tu as aussi surement besoin de te souvenir sur plusieurs jours/mois/années de l'argent de chacune des personnes alors pense à utiliser une base de donnée dès que possible. Tu pourras donc, à chaque event. Récupérer l'ID discord de l'utilisateur et sauvegarder/récupérer son nombre d'argent (et pleins d'autre choses) à chaque fois que c'est nécessaire.

Merci de ta réponse, je pense que mes compétences en javascript ne me permette pas de faire de tels choses donc enlevons le faite qu'elle doit toujours être sauvegardé dans une base de donnée mais qu'elle doit être sauvegardé juste en local (dans le programme en lui-même) c'est à dire que si le bot s'arrête, pas besoin d'avoir le nombre de points de chaque joueurs stocké dans un fichier, ils seront perdu et puis tant pis.

Par contre, j'aimerais, si c'est possible, créer une variable dont son nom prendra l'id de l'utilisateur, du style :
var idmessage.author.id = 0; cela me faciliterai la tâche car la variable prendra le nom de par exemple id542036435790875356 si l'id de la personne ayant entré !makemoney est 542036435790875356 comme ça toutes les personnes auront leur propre variable qui ne restera plus qu'à traiter. J'espère avoir été suffisamment clair, merci d'avance !

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment