Open JohnnyMorganz opened 5 years ago
I don't mind doing this, but don't you also need the server_id
, user_id
, and token
from the voice state update?
For my current use-case, that being integration with Lavalink, I haven't needed the other properties; the point at which I need the session id is during a VOICE_SERVER_UPDATE, which provides the guild_id
/server_id
, and the user_id is the authenticated bot (which I can retrieve from client.user.id). No mention of token
either in the Lavalink Documentation.
However, it may very well be useful for someone else who is integrating voice in their own way.
The session_id provided during VOICE_STATE_UPDATE for the authenticated user is required for playing voice using external software (eg. lavalink)
There should be a member property of voiceSessionId for the authenticated user, which can be passed on further Currently I have to use
guild._voice_states[user.id].session_id
in order to access this data, however_voice_states
is an internal property and it is not recommend to access it this wayExamples of it being provided in other libraries: https://abal.moe/Eris/docs/VoiceState https://discord.js.org/#/docs/main/stable/class/GuildMember?scrollTo=voiceSessionID https://discordpy.readthedocs.io/en/latest/api.html#discord.VoiceClient.session_id