UNPKG

@twurple/eventsub-base

Version:

Base for the other Twurple EventSub packages

111 lines (110 loc) 7.65 kB
import { __decorate } from "tslib"; import { rtfm } from '@twurple/common'; import { EventSubSubscription } from "./EventSubSubscription.mjs"; import { EventSubChannelBanModerationEvent } from "../events/moderation/EventSubChannelBanModerationEvent.mjs"; import { EventSubChannelDeleteModerationEvent } from "../events/moderation/EventSubChannelDeleteModerationEvent.mjs"; import { EventSubChannelTimeoutModerationEvent } from "../events/moderation/EventSubChannelTimeoutModerationEvent.mjs"; import { EventSubChannelClearModerationEvent } from "../events/moderation/EventSubChannelClearModerationEvent.mjs"; import { EventSubChannelAutoModTermsModerationEvent } from "../events/moderation/EventSubChannelAutoModTermsModerationEvent.mjs"; import { EventSubChannelUnbanRequestModerationEvent } from "../events/moderation/EventSubChannelUnbanRequestModerationEvent.mjs"; import { EventSubChannelUnbanModerationEvent } from "../events/moderation/EventSubChannelUnbanModerationEvent.mjs"; import { EventSubChannelUntimeoutModerationEvent } from "../events/moderation/EventSubChannelUntimeoutModerationEvent.mjs"; import { EventSubChannelEmoteOnlyModerationEvent } from "../events/moderation/EventSubChannelEmoteOnlyModerationEvent.mjs"; import { EventSubChannelEmoteOnlyOffModerationEvent } from "../events/moderation/EventSubChannelEmoteOnlyOffModerationEvent.mjs"; import { EventSubChannelFollowersModerationEvent } from "../events/moderation/EventSubChannelFollowersModerationEvent.mjs"; import { EventSubChannelFollowersOffModerationEvent } from "../events/moderation/EventSubChannelFollowersOffModerationEvent.mjs"; import { EventSubChannelUniqueChatModerationEvent } from "../events/moderation/EventSubChannelUniqueChatModerationEvent.mjs"; import { EventSubChannelUniqueChatOffModerationEvent } from "../events/moderation/EventSubChannelUniqueChatOffModerationEvent.mjs"; import { EventSubChannelSlowModerationEvent } from "../events/moderation/EventSubChannelSlowModerationEvent.mjs"; import { EventSubChannelSlowOffModerationEvent } from "../events/moderation/EventSubChannelSlowOffModerationEvent.mjs"; import { EventSubChannelSubscribersModerationEvent } from "../events/moderation/EventSubChannelSubscribersModerationEvent.mjs"; import { EventSubChannelSubscribersOffModerationEvent } from "../events/moderation/EventSubChannelSubscribersOffModerationEvent.mjs"; import { EventSubChannelRaidModerationEvent } from "../events/moderation/EventSubChannelRaidModerationEvent.mjs"; import { EventSubChannelUnraidModerationEvent } from "../events/moderation/EventSubChannelUnraidModerationEvent.mjs"; import { EventSubChannelModModerationEvent } from "../events/moderation/EventSubChannelModModerationEvent.mjs"; import { EventSubChannelUnmodModerationEvent } from "../events/moderation/EventSubChannelUnmodModerationEvent.mjs"; import { EventSubChannelVipModerationEvent } from "../events/moderation/EventSubChannelVipModerationEvent.mjs"; import { EventSubChannelUnvipModerationEvent } from "../events/moderation/EventSubChannelUnvipModerationEvent.mjs"; import { EventSubChannelWarnModerationEvent } from "../events/moderation/EventSubChannelWarnModerationEvent.mjs"; /** @internal */ let EventSubChannelModerateSubscription = class EventSubChannelModerateSubscription extends 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(data, this._client._apiClient); case 'clear': return new EventSubChannelClearModerationEvent(data, this._client._apiClient); case 'timeout': return new EventSubChannelTimeoutModerationEvent(data, this._client._apiClient); case 'untimeout': return new EventSubChannelUntimeoutModerationEvent(data, this._client._apiClient); case 'ban': return new EventSubChannelBanModerationEvent(data, this._client._apiClient); case 'unban': return new EventSubChannelUnbanModerationEvent(data, this._client._apiClient); case 'emoteonly': return new EventSubChannelEmoteOnlyModerationEvent(data, this._client._apiClient); case 'emoteonlyoff': return new EventSubChannelEmoteOnlyOffModerationEvent(data, this._client._apiClient); case 'followers': return new EventSubChannelFollowersModerationEvent(data, this._client._apiClient); case 'followersoff': return new EventSubChannelFollowersOffModerationEvent(data, this._client._apiClient); case 'uniquechat': return new EventSubChannelUniqueChatModerationEvent(data, this._client._apiClient); case 'uniquechatoff': return new EventSubChannelUniqueChatOffModerationEvent(data, this._client._apiClient); case 'slow': return new EventSubChannelSlowModerationEvent(data, this._client._apiClient); case 'slowoff': return new EventSubChannelSlowOffModerationEvent(data, this._client._apiClient); case 'subscribers': return new EventSubChannelSubscribersModerationEvent(data, this._client._apiClient); case 'subscribersoff': return new EventSubChannelSubscribersOffModerationEvent(data, this._client._apiClient); case 'raid': return new EventSubChannelRaidModerationEvent(data, this._client._apiClient); case 'unraid': return new EventSubChannelUnraidModerationEvent(data, this._client._apiClient); case 'mod': return new EventSubChannelModModerationEvent(data, this._client._apiClient); case 'unmod': return new EventSubChannelUnmodModerationEvent(data, this._client._apiClient); case 'vip': return new EventSubChannelVipModerationEvent(data, this._client._apiClient); case 'unvip': return new EventSubChannelUnvipModerationEvent(data, this._client._apiClient); case 'warn': return new EventSubChannelWarnModerationEvent(data, this._client._apiClient); case 'add_blocked_term': case 'add_permitted_term': case 'remove_blocked_term': case 'remove_permitted_term': return new EventSubChannelAutoModTermsModerationEvent(data, data.action, this._client._apiClient); case 'approve_unban_request': case 'deny_unban_request': return new 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())); } }; EventSubChannelModerateSubscription = __decorate([ rtfm('eventsub-base', 'EventSubSubscription') ], EventSubChannelModerateSubscription); export { EventSubChannelModerateSubscription };