Passer au contenu principal
Quand quelqu’un rejoint un salon vocal, les événements voiceJoin tournent :
src/events/hello.ts
C’est tout. Votre fonction reçoit voice et le serveur, guild : voice.member est qui a rejoint, voice.channel le VoiceChannel (un salon de conférence en est un aussi, avec channel.isStage), et voice.state son VoiceState : micro coupé, casque coupé, en stream, caméra allumée…
Les quatre événements vocaux, avec ce qu’ils donnent, sont dans la référence. Votre bot qui rejoint lui-même un salon vocal, pour y jouer du son, est dans Jouer en vocal.

Quatre événements

Discord envoie une seule sorte de changement pour le vocal ; ChapterJS vous dit ce que c’était, en comparant avec ce que faisait la personne avant : Un changement de salon n’est qu’un voiceMove : pas un voiceLeave suivi d’un voiceJoin. Et voiceUpdate ne tourne jamais pour une arrivée, un départ ou un changement de salon.
src/events/live.ts

Le salon que quelqu’un a quitté

voiceLeave donne toujours le salon, même quand il a été supprimé avec des personnes dedans : le bot garde le salon de chaque personne tant qu’elle est en vocal.
src/events/empty.ts

Ce dont le bot se souvient

Pour distinguer une arrivée d’un changement de salon ou d’un micro coupé, le bot se souvient de qui est dans un salon vocal, et l’oublie quand la personne part. Il ne le fait que quand un fichier écoute l’un de ces événements : sans fichier, Discord n’envoie pas du tout les changements du vocal. C’est peu : une petite entrée par personne en vocal en ce moment.

Intents

Les quatre événements ont besoin de GUILD_VOICE_STATES, qui n’est pas privilégié. Ils ne se produisent que sur les serveurs : il n’y a pas d’option where.

Modération et serveur

Bannissements, journal d’audit, invitations, emojis, événements programmés, fils.

Référence des événements

Chaque champ de chaque événement.