decord/source/modules/gateway/LocalVoiceStateManager.tsx

133 lines
4.9 KiB
TypeScript
Raw Normal View History

2026-08-12 06:57:52 +00:00
// Module ID: 13008
// Function ID: 13009
2026-07-29 08:29:29 +00:00
// Name: guildId
2026-08-13 07:00:46 +00:00
// Dependencies: [4365, 4364, 1391, 4393, 4437, 676, 13006, 4034, 1403, 4403, 2]
2026-07-20 16:05:17 +00:00
2026-08-12 06:57:52 +00:00
// Module 13008 (guildId)
2026-07-29 08:29:29 +00:00
import initialize from "initialize";
import reset from "reset";
import ensureGuildLoaded from "ensureGuildLoaded";
import _detectH265HardwareDecode from "_detectH265HardwareDecode";
import closure_6 from "initialize";
2026-07-23 10:11:24 +00:00
import ME from "ME";
2026-07-29 08:29:29 +00:00
import "shouldCommit";
2026-07-23 10:11:24 +00:00
2026-07-29 08:29:29 +00:00
let c9;
let error;
let metroImportAll;
2026-07-23 10:11:24 +00:00
const require = arg1;
2026-07-29 08:29:29 +00:00
({ ApplicationStreamStates: error, ChannelTypes: metroImportAll, VoiceFlags: c9 } = ME);
class LocalVoiceStateManager extends tmp3 {
constructor(arg0) {
tmp = new LocalVoiceStateManager(new.target);
// ThrowIfThisInitialized (0x7c)
tmp.socket = global;
return tmp;
2026-07-20 16:05:17 +00:00
}
}
2026-07-29 08:29:29 +00:00
const prototype = LocalVoiceStateManager.prototype;
Object.defineProperty(prototype, "guildId", {
get: function guildId() {
return this.getState().guildId;
},
set: undefined
});
Object.defineProperty(prototype, "channelId", {
get: function channelId() {
return this.getState().channelId;
},
set: undefined
});
prototype["computeVoiceFlags"] = function computeVoiceFlags() {
2026-08-12 06:57:52 +00:00
const ClipsAllowVoiceRecording = require(4034) /* explicitContentFromProto */.ClipsAllowVoiceRecording;
2026-07-29 08:29:29 +00:00
const setting = ClipsAllowVoiceRecording.getSetting();
2026-08-11 06:20:06 +00:00
const obj = require(1403) /* hasFlag */;
2026-07-29 08:29:29 +00:00
const tmp4 = constants3;
2026-08-11 06:20:06 +00:00
const setFlagResult = require(1403) /* hasFlag */.setFlag(0, constants3.ALLOW_VOICE_RECORDING, setting);
2026-08-13 07:00:46 +00:00
let isClipsEnabledResult = require(4403) /* isClipsEnabled */.isClipsEnabled();
2026-07-29 08:29:29 +00:00
if (isClipsEnabledResult) {
currentUserActiveStream = currentUserActiveStream.getCurrentUserActiveStream();
let state;
if (currentUserActiveStream != null) {
state = currentUserActiveStream.state;
}
let tmp11 = state === constants.ACTIVE;
if (!tmp11) {
const currentUserActiveStream1 = obj3.getCurrentUserActiveStream();
let state1;
if (currentUserActiveStream1 != null) {
state1 = currentUserActiveStream1.state;
}
tmp11 = state1 === tmp10.PAUSED;
}
isClipsEnabledResult = tmp11;
obj3 = currentUserActiveStream;
}
2026-08-13 07:00:46 +00:00
let tmpResult = tmp(4403);
2026-07-29 08:29:29 +00:00
let result = tmpResult.isDecoupledClipsEnabled();
if (result) {
visibleGame = visibleGame.getVisibleGame();
let windowHandle;
if (visibleGame != null) {
windowHandle = visibleGame.windowHandle;
}
result = null != windowHandle;
}
2026-08-11 06:20:06 +00:00
tmpResult = tmp(1403);
2026-07-29 08:29:29 +00:00
if (!isClipsEnabledResult) {
isClipsEnabledResult = result;
}
return tmpResult.setFlag(setFlagResult, tmp4.CLIPS_ENABLED, isClipsEnabledResult);
};
prototype["getInitialState"] = function getInitialState() {
return { guildId: null, channelId: null, selfMute: _detectH265HardwareDecode.isSelfMute(), selfDeaf: _detectH265HardwareDecode.isSelfDeaf(), selfVideo: _detectH265HardwareDecode.isVideoEnabled(), preferredRegion: null, preferredRegions: null, videoStreamParameters: null, flags: 0 };
};
prototype["getNextState"] = function getNextState(guildId) {
return { guildId: guildId.guildId, channelId: guildId.channelId, selfMute: _detectH265HardwareDecode.isSelfMute(), selfDeaf: _detectH265HardwareDecode.isSelfDeaf(), selfVideo: _detectH265HardwareDecode.isVideoEnabled(), preferredRegion: store.getPreferredRegion(), preferredRegions: store.getPreferredRegions(), videoStreamParameters: _detectH265HardwareDecode.getVideoStreamParameters(), flags: this.computeVoiceFlags() };
};
prototype["shouldCommit"] = function shouldCommit() {
const socket = this.socket;
return socket.isSessionEstablished();
};
prototype["didCommit"] = function didCommit(state) {
let channelId;
let flags;
let guildId;
let preferredRegion;
let preferredRegions;
let selfDeaf;
let selfMute;
let selfVideo;
({ guildId, channelId, selfMute, selfDeaf, selfVideo, preferredRegion, preferredRegions, flags } = state);
if (flags === undefined) {
flags = 0;
}
const self = this;
if (selfVideo) {
channel = channel.getChannel(channelId);
let type;
if (channel != null) {
type = channel.type;
}
if (type === constants2.GUILD_STAGE_VOICE) {
const socket2 = self.socket;
const obj = { guildId: null, channelId: null, selfMute: null, selfDeaf: null, selfVideo: null, preferredRegion: null, preferredRegions: null, videoStreamParameters: null, flags: null };
obj[0] = guildId;
obj[1] = channelId;
obj[2] = selfMute;
obj[3] = selfDeaf;
obj[4] = selfVideo;
obj[5] = preferredRegion;
obj[6] = preferredRegions;
obj[7] = state.videoStreamParameters;
obj[8] = flags;
socket2.voiceStateUpdate(obj);
}
}
const socket = self.socket;
socket.voiceStateUpdate({ guildId, channelId, selfMute, selfDeaf, selfVideo, preferredRegion, preferredRegions, flags });
};
let result = require("ensureGuildLoaded").fileFinishedImporting("modules/gateway/LocalVoiceStateManager.tsx");
2026-07-20 16:05:17 +00:00
2026-07-29 08:29:29 +00:00
export default LocalVoiceStateManager;