Bonjour.
Ton problème semble se situer au niveau de l'importation du module, il serait donc plus judicieux que tu nous montre également la partie qui concerne l'importation/inclusion du module, soit en général le haut du fichier.
Bonjour,
Voila je rencontre un petit problème avec mon code. Il se trouve que je n'arrives pas à faire fonctionne PlayFile correctement.
Mon Bot, dès qu'il est prêt, il se met automatiquement dans une chaîne vocale (Et il y reste comme convenu).
Lecture d'un fichier .wav
Voici mon code actuel :
Ce que je veux
Dès qu'un utilisateur entre dans le chat vocal, j'aimerais que mon bot lise un simple fichier .wav...
Ce que j'obtiens
J'ai essayé déjà de formuler différement playFile(newUserChannel,'./bienvenue.wav'); mais il se trouve que mon problème persiste. Cela débauche toujours sur la même erreur : « playFile is undefined ».
► Pourtant mon fichier est bien à la racine (Afin d'éviter d'autres erreurs au cas où).
J'ai installer bien tous les packages nécessaires mais sans succès.
Quelqu'un aurait une solution ?
Merci d'avance,
Bien Cordialement.
Simon
20 réponses
Bonjour Lartak,
Veux-tu parler de ça ?
Je penses normalement que playFile fait directement parti de discord.js si je ne me trompe pas ?
As-tu bien regardé dans la documentation ?
Exemple :
Source: VoiceBroadcast.
Comme tu peux le voir, playFile ne s'utilise pas directement, mais sur un objet parent.
Pour faire simple, playFile n'est pas un objet, mais une méthode.
Merci Lartak pour ta réponse, mais malheureusement cette solution affecte uniquement l'entrée du bot sur un salon vocal.
Cependant je cherche à jouer un son quand c'est l'utilisateur qui rejoint le canal vocal où se trouve le tavernier.
Du coup, impossible pour moi d'utiliser :
Merci d'avance. :)
En fait voici un peu près ce que je cherches avec ta méthode mais adapter à ma situation :
Ce n'était qu'un exemple.
Tu as par exemple aussi :
Play the given file in the voice connection.
Source: VoiceConnection.
Dans tous les cas, comme tu peux le voir, playFile ne s'utilise pas directement, mais en tant que méthode d'un autre objet.
Ça ne fonctionne pas, la librairie DiscordJS est en carton ! J'ai perdu 3 soirées de ma vie pour rien.
Merci quand même.. :)
je comprend ce que tu peux ressentir, celà fais une semaine que je galére avec leur doc,
je viens de le tester à l'instant, il me manque plus que l'auto déconnection
Bonjour flo3376,
Ton fichier se lis bien dans le salon voal ? J'ai essayé de mon coter mais voici l'erreur que ça me balance :
(node:3061692) UnhandledPromiseRejectionWarning: TypeError: connection.play is not a function
Cette histoire deviens de plus en plus bizarre...
peut tu m expliquer suite quoi le bot dois jouer un fichier.
reaction a un message. arrivzr d une personne dans un channel....
Pour ma part j'essaye de lancer la lecture du fichier dès qu'une personne rejoint un salon vocal. Dans mon cas j'ai créer un salon qui s'appelle "Taverne" et où se trouve un bot qui s'appelle "Aubergiste". Le fichier local est une réplique de l'aubergiste dans Hearthstone.
Du coup dès qu'une personne rejoint, le fichier est bien présent par vérification du chemin mais n'est pas lancé avec la fonction connection.play
Voici un extrait de mon code source :
concretement la version de voice_channel que tu as récupéré n as pas la capacité (methode). play.
il faudrait que tu essaies de le récupérer autrement, peut être en passant par le joueur
il faudrait que tu recupere l id de ton joueur et ensuite tu essaie de faire
c'est une approche que je te suggére mais je ne sais pas pour le moment si elle est viable.
Navré de ne peux pas etre plus precis pour le moment car je suis dans un train
N'hésite pas à utiliser allégrement les console.log pour voir le contenu de tes objets, tu n'aura pas les méthodes, mais tu apercevra peut être des élément interressant comme les info channel, guild ....
tiens nous au courrant
Bonjour flo3376,
Merci pour ton conseil je vais tanter ça et je te dit où ça me mènera lol
des news?
Honnêtemnt rien de concluant, ça me met un array des détails de chacun de mes salon mais aucune précision sur les fonctions à utiliser. J'ai beau me gratter le cerveau mais je ne comprends pas du tout... lol
croises les doigts j'ai besoin d'un truc du genre, si je trouve je te fait signe
voici la version alléger
tu vas pouvoir reprendre ton fichier de départ et juste rajouter ceci dedans
il y a toujours ce soucis de rebond sur cette version
voilà la version tester et debugguer, pas de rebond et pas de bug
Bonjour à tous, vous qui cherchez la solution.
Après s'être lancer dans une quête à la recherche des bugs durant des minutes, des heures et des jours, avec flo3376, nous avons finalement réussit à réunir toutes les conditions afin de régler tous les problèmes de compatibilité de DiscordJS et NodeJS.
En effet, nous avons constaté qu'il était préférable d'avoir des versions spécifiques pour une utilisation optimale. Voici donc les versions où nous-nous somme arrêtés :
NodeJS : 13.13.0
Packages
@discordjs/opus@0.1.0
discord.js@12.2.0
erlpack@0.1.3
ffmpeg@0.0.4
ffmpeg-static@4.2.0 //Afin de réglé le bug « Error: FFmpeg/avconv not found! »
fluent-ffmpeg@2.1.2
utf-8-validate@5.0.2
ytdl-core@2.1.0
Pour ce qui est du code, le voici :
Encore un grand merci à flo3376 pour son aide !
Un mystère de l'univers enfin résolu.