summary refs log tree commit diff
path: root/webrtc/src/opcodes/Resume.ts
diff options
context:
space:
mode:
authorMadeline <46743919+MaddyUnderStars@users.noreply.github.com>2022-03-12 13:10:05 +1100
committerMadeline <46743919+MaddyUnderStars@users.noreply.github.com>2022-03-12 13:10:05 +1100
commitb455f4a181894dc78484c1230c226207b5c01cd3 (patch)
treea185e3eeb1a0bf8e8c396be5a4cb98385e754818 /webrtc/src/opcodes/Resume.ts
parentMerge branch 'master' into slowcord (diff)
parentAdded preferred_region optional property of VoiceStateUpdateSchema to allow e... (diff)
downloadserver-b455f4a181894dc78484c1230c226207b5c01cd3.tar.xz
Merge branch 'maddyrtc' into slowcord
Diffstat (limited to '')
-rw-r--r--webrtc/src/opcodes/Resume.ts24
1 files changed, 24 insertions, 0 deletions
diff --git a/webrtc/src/opcodes/Resume.ts b/webrtc/src/opcodes/Resume.ts
new file mode 100644

index 00000000..856b550c --- /dev/null +++ b/webrtc/src/opcodes/Resume.ts
@@ -0,0 +1,24 @@ +import { CLOSECODES, WebSocket } from "@fosscord/gateway"; +import { Payload } from "./index"; +import { Server } from "../Server" +import { Guild, Session, VoiceOPCodes } from "@fosscord/util"; + +export async function onResume(this: Server, socket: WebSocket, data: Payload) { + const session = await Session.findOneOrFail( + { session_id: data.d.session_id, }, + { + where: { user_id: data.d.user_id }, + relations: ["user"] + } + ); + const user = session.user; + const guild = await Guild.findOneOrFail({ id: data.d.server_id }, { relations: ["members"] }); + + if (!guild.members.find(x => x.id === user.id)) + return socket.close(CLOSECODES.Invalid_intent); + + socket.send(JSON.stringify({ + op: VoiceOPCodes.RESUMED, + d: null, + })) +} \ No newline at end of file