UNPKG

@twurple/easy-bot

Version:

A simplified framework to get a chat bot running easily.

79 lines (78 loc) 2.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SlowModeToggleEvent = void 0; const tslib_1 = require("tslib"); const shared_utils_1 = require("@d-fischer/shared-utils"); const chat_1 = require("@twurple/chat"); const common_1 = require("@twurple/common"); /** * An event representing slow mode being toggled in a channel. * * @meta category events */ let SlowModeToggleEvent = class SlowModeToggleEvent { /** @internal */ constructor(channel, enabled, delay, bot) { this._broadcasterName = (0, chat_1.toUserName)(channel); this._enabled = enabled; this._delay = delay; this._bot = bot; } /** * The name of the broadcaster. */ get broadcasterName() { return this._broadcasterName; } /** * Gets more information about the broadcaster. */ async getBroadcaster() { return (0, common_1.checkRelationAssertion)(await this._bot.api.users.getUserByName(this.broadcasterName)); } /** * Whether slow mode was enabled. * * `true` means it was enabled, `false` means it was disabled. */ get enabled() { return this._enabled; } /** * The time (in seconds) a user has to wait after sending a message to send another one. */ get delay() { var _a; return (_a = this._delay) !== null && _a !== void 0 ? _a : null; } /** * Enables slow mode in the channel. * * @param delay The time (in seconds) a user has to wait after sending a message to send another one. */ async enable(delay = 30) { await this._bot.enableSlowMode(this.broadcasterName, delay); } /** * Disables slow mode in the channel. */ async disable() { await this._bot.disableSlowMode(this.broadcasterName); } }; exports.SlowModeToggleEvent = SlowModeToggleEvent; tslib_1.__decorate([ (0, shared_utils_1.Enumerable)(false) ], SlowModeToggleEvent.prototype, "_broadcasterName", void 0); tslib_1.__decorate([ (0, shared_utils_1.Enumerable)(false) ], SlowModeToggleEvent.prototype, "_enabled", void 0); tslib_1.__decorate([ (0, shared_utils_1.Enumerable)(false) ], SlowModeToggleEvent.prototype, "_delay", void 0); tslib_1.__decorate([ (0, shared_utils_1.Enumerable)(false) ], SlowModeToggleEvent.prototype, "_bot", void 0); exports.SlowModeToggleEvent = SlowModeToggleEvent = tslib_1.__decorate([ (0, common_1.rtfm)('easy-bot', 'SlowModeToggleEvent', 'broadcasterName') ], SlowModeToggleEvent);