UNPKG

@twurple/eventsub-base

Version:

Base for the other Twurple EventSub packages

125 lines (124 loc) 4.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.EventSubAutoModMessageHoldV2Event = 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 chat message being held by AutoMod in a channel. */ let EventSubAutoModMessageHoldV2Event = class EventSubAutoModMessageHoldV2Event extends common_1.DataObject { /** @internal */ constructor(data, client) { super(data); this._client = client; } /** * The ID of the broadcaster in whose channel the message has been held by AutoMod. */ get broadcasterId() { return this[common_1.rawDataSymbol].broadcaster_user_id; } /** * The name of the broadcaster in whose channel the message has been held by AutoMod. */ get broadcasterName() { return this[common_1.rawDataSymbol].broadcaster_user_login; } /** * The display name of the broadcaster in whose channel the message has been held by AutoMod. */ 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 user whose message has been held by AutoMod. */ get userId() { return this[common_1.rawDataSymbol].user_id; } /** * The name of the user whose message has been held by AutoMod. */ get userName() { return this[common_1.rawDataSymbol].user_login; } /** * The display name of the user whose message has been 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 chat 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 EventSubAutoModMessageHoldEvent#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 EventSubAutoModMessageHoldEvent#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 date of when AutoMod held the message. */ get holdDate() { return new Date(this[common_1.rawDataSymbol].held_at); } }; exports.EventSubAutoModMessageHoldV2Event = EventSubAutoModMessageHoldV2Event; tslib_1.__decorate([ (0, shared_utils_1.Enumerable)(false) ], EventSubAutoModMessageHoldV2Event.prototype, "_client", void 0); exports.EventSubAutoModMessageHoldV2Event = EventSubAutoModMessageHoldV2Event = tslib_1.__decorate([ (0, common_1.rtfm)('eventsub-base', 'EventSubAutoModMessageHoldV2Event', 'messageId') ], EventSubAutoModMessageHoldV2Event);