-
Notifications
You must be signed in to change notification settings - Fork 2
/
twitch.js.map
1 lines (1 loc) · 15 KB
/
twitch.js.map
1
{"version":3,"sources":["webpack:///webpack/bootstrap 7ffbffcd138d53f438c9","webpack:///external \"@exoplay/exobot\"","webpack:///external \"tmi.js\"","webpack:///./twitch.js"],"names":["EVENTS","connecting","connected","logon","disconnected","reconnect","chat","emoteonly","join","part","mods","notice","ping","pong","roomstate","slowmode","subscribers","subscription","timeout","whisper","TwitchAdapter","username","oauthPassword","channels","adapterName","arguments","twitchConnecting","status","Adapter","STATUS","CONNECTING","twitchConnected","CONNECTED","bot","emitter","emit","id","log","twitchLogon","twitchDisconnected","DISCONNECTED","warning","twitchReconnect","RECONNECTING","twitchEmoteonly","twitchPing","twitchPong","twitchRoomstate","twitchSlowmode","twitchSubscribers","twitchSubscription","twitchTimeout","twitchMods","twitchNotice","name","error","length","critical","client","TMI","identity","password","options","debug","secure","logger","info","bind","warn","connection","cluster","connect","Object","keys","forEach","twitchEvent","mappedFn","on","args","message","text","channel","user","say","twitchUser","self","getUser","receive","err","enter","leave","receiveWhisper","botUser","adapterUserId","roleMapping","adapterUsers","roles","filter","role","map","userId","subscriber","push","mod","turbo","type"],"mappings":"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","file":"twitch.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 2);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 7ffbffcd138d53f438c9","module.exports = require(\"@exoplay/exobot\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"@exoplay/exobot\"\n// module id = 0\n// module chunks = 0","module.exports = require(\"tmi.js\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"tmi.js\"\n// module id = 1\n// module chunks = 0","import TMI from 'tmi.js';\n\nimport { Adapter } from '@exoplay/exobot';\n\nexport const EVENTS = {\n connecting: 'twitchConnecting',\n connected: 'twitchConnected',\n logon: 'twitchLogon',\n disconnected: 'twitchDisconnected',\n reconnect: 'twitchReconnect',\n chat: 'twitchChat',\n emoteonly: 'twitchEmoteonly',\n join: 'twitchJoin',\n part: 'twitchPart',\n mods: 'twitchMods',\n notice: 'twitchNotice',\n ping: 'twitchPing',\n pong: 'twitchPong',\n roomstate: 'twitchRoomstate',\n slowmode: 'twitchSlowmode',\n subscribers: 'twitchSubscribers',\n subscription: 'twitchSubscription',\n timeout: 'twitchTimeout',\n whisper: 'twitchWhisper',\n};\n\nexport default class TwitchAdapter extends Adapter {\n static type = 'twitch';\n\n constructor ({ username, oauthPassword, channels=[], adapterName }) {\n super(...arguments);\n\n this.username = username;\n this.oauthPassword = oauthPassword;\n this.channels = channels;\n this.name = adapterName || this.name;\n }\n\n register (bot) {\n super.register(...arguments);\n\n const { username, oauthPassword, channels } = this;\n\n if (!username || !oauthPassword) {\n bot.log.error('username and oauthPassword are required to connect to Twitch.');\n return;\n }\n\n if (!channels.length) {\n bot.log.critical('No channels passed to Twitch adapter to connect to.');\n }\n\n this.client = new TMI.client({\n channels,\n identity: {\n username,\n password: oauthPassword,\n },\n options: {\n debug: true,\n },\n secure: true,\n reconnect: true,\n logger: {\n info: bot.log.info.bind(bot.log),\n warn: bot.log.warning.bind(bot.log),\n error: bot.log.error.bind(bot.log),\n },\n connection: {\n cluster: 'aws',\n },\n });\n\n\n this.client.connect();\n\n Object.keys(EVENTS).forEach(twitchEvent => {\n const mappedFn = this[EVENTS[twitchEvent]];\n this.client.on(twitchEvent, (...args) => mappedFn.bind(this)(...args));\n this.client.on(twitchEvent, (...args) => {\n this.bot.emitter.emit(`twitch-${twitchEvent}`, ...args);\n });\n });\n }\n\n send (message) {\n this.bot.log.debug(`Sending ${message.text} to ${message.channel}`);\n\n if (message.whisper) {\n return this.client.whisper(message.user.name, message.text);\n }\n\n this.client.say(message.channel, message.text);\n }\n\n twitchConnecting = () => {\n this.status = Adapter.STATUS.CONNECTING;\n }\n\n twitchConnected = () => {\n this.status = Adapter.STATUS.CONNECTED;\n this.bot.emitter.emit('connected', this.id);\n this.bot.log.notice(`Connected to Twitch as ${this.username}`);\n }\n\n twitchLogon = () => {\n this.status = Adapter.STATUS.CONNECTED;\n this.bot.log.notice(`Successfully logged on to Twitch as ${this.username}`);\n }\n\n twitchDisconnected = () => {\n this.status = Adapter.STATUS.DISCONNECTED;\n this.bot.log.warning('Disconnected from Twitch.');\n }\n\n twitchReconnect = () => {\n this.status = Adapter.STATUS.RECONNECTING;\n this.bot.log.notice('Reconnecting to Twitch.');\n }\n\n async twitchChat (channel, twitchUser, text ,self) {\n if (self) { return; }\n\n try {\n const user = await this.getUser(twitchUser.username, twitchUser.username, twitchUser);\n this.receive({ user, text, channel });\n } catch (err) {\n this.bot.log.warn(err);\n }\n\n }\n\n twitchEmoteonly = () => {\n }\n\n async twitchJoin (channel, username) {\n if (username !== this.username) { return; }\n\n try {\n const user = await this.getUser(username, username);\n return this.enter({ user, channel });\n } catch (err) {\n this.bot.log.warn(err);\n }\n }\n\n async twitchPart (channel, username) {\n if (username !== this.username) { return; }\n\n try {\n const user = await this.getUser(username, username);\n return this.leave({ user, channel });\n } catch (err) {\n this.bot.log.warn(err);\n }\n }\n\n twitchPing = () => {\n this.ping();\n }\n\n async twitchWhisper (username, twitchUser, text, self) {\n if (self) { return; }\n\n try {\n const user = await this.getUser(twitchUser.username, twitchUser.username, twitchUser);\n this.receiveWhisper({ user, text, channel: twitchUser.username });\n } catch (err) {\n this.bot.log.warn(err);\n }\n\n }\n\n twitchPong = () => { }\n\n twitchRoomstate = () => { }\n\n twitchSlowmode = () => { }\n\n twitchSubscribers = () => { }\n\n twitchSubscription = () => { }\n\n twitchTimeout = () => { }\n\n twitchMods = () => { }\n\n twitchNotice = () => { }\n\n async getUserIdByUserName (name) {\n let botUser;\n try {\n botUser = await this.getUser(name, name);\n } catch (err) {\n this.bot.log.warn(err);\n }\n\n return botUser.id;\n }\n\n getRolesForUser (adapterUserId) {\n if (this.roleMapping && this.adapterUsers && this.adapterUsers[adapterUserId]) {\n return this.adapterUsers[adapterUserId].roles\n .filter(role => this.roleMapping[role])\n .map(role => this.roleMapping[role]);\n }\n\n return [];\n }\n\n getRoles(userId, user) {\n const roles = [];\n if (user) {\n if (user.subscriber === true) {\n roles.push('subscriber');\n }\n\n if (user.mod === true) {\n roles.push('mod');\n }\n\n if (user.turbo === true) {\n roles.push('turbo');\n }\n return roles;\n }\n\n return false;\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./twitch.js"],"sourceRoot":""}