J'ai une fonction de canaux automatisés, p>
Toutes les modifications sont déclenchées avec un événement vocestateUpdate. P>
Tous les travaux très bons mais lorsqu'un utilisateur se déconnecte du serveur, voicestateUpdate n'est pas appelé ... P>
Alors, comment puis-je savoir si l'utilisateur partira avec la déconnexion du serveur? p>
mise à jour: p>
Je l'ai enfin eu dans VoiceSateUpdate, je ne fais que vérifier si le nouveau membre ou l'onglemember, je rends mes canaux à jour directement par le client et non par l'utilisateur. P>
3 Réponses :
Il n'y a actuellement aucun Je suggérerais d'utiliser l'événement code> GuildMembremove CODE>, qui émet un objet vocestatepdate code> émis lorsqu'un membre débranchit d'un message vochannel en laissant la guilde. Ceci est une limitation avec la discorde elle-même, pas la bibliothèque. P>
GuildMember code>. Vous pouvez utiliser cet objet pour boucler à travers tous les messages vocaux dans la guilde et vérifier lequel le membre s'est déconnecté de la sortie. p>
Vous pouvez enregistrer les utilisateurs qui se trouvent dans la chaîne vocale, puis vérifiant si l'utilisateur qui a quitté la guilde est dans la liste. P>
Lors du test, en fonction de quoi méthode que vous choisissez, l'objet résultant peut ressembler à ceci. P> vocestatusupdate code> ne tire pas lorsqu'un utilisateur a quitté. Cela semble être un problème avec la discorde elle-même. le
GuildMembremove L'événement fait le feu, cependant. Donc, pour contourner cela, vous devez créer un tableau qui contient l'ID de l'utilisateur et si un membre part, vérifiez s'ils étaient dans un canal vocal. Si vous souhaitez surveiller plusieurs canaux, vous pouvez mettre tous les canaux dans un objet avec l'ID de canal sous forme de touche et la matrice des participants (à l'aide de leurs identifiants, pour conserver la mémoire) comme valeur.
{
"channel1ID": ["member1ID", "member2ID"],
"channel2ID": ["member3ID", "member4ID"]
}
Peut-être que cela aidera Github