UNPKG

@twurple/eventsub-base

Version:

Base for the other Twurple EventSub packages

155 lines (154 loc) 5.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.EventSubAutoModMessageUpdateV2Event = void 0; const tslib_1 = require("tslib"); const shared_utils_1 = require("@d-fischer/shared-utils"); const common_1 = require("@twurple/common"); const EventSubAutoModMessageAutoMod_1 = require("./common/EventSubAutoModMessageAutoMod"); const EventSubAutoModMessageBlockedTerm_1 = require("./common/EventSubAutoModMessageBlockedTerm"); /** * An EventSub event representing a held chat message by AutoMod being resolved in a channel. */ let EventSubAutoModMessageUpdateV2Event = class EventSubAutoModMessageUpdateV2Event extends common_1.DataObject { /** @internal */ constructor(data, client) { super(data); this._client = client; } /** * The ID of the broadcaster in whose channel the held message was resolved. */ get broadcasterId() { return this[common_1.rawDataSymbol].broadcaster_user_id; } /** * The name of the broadcaster in whose channel the held message was resolved. */ get broadcasterName() { return this[common_1.rawDataSymbol].broadcaster_user_login; } /** * The display name of the broadcaster in channel the held message was resolved. */ get broadcasterDisplayName() { return this[common_1.rawDataSymbol].broadcaster_user_name; } /** * Gets more information about the broadcaster. */ async getBroadcaster() { return (0, common_1.checkRelationAssertion)(await this._client.users.getUserById(this[common_1.rawDataSymbol].broadcaster_user_id)); } /** * The ID of the moderator who resolved the held message. */ get moderatorId() { return this[common_1.rawDataSymbol].user_id; } /** * The name of the moderator who resolved the held message. */ get moderatorName() { return this[common_1.rawDataSymbol].user_login; } /** * The display name of the moderator who resolved the held message. */ get moderatorDisplayName() { return this[common_1.rawDataSymbol].user_name; } /** * Gets more information about the moderator. */ async getModerator() { return (0, common_1.checkRelationAssertion)(await this._client.users.getUserById(this[common_1.rawDataSymbol].moderator_user_id)); } /** * The ID of the user whose message was held by AutoMod. */ get userId() { return this[common_1.rawDataSymbol].user_id; } /** * The name of the user whose message was held by AutoMod. */ get userName() { return this[common_1.rawDataSymbol].user_login; } /** * The display name of the user whose message was held by AutoMod. */ get userDisplayName() { return this[common_1.rawDataSymbol].user_name; } /** * Gets more information about the user. */ async getUser() { return (0, common_1.checkRelationAssertion)(await this._client.users.getUserById(this[common_1.rawDataSymbol].user_id)); } /** * The ID of the message held by AutoMod. */ get messageId() { return this[common_1.rawDataSymbol].message_id; } /** * The plain text of the message. */ get messageText() { return this[common_1.rawDataSymbol].message.text; } /** * The pre-parsed message parts. */ get messageParts() { return this[common_1.rawDataSymbol].message.fragments; } /** * The reason why the message was caught. */ get reason() { return this[common_1.rawDataSymbol].reason; } /** * The AutoMod violation data if the message was caught by AutoMod. * * This is only relevant if {@link EventSubAutoModMessageUpdateEvent#reason} is `automod`, otherwise it is `null`. */ get autoMod() { return this[common_1.rawDataSymbol].automod ? new EventSubAutoModMessageAutoMod_1.EventSubAutoModMessageAutoMod(this[common_1.rawDataSymbol].automod, this.messageText) : null; } /** * The list of blocked terms caused the message to be caught. * * This is only relevant if {@link EventSubAutoModMessageUpdateEvent#reason} is `blocked_term`, otherwise it is * `null`. */ get blockedTerms() { return this[common_1.rawDataSymbol].blocked_term ? this[common_1.rawDataSymbol].blocked_term.terms_found.map(term => new EventSubAutoModMessageBlockedTerm_1.EventSubAutoModMessageBlockedTerm(term, this.messageText)) : null; } /** * The status of the resolved message. */ get status() { return this[common_1.rawDataSymbol].status; } /** * The date of when AutoMod held the message. */ get holdDate() { return new Date(this[common_1.rawDataSymbol].held_at); } }; exports.EventSubAutoModMessageUpdateV2Event = EventSubAutoModMessageUpdateV2Event; tslib_1.__decorate([ (0, shared_utils_1.Enumerable)(false) ], EventSubAutoModMessageUpdateV2Event.prototype, "_client", void 0); exports.EventSubAutoModMessageUpdateV2Event = EventSubAutoModMessageUpdateV2Event = tslib_1.__decorate([ (0, common_1.rtfm)('eventsub-base', 'EventSubAutoModMessageUpdateV2Event', 'messageId') ], EventSubAutoModMessageUpdateV2Event);