UNPKG

@twurple/eventsub-base

Version:

Base for the other Twurple EventSub packages

114 lines (113 loc) 8.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.EventSubChannelModerateSubscription = void 0; const tslib_1 = require("tslib"); const common_1 = require("@twurple/common"); const EventSubSubscription_1 = require("./EventSubSubscription"); const EventSubChannelBanModerationEvent_1 = require("../events/moderation/EventSubChannelBanModerationEvent"); const EventSubChannelDeleteModerationEvent_1 = require("../events/moderation/EventSubChannelDeleteModerationEvent"); const EventSubChannelTimeoutModerationEvent_1 = require("../events/moderation/EventSubChannelTimeoutModerationEvent"); const EventSubChannelClearModerationEvent_1 = require("../events/moderation/EventSubChannelClearModerationEvent"); const EventSubChannelAutoModTermsModerationEvent_1 = require("../events/moderation/EventSubChannelAutoModTermsModerationEvent"); const EventSubChannelUnbanRequestModerationEvent_1 = require("../events/moderation/EventSubChannelUnbanRequestModerationEvent"); const EventSubChannelUnbanModerationEvent_1 = require("../events/moderation/EventSubChannelUnbanModerationEvent"); const EventSubChannelUntimeoutModerationEvent_1 = require("../events/moderation/EventSubChannelUntimeoutModerationEvent"); const EventSubChannelEmoteOnlyModerationEvent_1 = require("../events/moderation/EventSubChannelEmoteOnlyModerationEvent"); const EventSubChannelEmoteOnlyOffModerationEvent_1 = require("../events/moderation/EventSubChannelEmoteOnlyOffModerationEvent"); const EventSubChannelFollowersModerationEvent_1 = require("../events/moderation/EventSubChannelFollowersModerationEvent"); const EventSubChannelFollowersOffModerationEvent_1 = require("../events/moderation/EventSubChannelFollowersOffModerationEvent"); const EventSubChannelUniqueChatModerationEvent_1 = require("../events/moderation/EventSubChannelUniqueChatModerationEvent"); const EventSubChannelUniqueChatOffModerationEvent_1 = require("../events/moderation/EventSubChannelUniqueChatOffModerationEvent"); const EventSubChannelSlowModerationEvent_1 = require("../events/moderation/EventSubChannelSlowModerationEvent"); const EventSubChannelSlowOffModerationEvent_1 = require("../events/moderation/EventSubChannelSlowOffModerationEvent"); const EventSubChannelSubscribersModerationEvent_1 = require("../events/moderation/EventSubChannelSubscribersModerationEvent"); const EventSubChannelSubscribersOffModerationEvent_1 = require("../events/moderation/EventSubChannelSubscribersOffModerationEvent"); const EventSubChannelRaidModerationEvent_1 = require("../events/moderation/EventSubChannelRaidModerationEvent"); const EventSubChannelUnraidModerationEvent_1 = require("../events/moderation/EventSubChannelUnraidModerationEvent"); const EventSubChannelModModerationEvent_1 = require("../events/moderation/EventSubChannelModModerationEvent"); const EventSubChannelUnmodModerationEvent_1 = require("../events/moderation/EventSubChannelUnmodModerationEvent"); const EventSubChannelVipModerationEvent_1 = require("../events/moderation/EventSubChannelVipModerationEvent"); const EventSubChannelUnvipModerationEvent_1 = require("../events/moderation/EventSubChannelUnvipModerationEvent"); const EventSubChannelWarnModerationEvent_1 = require("../events/moderation/EventSubChannelWarnModerationEvent"); /** @internal */ let EventSubChannelModerateSubscription = class EventSubChannelModerateSubscription extends EventSubSubscription_1.EventSubSubscription { constructor(handler, client, _broadcasterId, _moderatorId) { super(handler, client); this._broadcasterId = _broadcasterId; this._moderatorId = _moderatorId; /** @protected */ this._cliName = ''; } get id() { return `channel.moderate.${this._broadcasterId}.${this._moderatorId}`; } get authUserId() { return this._moderatorId; } transformData(data) { switch (data.action) { case 'delete': return new EventSubChannelDeleteModerationEvent_1.EventSubChannelDeleteModerationEvent(data, this._client._apiClient); case 'clear': return new EventSubChannelClearModerationEvent_1.EventSubChannelClearModerationEvent(data, this._client._apiClient); case 'timeout': return new EventSubChannelTimeoutModerationEvent_1.EventSubChannelTimeoutModerationEvent(data, this._client._apiClient); case 'untimeout': return new EventSubChannelUntimeoutModerationEvent_1.EventSubChannelUntimeoutModerationEvent(data, this._client._apiClient); case 'ban': return new EventSubChannelBanModerationEvent_1.EventSubChannelBanModerationEvent(data, this._client._apiClient); case 'unban': return new EventSubChannelUnbanModerationEvent_1.EventSubChannelUnbanModerationEvent(data, this._client._apiClient); case 'emoteonly': return new EventSubChannelEmoteOnlyModerationEvent_1.EventSubChannelEmoteOnlyModerationEvent(data, this._client._apiClient); case 'emoteonlyoff': return new EventSubChannelEmoteOnlyOffModerationEvent_1.EventSubChannelEmoteOnlyOffModerationEvent(data, this._client._apiClient); case 'followers': return new EventSubChannelFollowersModerationEvent_1.EventSubChannelFollowersModerationEvent(data, this._client._apiClient); case 'followersoff': return new EventSubChannelFollowersOffModerationEvent_1.EventSubChannelFollowersOffModerationEvent(data, this._client._apiClient); case 'uniquechat': return new EventSubChannelUniqueChatModerationEvent_1.EventSubChannelUniqueChatModerationEvent(data, this._client._apiClient); case 'uniquechatoff': return new EventSubChannelUniqueChatOffModerationEvent_1.EventSubChannelUniqueChatOffModerationEvent(data, this._client._apiClient); case 'slow': return new EventSubChannelSlowModerationEvent_1.EventSubChannelSlowModerationEvent(data, this._client._apiClient); case 'slowoff': return new EventSubChannelSlowOffModerationEvent_1.EventSubChannelSlowOffModerationEvent(data, this._client._apiClient); case 'subscribers': return new EventSubChannelSubscribersModerationEvent_1.EventSubChannelSubscribersModerationEvent(data, this._client._apiClient); case 'subscribersoff': return new EventSubChannelSubscribersOffModerationEvent_1.EventSubChannelSubscribersOffModerationEvent(data, this._client._apiClient); case 'raid': return new EventSubChannelRaidModerationEvent_1.EventSubChannelRaidModerationEvent(data, this._client._apiClient); case 'unraid': return new EventSubChannelUnraidModerationEvent_1.EventSubChannelUnraidModerationEvent(data, this._client._apiClient); case 'mod': return new EventSubChannelModModerationEvent_1.EventSubChannelModModerationEvent(data, this._client._apiClient); case 'unmod': return new EventSubChannelUnmodModerationEvent_1.EventSubChannelUnmodModerationEvent(data, this._client._apiClient); case 'vip': return new EventSubChannelVipModerationEvent_1.EventSubChannelVipModerationEvent(data, this._client._apiClient); case 'unvip': return new EventSubChannelUnvipModerationEvent_1.EventSubChannelUnvipModerationEvent(data, this._client._apiClient); case 'warn': return new EventSubChannelWarnModerationEvent_1.EventSubChannelWarnModerationEvent(data, this._client._apiClient); case 'add_blocked_term': case 'add_permitted_term': case 'remove_blocked_term': case 'remove_permitted_term': return new EventSubChannelAutoModTermsModerationEvent_1.EventSubChannelAutoModTermsModerationEvent(data, data.action, this._client._apiClient); case 'approve_unban_request': case 'deny_unban_request': return new EventSubChannelUnbanRequestModerationEvent_1.EventSubChannelUnbanRequestModerationEvent(data, data.action, this._client._apiClient); default: throw new Error(`Unknown moderation action: ${data.action}`); } } async _subscribe() { return await this._client._apiClient.asUser(this._moderatorId, async (ctx) => await ctx.eventSub.subscribeToChannelModerateEvents(this._broadcasterId, await this._getTransportOptions())); } }; exports.EventSubChannelModerateSubscription = EventSubChannelModerateSubscription; exports.EventSubChannelModerateSubscription = EventSubChannelModerateSubscription = tslib_1.__decorate([ (0, common_1.rtfm)('eventsub-base', 'EventSubSubscription') ], EventSubChannelModerateSubscription);