Bots Home
|
Create an App
Alpha CAPTCHA OS
Author:
opensauce
Description
Source Code
Launch Bot
Current Users
Created by:
Opensauce
! function (u) { function l(e) { if (t[e]) return t[e].exports; var h = t[e] = { i: e, l: !1, exports: {} }; return u[e].call(h.exports, h, h.exports, l), h.l = !0, h.exports } var t = {}; l.m = u; l.c = t; l.d = function (e, h, n) { l.o(e, h) || Object.defineProperty(e, h, { enumerable: !0, get: n }) }; l.r = function (e) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }); Object.defineProperty(e, "__esModule", { value: !0 }) }; l.t = function (e, h) { if ((1 & h && (e = l(e)), 8 & h) || 4 & h && "object" == typeof e && e && e.__esModule) return e; var n = Object.create(null); if (l.r(n), Object.defineProperty(n, "default", { enumerable: !0, value: e }), 2 & h && "string" != typeof e) for (var q in e) l.d(n, q, function (h) { return e[h] }.bind(null, q)); return n }; l.n = function (e) { var h = e && e.__esModule ? function () { return e["default"] } : function () { return e }; return l.d(h, "a", h), h }; l.o = function (e, h) { return Object.prototype.hasOwnProperty.call(e, h) }; l.p = ""; l(l.s = 0) }([function (u, l, t) { function e(a, c) { for (var d = 0; d < c.length; d += 1) { var b = c[d]; b.enumerable = b.enumerable || !1; b.configurable = !0; "value" in b && (b.writable = !0); Object.defineProperty(a, b.key, b) } } function h(a, c) { for (var d = 0; d < c.length; d += 1) { var b = c[d]; b.enumerable = b.enumerable || !1; b.configurable = !0; "value" in b && (b.writable = !0); Object.defineProperty(a, b.key, b) } } function n(a, c) { for (var d = 0; d < c.length; d += 1) { var b = c[d]; b.enumerable = b.enumerable || !1; b.configurable = !0; "value" in b && (b.writable = !0); Object.defineProperty(a, b.key, b) } } function q(a, c) { var d; if (!(d = function (a) { if (Array.isArray(a)) return a }(a) || function (a, d) { var b = [], k = !0, c = !1, g = void 0; try { for (var e, h = a[Symbol.iterator](); !(k = (e = h.next()).done) && (b.push(e.value), !d || b.length !== d); k = !0); } catch (z) { c = !0, g = z } finally { try { k || null == h["return"] || h["return"]() } finally { if (c) throw g; } } return b }(a, c))) throw new TypeError("Invalid attempt to destructure non-iterable instance"); return d } function x(a, c) { for (var d = 0; d < c.length; d += 1) { var b = c[d]; b.enumerable = b.enumerable || !1; b.configurable = !0; "value" in b && (b.writable = !0); Object.defineProperty(a, b.key, b) } } function r(a, c, d) { return c in a ? Object.defineProperty(a, c, { value: d, enumerable: !0, configurable: !0, writable: !0 }) : a[c] = d, a } t.r(l); var A = function () { function a(d, b, k) { if (!(this instanceof a)) throw new TypeError("Cannot call a class as a function"); !0; this.modsAllowed = d; this.dev = b; this.helpers = k } var c; return c = [{ key: "hasClaim", value: function (a, b) { return this.getClaims(a).includes(b) } }, { key: "getClaims", value: function (a) { var d = []; return a.user === this.dev && d.push("IS_DEV"), a.user === cb.room_slug && d.push("IS_BROADCASTER"), this.helpers.includes(a.user) && d.push("IS_HELPER"), a.is_mod && d.push("IS_MOD"), a.in_fanclub && d.push("IN_FANCLUB"), a.has_tokens && (d.push("IS_LIGHTBLUE"), d.push("HAS_TOKENS"), d.push("HAS_TOKEN")), a.tipped_recently && (d.push("IS_DARKBLUE"), d.push("HAS_TIPPED_RECENTLY")), a.tipped_alot_recently && (d.push("IS_LIGHTPURPLE"), d.push("HAS_TIPPED_ALOT_RECENTLY")), a.tipped_tons_recently && (d.push("IS_DARKPURPLE"), d.push("HAS_TIPPED_TONS_RECENTLY")), d } }, { key: "hasPermission", value: function (a, b) { var d = this; if (this.hasClaim(a, "IS_DEV")) return !0; var f = function (b) { return !!d.getClaims(a).some(function (a) { return b.includes(a) }) }; switch (b) { case "MOD": return this.modsAllowed ? f(["IS_BROADCASTER", "IS_MOD"]) : f(["IS_BROADCASTER"]); case "SUPERUSER": return this.modsAllowed ? f(["IS_BROADCASTER", "IS_MOD", "IS_HELPER"]) : f(["IS_BROADCASTER"]); case "USER": return f(["IS_BROADCASTER", "IS_MOD", "IS_HELPER", "IN_FANCLUB", "HAS_TOKEN"]); default: return !1 } } }], e(a.prototype, c), a }(), v, p, w = function () { function a() { if (!(this instanceof a)) throw new TypeError("Cannot call a class as a function"); !0 } var c; return c = [{ key: "generateCaptcha", value: function () { var a = Math.round(8 * Math.random()) + 1; var b = Math.round(8 * Math.random()) + 1; return ["".concat(a, " plus ").concat(b, " equals ??"), function (d) { return parseInt(d, 10) === a + b }] } }], c && h(a, c), a }(); ! function (a) { a.LightGrey = "#d6d6b8"; a.Orange = "#f4a369"; a.Blue = "#9cb9ff"; a.Yellow = "#f1d567"; a.Green = "#9edf7e"; a.IcyBlue = "#8dd4d4"; a.LightRed = "#ef9c98"; a.LightPurple = "#d9a6ff"; a.MudOrange = "#e1cc91"; a.BluishPurple = "#b5a8db"; a.Pink = "#fa7ba1"; a.GrassGreen = "#d3df66"; a.RockYellow = "#d3bd5c"; a.GhostyPurple = "#b29adb"; a.Purple = "#ac8bfc"; a.SteelGrey = "#B8B8D0"; a.Darkness = "#705848"; a.FairyPink = "#EE99AC" }(v || (v = {})); (function (a) { a.AliceBlue = "#F0F8FF"; a.AntiqueWhite = "#FAEBD7"; a.Aqua = "#00FFFF"; a.Aquamarine = "#7FFFD4"; a.Azure = "#F0FFFF"; a.Beige = "#F5F5DC"; a.Bisque = "#FFE4C4"; a.Black = "#000000"; a.BlanchedAlmond = "#FFEBCD"; a.Blue = "#0000FF"; a.BlueViolet = "#8A2BE2"; a.Brown = "#A52A2A"; a.BurlyWood = "#DEB887"; a.CadetBlue = "#5F9EA0"; a.Chartreuse = "#7FFF00"; a.Chocolate = "#D2691E"; a.Coral = "#FF7F50"; a.CornflowerBlue = "#6495ED"; a.Cornsilk = "#FFF8DC"; a.Crimson = "#DC143C"; a.Cyan = "#00FFFF"; a.DarkBlue = "#00008B"; a.DarkCyan = "#008B8B"; a.DarkGoldenRod = "#B8860B"; a.DarkGrey = "#A9A9A9"; a.DarkGreen = "#006400"; a.DarkKhaki = "#BDB76B"; a.DarkMagenta = "#8B008B"; a.DarkOliveGreen = "#556B2F"; a.DarkOrange = "#FF8C00"; a.DarkOrchid = "#9932CC"; a.DarkRed = "#8B0000"; a.DarkSalmon = "#E9967A"; a.DarkSeaGreen = "#8FBC8F"; a.DarkSlateBlue = "#483D8B"; a.DarkSlateGrey = "#2F4F4F"; a.DarkTurquoise = "#00CED1"; a.DarkViolet = "#9400D3"; a.DeepPink = "#FF1493"; a.DeepSkyBlue = "#00BFFF"; a.DimGrey = "#696969"; a.DodgerBlue = "#1E90FF"; a.FireBrick = "#B22222"; a.FloralWhite = "#FFFAF0"; a.ForestGreen = "#228B22"; a.Fuschia = "#FF00FF"; a.Gainsboro = "#DCDCDC"; a.GhostWhite = "#F8F8FF"; a.Gold = "#FFD700"; a.GoldenRod = "#DAA520"; a.Grey = "#808080"; a.Green = "#008000"; a.GreenYellow = "#ADFF2F"; a.HoneyDew = "#F0FFF0"; a.HotPink = "#FF69B4"; a.IndianRed = "#CD5C5C"; a.Indigo = "#4B0082"; a.Ivory = "#FFFFF0"; a.Khaki = "#F0E68C"; a.Lavender = "#E6E6FA"; a.LavenderBlush = "#FFF0F5"; a.LawnGreen = "#7CFC00"; a.LemonChiffon = "#FFFACD"; a.LightBlue = "#ADD8E6"; a.LightCoral = "#F08080"; a.LightCyan = "#E0FFFF"; a.LightGoldenRodYellow = "#FAFAD2"; a.LightGrey = "#D3D3D3"; a.LightGreen = "#90EE90"; a.LightPink = "#FFB6C1"; a.LightSalmon = "#FFA07A"; a.LightSeaGreen = "#20B2AA"; a.LightSkyBlue = "#87CEFA"; a.LightSlateGrey = "#778899"; a.LightSteelBlue = "#B0C4DE"; a.LightYellow = "#FFFFE0"; a.Lime = "#00FF00"; a.LimeGreen = "#32CD32"; a.Linen = "#FAF0E6"; a.Magenta = "#FF00FF"; a.Maroon = "#800000"; a.MediumAquaMarine = "#66CDAA"; a.MediumBlue = "#0000CD"; a.MediumOrchid = "#BA55D3"; a.MediumPurple = "#9370DB"; a.MediumSeaGreen = "#3CB371"; a.MediumSlateBlue = "#7B68EE"; a.MediumSpringGreen = "#00FA9A"; a.MediumTurquoise = "#48D1CC"; a.MediumVioletRed = "#C71585"; a.MidnightBlue = "#191970"; a.MintCream = "#F5FFFA"; a.MistyRose = "#FFE4E1"; a.Moccasin = "#FFE4B5"; a.NavajoWhite = "#FFDEAD"; a.Navy = "#000080"; a.OldLace = "#FDF5E6"; a.Olive = "#808000"; a.OliveDrab = "#6B8E23"; a.Orange = "#FFA500"; a.OrangeRed = "#FF4500"; a.Orchid = "#DA70D6"; a.PaleGoldenRod = "#EEE8AA"; a.PaleGreen = "#98FB98"; a.PaleTurquoise = "#AFEEEE"; a.PaleVioletRed = "#DB7093"; a.PapayaWhip = "#FFEFD5"; a.PeachPuff = "#FFDAB9"; a.Peru = "#CD853F"; a.Pink = "#FFC0CB"; a.Plum = "#DDA0DD"; a.PowderBlue = "#B0E0E6"; a.Purple = "#800080"; a.Red = "#FF0000"; a.RosyBrown = "#BC8F8F"; a.RoyalBlue = "#4169E1"; a.SaddleBrown = "#8B4513"; a.Salmon = "#FA8072"; a.SandyBrown = "#F4A460"; a.SeaGreen = "#2E8B57"; a.SeaShell = "#FFF5EE"; a.Sienna = "#A0522D"; a.Silver = "#C0C0C0"; a.SkyBlue = "#87CEEB"; a.SlateBlue = "#6A5ACD"; a.SlateGrey = "#708090"; a.Snow = "#FFFAFA"; a.SpringGreen = "#00FF7F"; a.SteelBlue = "#4682B4"; a.Tan = "#D2B48C"; a.Teal = "#008080"; a.Thistle = "#D8BFD8"; a.Tomato = "#FF6347"; a.Turquoise = "#40E0D0"; a.Violet = "#EE82EE"; a.Wheat = "#F5DEB3"; a.White = "#FFFFFF"; a.WhiteSmoke = "#F5F5F5"; a.Yellow = "#FFFF00"; a.YellowGreen = "#9ACD32" })(p || (p = {})); var g = function () { function a() { if (!(this instanceof a)) throw new TypeError("Cannot call a class as a function"); !0 } var c; return c = [{ key: "sendMessageToUser", value: function (a, b, k, f) { this.sendMessage(a, b, k, f) } }, { key: "sendMessageToGroup", value: function (a, b, k, f) { this.sendMessage(a, void 0, k, f, void 0, b) } }, { key: "sendBroadcasterNotice", value: function (a) { this.sendMessageToUser(a, cb.room_slug, p.Yellow, p.Purple) } }, { key: "sendErrorMessage", value: function (a, b, k) { this.sendMessage(a, b, void 0, p.Red, void 0, k) } }, { key: "sendWarningMessage", value: function (a, b, k) { this.sendMessage(a, b, void 0, p.Orange, void 0, k) } }, { key: "sendSuccessMessage", value: function (a, b, k) { this.sendMessage(a, b, void 0, p.Green, void 0, k) } }, { key: "sendInfoMessage", value: function (a, b, k) { this.sendMessage(a, b, void 0, p.Black, void 0, k) } }, { key: "sendMessage", value: function (a, b, k, f, c, g) { void 0 === c && (c = "bold"); cb.sendNotice(a, b, k, f, c, g) } } ], c && n(a, c), a }(), m = new(function () { function a(d) { if (!(this instanceof a)) throw new TypeError("Cannot call a class as a function"); if (this.config = d, r(this, "whiteListed", new Set), r(this, "blackListed", new Set), r(this, "onCooldown", new Set), r(this, "inCheck", new Map), r(this, "coolDownCommands", []), r(this, "accessControl", void 0), r(this, "recentCommandActivators", new Set), this.initCBSettings(), this.accessControl = new A(cb.settings.allow_mod_superuser_cmd, this.config.Dev, this.config.FairyHelper), this.coolDownCommands = [], void 0 !== cb.settings.import_list && 0 < cb.settings.import_list.length) try { this.importFromJson(cb.settings.import_list), g.sendSuccessMessage("Imported data from settings.", cb.room_slug) } catch (b) { g.sendErrorMessage("An unexpected error happened during the import. Is your data correct?", cb.room_slug) } } var c; return c = [{ key: "sendDevInfo", value: function (a) { this.accessControl.hasPermission(a, "SUPERUSER") && g.sendSuccessMessage("Alpha CAPTCHA version " + this.config.Version + " is running.", a.user) } }, { key: "sendStatusInfo", value: function (a) { this.blackListed.has(a.user) ? g.sendErrorMessage("You are Blacklisted in this room and can't send any messages!", a.user) : this.whiteListed.has(a.user) || g.sendWarningMessage("Alpha CAPTCHA bot is active! If your name-color is required to prove you are a human, before posting, you will be presented with a math-challenge in addition to this notice", a.user) } }, { key: "checkAndAddToLists", value: function (a) { var d = this; if (!this.isInAnyList(a.user)) { if (this.accessControl.getClaims(a).some(function (a) { return d.getWhitelistedClaims().includes(a) })) return this.whiteListed.add(a.user), !1; var c = q(w.generateCaptcha(), 2), f = c[0], e = c[1]; return g.sendWarningMessage("Solve the following math-challenge to be able to chat (you've got ".concat(cb.settings.answering_time, " seconds):"), a.user), cb.setTimeout(function () { g.sendInfoMessage(f, a.user); d.inCheck.set(a.user, e); cb.setTimeout(function () { return d.inCheck["delete"](a.user) }, 1E3 * cb.settings.answering_time) }, 100), !0 } return !1 } }, { key: "checkAnswer", value: function (a) { var d = this; if (this.inCheck.has(a.user)) { a["X-Spam"] = !0; a.c = "#FFFFFF"; a.background = "#E7E7E7"; var c = this.inCheck.get(a.user); this.inCheck["delete"](a.user); c(a.m) ? (g.sendSuccessMessage("Your answer is CORRECT... you may now post in the chat", a.user), this.whiteListed.add(a.user)) : this.isInAnyList(a.user) || (g.sendErrorMessage("Your answer is INCORRECT! You must now wait for ".concat(cb.settings.cooldown_time, " seconds and then you will be given another challenge to answer"), a.user), this.onCooldown.add(a.user), cb.setTimeout(function () { d.onCooldown["delete"](a.user); var b = q(w.generateCaptcha(), 2), c = b[0], e = b[1]; g.sendSuccessMessage("Your Incorrect answer wait-time is over", a.user); cb.setTimeout(function () { g.sendWarningMessage("Solve the following math-challenge to be able to chat (you've got ".concat(cb.settings.answering_time, " seconds):"), a.user); cb.setTimeout(function () { g.sendInfoMessage(c, a.user); d.inCheck.set(a.user, e); cb.setTimeout(function () { return d.inCheck["delete"](a.user) }, 1E3 * cb.settings.answering_time) }, 100) }, 100) }, 1E3 * cb.settings.cooldown_time)) } } }, { key: "handleCommands", value: function (a) { var d = this; if (0 === a.m.indexOf(this.config.Prefix)) { a["X-Spam"] = !0; a.c = "#FFFFFF"; a.background = "#E7E7E7"; var c = a.m.slice(this.config.Prefix.length).trim().split(/ +/g), f = c.shift(); if (void 0 !== f) { if (f = f.toLowerCase(), this.coolDownCommands.includes(f)) { if (this.recentCommandActivators.has(a.user)) return void g.sendWarningMessage("Sorry some commands have a cooldown time. Wait a minute until your next command.", a.user); this.accessControl.hasPermission(a, "SUPERUSER") || (this.recentCommandActivators.add(a.user), cb.setTimeout(function () { d.recentCommandActivators["delete"](a.user) }, 6E4)) } if (this.accessControl.hasPermission(a, "MOD")) if (f === this.config.CMDS.SUPPORT) cb.settings.allow_mod_superuser_cmd = !cb.settings.allow_mod_superuser_cmd, g.sendSuccessMessage("Support mode for ".concat(this.config.Name, " Ver. ").concat(this.config.Version, " is now ").concat(cb.settings.allow_mod_superuser_cmd ? "ACTIVATED" : "DEACTIVATED", " !"), a.user); else if (f === this.config.CMDS.DEBUG) { var e = { whitelisted: Array.from(this.whiteListed), blacklisted: Array.from(this.blackListed), incheck: Array.from(this.inCheck), onCooldown: Array.from(this.onCooldown) }; g.sendInfoMessage(JSON.stringify(e), a.user) } if (this.accessControl.hasPermission(a, "SUPERUSER")) switch (f) { case this.config.CMDS.RELOAD: if (void 0 !== cb.settings.import_list && 0 < cb.settings.import_list.length) try { this.importFromJson(cb.settings.import_list), g.sendSuccessMessage("Imported data from settings.", a.user) } catch (y) { g.sendErrorMessage("An unexpected error happened during the import. Is your data correct?", a.user) } else g.sendWarningMessage("No data found to import/reload", a.user); break; case this.config.CMDS.IMPORT: c = c.join(" "); try { this.importFromJson(c), g.sendSuccessMessage("Imported given data", a.user) } catch (y) { g.sendErrorMessage("An unexpected error happened during the import. Is your data correct?", a.user) } break; case this.config.CMDS.EXPORT: g.sendSuccessMessage(this.exportToJson(), a.user); break; case this.config.CMDS.CLEAR: this.whiteListed.clear(); this.blackListed.clear(); this.inCheck.clear(); this.onCooldown.clear(); this.recentCommandActivators.clear(); g.sendSuccessMessage("All lists have been cleared!", a.user); break; case this.config.CMDS.BLACKLIST: f = q(c, 2); c = f[0]; f = f[1]; c === this.config.ARGS.BLACKLIST.ADD ? (this.deleteFromAllLists(f), this.blackListed.add(f), g.sendSuccessMessage("Added user ".concat(f, " to BLACKLIST. Recheck the username to make sure it's the right user."), a.user)) : c === this.config.ARGS.BLACKLIST.REMOVE ? (this.blackListed["delete"](f), g.sendSuccessMessage("Removed user ".concat(f, " from the BLACKLIST (if user was present in list)."), a.user)) : g.sendErrorMessage("Command not recognized. Usage: '".concat(this.config.Prefix, "").concat(this.config.CMDS.BLACKLIST, " [").concat(this.config.ARGS.BLACKLIST.ADD, "/").concat(this.config.ARGS.BLACKLIST.REMOVE, "] username'."), a.user); break; case this.config.CMDS.WHITELIST: f = q(c, 2), c = f[0], f = f[1], c === this.config.ARGS.WHITELIST.ADD ? (this.deleteFromAllLists(f), this.whiteListed.add(f), g.sendSuccessMessage("Added user ".concat(f, " to WHITELIST. Recheck the username to make sure it's the right user."), a.user)) : c === this.config.ARGS.WHITELIST.REMOVE ? (this.whiteListed["delete"](f), g.sendSuccessMessage("Removed user ".concat(f, " from the WHITELIST (if user was present in list)."), a.user)) : g.sendErrorMessage("Command not recognized. Usage: '".concat(this.config.Prefix, "").concat(this.config.CMDS.WHITELIST, " [").concat(this.config.ARGS.WHITELIST.ADD, "/").concat(this.config.ARGS.WHITELIST.REMOVE, "] username'."), a.user) } } } } }, { key: "filterMessage", value: function (a) { var d = !(1 < arguments.length && void 0 !== arguments[1]) || arguments[1]; return this.whiteListed.has(a.user) && !this.blackListed.has(a.user) ? a : !0 === a["X-Spam"] ? a : (a["X-Spam"] = !0, a.c = "#FFFFFF", a.background = "#E7E7E7", d && (this.inCheck.has(a.user) ? g.sendErrorMessage("Your message was not sent! You haven't provided the correct answer for the math-challenge yet!", a.user) : this.blackListed.has(a.user) ? g.sendErrorMessage("Your message was not sent! You have been blacklisted in this room. You can't join the chat!", a.user) : this.onCooldown.has(a.user) ? g.sendWarningMessage("Your message was not sent! You are on cooldown. Please wait until your cooldown of ".concat(cb.settings.cooldown_time, " seconds is over and the next question pops up, then answer that question correctly to join the chat"), a.user) : g.sendErrorMessage("Your message was not sent! It seems you aren't in any of the lists yet (InCheck, Cooldown, Blacklist, Whitelist). Try to refresh your browser to automatically join an appropriate list.", a.user)), a) } }, { key: "whitelistOnTip", value: function (a) { cb.settings.whitelist_tip && !this.whiteListed.has(a.from_user) && this.whiteListed.add(a.from_user) } }, { key: "importFromJson", value: function (a) { a = JSON.parse(a); this.blackListed = new Set(a.blackListed); this.whiteListed = new Set(a.whiteListed) } }, { key: "exportToJson", value: function () { var a = { blackListed: Array.from(this.blackListed), whiteListed: Array.from(this.whiteListed) }; return JSON.stringify(a) } }, { key: "isInAnyList", value: function (a) { return this.inCheck.has(a) || this.onCooldown.has(a) || this.whiteListed.has(a) || this.blackListed.has(a) } }, { key: "deleteFromAllLists", value: function (a) { this.inCheck["delete"](a); this.onCooldown["delete"](a); this.whiteListed["delete"](a); this.blackListed["delete"](a) } }, { key: "getWhitelistedClaims", value: function () { var a = []; return cb.settings.captcha_lightblue || a.push("IS_LIGHTBLUE"), cb.settings.captcha_darkblue || a.push("IS_DARKBLUE"), cb.settings.captcha_lightpurple || a.push("IS_LIGHTPURPLE"), cb.settings.captcha_darkpurple || a.push("IS_DARKPURPLE"), cb.settings.captcha_fanclub || a.push("IN_FANCLUB"), cb.settings.captcha_mods || a.push("IS_MOD"), cb.settings.captcha_broadcaster || a.push("IS_BROADCASTER"), a } }, { key: "initCBSettings", value: function () { cb.settings_choices = [{ name: "captcha_grey", label: "CAPTCHA Greys ('No' deactivates CAPTCHA for all colors)", type: "choice", choice1: "Yes", choice2: "No", defaultValue: "Yes" }, { name: "captcha_lightblue", label: "CAPTCHA Light Blues", type: "choice", choice1: "Yes", choice2: "No", defaultValue: "Yes" }, { name: "captcha_darkblue", label: "CAPTCHA Dark Blues", type: "choice", choice1: "Yes", choice2: "No", defaultValue: "No" }, { name: "captcha_lightpurple", label: "CAPTCHA Light Purples", type: "choice", choice1: "Yes", choice2: "No", defaultValue: "No" }, { name: "captcha_darkpurple", label: "CAPTCHA Dark Purples", type: "choice", choice1: "Yes", choice2: "No", defaultValue: "No" }, { name: "captcha_fanclub", label: "CAPTCHA CB Fan Club members", type: "choice", choice1: "Yes", choice2: "No", defaultValue: "No" }, { name: "captcha_mods", label: "CAPTCHA Moderators", type: "choice", choice1: "Yes", choice2: "No", defaultValue: "No" }, { name: "captcha_broadcaster", label: "CAPTCHA Broadcaster (for self-testing)", type: "choice", choice1: "Yes", choice2: "No", defaultValue: "No" }, { name: "whitelist_tip", label: "Automatically add tippers to the Whitelist", type: "choice", choice1: "Yes", choice2: "No", defaultValue: "Yes" }, { name: "mod_allow_broadcaster_cmd", label: "Allow Mods and Developer to use commands?", type: "choice", choice1: "Yes", choice2: "No", defaultValue: "Yes" }, { name: "answering_time", label: "Seconds (10-200) user has to correctly answer before getting a new challenge", type: "int", minValue: 10, maxValue: 200, required: !0, defaultValue: 60 }, { name: "cooldown_time", label: "Seconds (10-200) user must wait after an incorrect-answer before getting a new challenge (answer-spamming protection)", type: "int", minValue: 10, maxValue: 200, required: !0, defaultValue: 30 }, { name: "import_list", label: "Enter Whitelisted & Blacklisted Users List: get the list by using the '".concat(this.config.Prefix, "").concat(this.config.CMDS.EXPORT, "' command, then copy & paste the list into this field to save it. Whitelisted-users never have do the CAPTCHA again and Blacklisted-users can't ever post in chat"), type: "str", required: !1, defaultValue: "" }]; cb.settings.captcha_grey = "Yes" === cb.settings.captcha_grey; cb.settings.captcha_lightblue = "Yes" === cb.settings.captcha_lightblue; cb.settings.captcha_darkblue = "Yes" === cb.settings.captcha_darkblue; cb.settings.captcha_lightpurple = "Yes" === cb.settings.captcha_lightpurple; cb.settings.captcha_darkpurple = "Yes" === cb.settings.captcha_darkpurple; cb.settings.captcha_fanclub = "Yes" === cb.settings.captcha_fanclub; cb.settings.captcha_mods = "Yes" === cb.settings.captcha_mods; cb.settings.captcha_broadcaster = "Yes" === cb.settings.captcha_broadcaster; cb.settings.whitelist_tip = "Yes" === cb.settings.whitelist_tip; cb.settings.allow_mod_superuser_cmd = "Yes" === cb.settings.mod_allow_broadcaster_cmd } }], x(a.prototype, c), a }())({ Name: "Alpha CAPTCHA", Version: "1.1.1", Dev: "the_big_bad_wolf", FairyHelper: [], Prefix: "/", CMDS: { RELOAD: "acreload", IMPORT: "acimport", EXPORT: "acexport", CLEAR: "acclear", DEBUG: "acdebug", WHITELIST: "acwhitelist", BLACKLIST: "acblacklist" }, ARGS: { WHITELIST: { ADD: "add", REMOVE: "remove" }, BLACKLIST: { ADD: "add", REMOVE: "remove" } } }); cb.settings.captcha_grey ? (cb.onEnter(function (a) { m.sendDevInfo(a); m.sendStatusInfo(a); m.checkAndAddToLists(a) }), cb.onMessage(function (a) { m.checkAnswer(a); var c = m.checkAndAddToLists(a); return m.filterMessage(a, !c), m.handleCommands(a), a })) : cb.onMessage(function (a) { return m.handleCommands(a), a }); cb.onTip(function (a) { m.whitelistOnTip(a) }) }]) /* Slightly modified from: Captcha Guard-Protecc!->thmo_ (added ~12 lines of code; re-ordered 1 setting; defaulted light-blues to be captcha'd in addition to greys; altered incorrect answer timeout option; edited notices. To-Do (maybe): add a spam-engine for post-captcha filtering. */
© Copyright Chaturbate 2011- 2026. All Rights Reserved.