Files
discord-decomp/modules/provisional_accounts/MessageSessionMetadataManager.tsx
T
2026-11-01 12:12:55 +02:00

38 lines
1.3 KiB
TypeScript

// Metro module 16206 (f16207).
import { AnalyticEvents } from "../../Constants";
import AutomaticLifecycleManager from "../../lib/AutomaticLifecycleManager";
import AnalyticsUtils from "../../utils/AnalyticsUtils";
class MessageSessionMetadataManager extends AutomaticLifecycleManager {
actions = {
MESSAGE_CREATE: (a0) => this.handleMessageCreate(a0),
MESSAGE_UPDATE: (a0) => this.handleMessageUpdate(a0)
};
handleMessageCreate(a0) {
this._trackIfSessionMetadataExists(a0.message);
}
handleMessageUpdate(a0) {
this._trackIfSessionMetadataExists(a0.message);
}
_getAuthorizedApplicationIds(a0) {
let authorized_application_ids;
try {
authorized_application_ids = a0.authorized_application_ids;
} catch ($e) {
return null;
}
return authorized_application_ids;
}
_trackIfSessionMetadataExists(a0) {
if (a0.session_metadata != null) {
AnalyticsUtils.track(AnalyticEvents.MESSAGE_DISPATCH_SESSION_METADATA_FOUND, {
message_id: a0.id,
channel_id: a0.channel_id,
author_id: a0.author?.id,
authorized_application_ids: this._getAuthorizedApplicationIds(a0.session_metadata)
});
}
}
}
const messageSessionMetadataManager = new MessageSessionMetadataManager();
export default messageSessionMetadataManager;