- // ==UserScript==
- // @name 7Placer
- // @description typescript pixelplace.io bot
- // @version 1.6.2
- // @author Azti
- // @match https://pixelplace.io/*
- // @require https://update.gf.qytechs.cn/scripts/498080/1395134/Hacktimer.js
- // @require https://pixelplace.io/js/jquery.min.js?v2=1
- // @require https://pixelplace.io/js/jquery-ui.min.js?v2=1
- // @require https://cdnjs.cloudflare.com/ajax/libs/toastify-js/1.6.1/toastify.js
- // @grant none
- // @run-at document-start
- // @namespace https://gf.qytechs.cn/users/374503
- // ==/UserScript==
-
- /******/ (() => { // webpackBootstrap
- /******/ var __webpack_modules__ = ({
-
- /***/ "./src/auth/Auth.ts":
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "default": () => (/* binding */ Auth)
- /* harmony export */ });
- class Auth {
- constructor(authObj) {
- this.authKey = authObj.authKey;
- this.authId = authObj.authId;
- this.authToken = authObj.authToken;
- }
- }
-
-
- /***/ }),
-
- /***/ "./src/auth/util/commands.ts":
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ connect: () => (/* binding */ connect),
- /* harmony export */ deleteAccount: () => (/* binding */ deleteAccount),
- /* harmony export */ disconnect: () => (/* binding */ disconnect),
- /* harmony export */ getAccounts: () => (/* binding */ getAccounts),
- /* harmony export */ getAuth: () => (/* binding */ getAuth),
- /* harmony export */ saveAccount: () => (/* binding */ saveAccount),
- /* harmony export */ saveAuth: () => (/* binding */ saveAuth)
- /* harmony export */ });
- /* harmony import */ var _Auth__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("./src/auth/Auth.ts");
- /* harmony import */ var _bot_Bot__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./src/bot/Bot.ts");
- /* harmony import */ var _variables__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./src/variables.ts");
- /* harmony import */ var _requests_get_painting__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("./src/requests/get-painting.ts");
- /* harmony import */ var _bot_util_websocket__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("./src/bot/util/websocket.ts");
-
-
-
-
-
- const window2 = window;
- var LocalAccounts = new Map();
- // save changes in localstorage
- function storagePush() {
- const obj = Object.fromEntries(LocalAccounts);
- localStorage.setItem('LocalAccounts', JSON.stringify(obj));
- }
- // restore localstorage to localaccounts
- function storageGet() {
- const storedAccounts = localStorage.getItem('LocalAccounts');
- if (storedAccounts) {
- const parsedAccounts = JSON.parse(storedAccounts);
- LocalAccounts = new Map(Object.entries(parsedAccounts));
- }
- else
- LocalAccounts = new Map();
- }
- async function delay(ms) {
- return new Promise(resolve => setTimeout(resolve, ms));
- }
- // saves from params
- function saveAuth(username, authId, authKey, authToken, print = true) {
- if (!authId || !authKey || !authToken) {
- console.log('[7p] saveAuth usage: saveAuth(username, authId, authKey, authToken)');
- return;
- }
- const account = { authId, authKey, authToken };
- LocalAccounts.set(username, account);
- storagePush();
- if (print)
- console.log('Auth saved. Saved list: ', LocalAccounts);
- }
- // returns client's auth
- async function getAuth(print = true) {
- const cookieStore = window2.cookieStore;
- const authToken = await cookieStore.get("authToken");
- const authKey = await cookieStore.get("authKey");
- const authId = await cookieStore.get("authId");
- if (authToken == null || authKey == null || authId == null) {
- console.log('[7p] Please login first!');
- return;
- }
- if (print)
- console.log(`authId = "${authId.value}", authKey = "${authKey.value}", authToken = "${authToken.value}"`);
- return { authToken: authToken.value, authKey: authKey.value, authId: authId.value };
- }
- // saves auth from client cookies
- async function saveAccount() {
- storageGet();
- const AuthObj = await getAuth(false);
- const userinfo = await (0,_requests_get_painting__WEBPACK_IMPORTED_MODULE_2__["default"])(AuthObj.authId, AuthObj.authKey, AuthObj.authToken);
- saveAuth(userinfo.user.name, AuthObj.authId, AuthObj.authKey, AuthObj.authToken, false);
- console.log('Auth saved. Saved list: ', LocalAccounts);
- }
- // logs saved auths
- function getAccounts() {
- storageGet();
- if (!LocalAccounts || LocalAccounts.size == 0) {
- console.log('No accounts found');
- return;
- }
- console.log(`Found ${LocalAccounts.size} accounts`);
- console.log(LocalAccounts);
- }
- // deletes auths
- function deleteAccount(identifier) {
- if (identifier == null) {
- console.log('deleteAccount usage: deleteAccount(user or index)');
- return;
- }
- storageGet();
- if (typeof identifier == 'string') {
- if (identifier == 'all') {
- LocalAccounts.forEach((value, key) => {
- LocalAccounts.delete(key);
- });
- return;
- }
- if (!LocalAccounts.has(identifier)) {
- console.log(`[7p] Error deleting: No account with name ${identifier}`);
- return;
- }
- LocalAccounts.delete(identifier);
- console.log(`[7p] Deleted account ${identifier}.`);
- console.log(LocalAccounts);
- }
- if (typeof identifier == 'number') {
- const keys = Array.from(LocalAccounts.keys());
- if (identifier > keys.length) {
- console.log(`[7p] Error deleting: No account with index ${identifier}`);
- return;
- }
- LocalAccounts.delete(keys[identifier]);
- console.log(`Deleted account ${identifier}`);
- console.log(LocalAccounts);
- }
- storagePush();
- }
- async function connect(username) {
- storageGet();
- const account = LocalAccounts.get(username);
- const connectedbot = window2.seven.bots.find((bot) => bot.generalinfo?.user.name == username);
- if (!username) {
- console.log('[7p] Missing bot username, connect("username")');
- return;
- }
- if (username == 'all') {
- for (const [username, account] of LocalAccounts) {
- // checks if bot is already connected
- const connectedbot = window2.seven.bots.find((bot) => bot.generalinfo?.user.name == username);
- const auth = new _Auth__WEBPACK_IMPORTED_MODULE_4__["default"](account);
- if (connectedbot) {
- console.log(`[7p] Account ${username} is already connected.`);
- continue;
- }
- new _bot_Bot__WEBPACK_IMPORTED_MODULE_0__.WSBot(auth, username);
- await delay(500);
- }
- return;
- }
- if (!account) {
- console.log(`[7p] No account found with username ${username}`);
- return;
- }
- if (connectedbot) {
- console.log(`[7p] Account ${username} is already connected.`);
- return;
- }
- const auth = new _Auth__WEBPACK_IMPORTED_MODULE_4__["default"](account);
- new _bot_Bot__WEBPACK_IMPORTED_MODULE_0__.WSBot(auth, username);
- }
- function disconnect(username) {
- const bot = window2.seven.bots.find((bot) => bot.generalinfo?.user.name == username);
- if (!username) {
- console.log('[7p] disconnect requires a username, disconnect("username")');
- return;
- }
- if (username == 'all') {
- if (window2.seven.bots.length == 1) {
- console.log('[7p] No bots connected.');
- return;
- }
- for (const bot of window2.seven.bots) {
- (0,_bot_util_websocket__WEBPACK_IMPORTED_MODULE_3__.closeBot)(bot);
- }
- return;
- }
- if (!bot) {
- console.log(`[7p] No bot connected with username ${username}`);
- return;
- }
- (0,_bot_util_websocket__WEBPACK_IMPORTED_MODULE_3__.closeBot)(bot);
- }
-
-
- /***/ }),
-
- /***/ "./src/bot/Bot.ts":
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ Bot: () => (/* binding */ Bot),
- /* harmony export */ Client: () => (/* binding */ Client),
- /* harmony export */ WSBot: () => (/* binding */ WSBot)
- /* harmony export */ });
- /* harmony import */ var _util_websocket__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./src/bot/util/websocket.ts");
- /* harmony import */ var _canvas_Canvas__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./src/canvas/Canvas.ts");
- /* harmony import */ var _variables__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("./src/variables.ts");
- /* harmony import */ var _css_style__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("./src/css/style.ts");
- /* harmony import */ var _requests_get_painting__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("./src/requests/get-painting.ts");
-
-
-
-
-
-
- const seven = window.seven;
- class Bot {
- constructor() {
- this.trackeriters = 0;
- this.lastplace = Date.now();
- this.botid = Bot.botIndex;
- Bot.botIndex += 1; // id for next bot
- }
- emit(event, params) {
- this.ws.send(`42["${event}",${params}]`);
- }
- async placePixel(x, y, color, client = false, tracker = true) {
- const canvas = _canvas_Canvas__WEBPACK_IMPORTED_MODULE_1__["default"].instance;
- const canvascolor = canvas.getColor(x, y);
- if (canvascolor == color || canvascolor == 200) {
- return true;
- }
- while (Date.now() - this.lastplace < seven.pixelspeed) {
- await new Promise(resolve => setTimeout(resolve, 0));
- }
- this.emit('p', `[${x},${y},${color},1]`);
- this.lastplace = Date.now();
- if (tracker && this.trackeriters >= 6) {
- $(this.tracker).css({ top: y, left: x, display: 'block' });
- this.trackeriters = 0;
- }
- this.trackeriters += 1;
- return true;
- }
- static async findAvailableBot() {
- const bots = seven.bots;
- var tick = 0;
- while (true) {
- for (var i = 0; i < bots.length; i++) {
- const bot = bots[i];
- if (Date.now() - bot.lastplace >= seven.pixelspeed) {
- // console.log(`[7p] found available bot: ${bot.username}, ${ Date.now() - bot.lastplace }`)
- return bot;
- }
- }
- tick += 1;
- if (tick == seven.tickspeed) {
- tick = 0;
- await new Promise(resolve => setTimeout(resolve, 0));
- }
- }
- }
- createTracker() {
- const tracker = $('<div class="track" id="bottracker">').text(`[7P] ${this.username}`).css(_css_style__WEBPACK_IMPORTED_MODULE_3__.trackercss);
- $('#canvas').ready(function () {
- // console.log(`[7p] created tracker: ${name}`)
- $('#painting-move').append(tracker);
- });
- return tracker;
- }
- set ws(wss) {
- this._ws = wss;
- }
- get ws() {
- return this._ws;
- }
- }
- Bot.botIndex = 0;
- class WSBot extends Bot {
- constructor(auth, username) {
- super();
- this._auth = auth;
- this.username = username;
- this.startBot();
- }
- async startBot() {
- this.generalinfo = await (0,_requests_get_painting__WEBPACK_IMPORTED_MODULE_4__["default"])(this.auth.authId, this.auth.authKey, this.auth.authToken);
- this.tracker = this.createTracker();
- this.ws = await (0,_util_websocket__WEBPACK_IMPORTED_MODULE_0__.hookBot)(this);
- }
- get auth() {
- return this._auth;
- }
- }
- class Client extends Bot {
- constructor() {
- super();
- this.username = 'Client';
- Client.instance = this;
- this.tracker = this.createTracker();
- seven.bots.push(this);
- }
- static get Client() {
- return Client.instance;
- }
- }
-
-
- /***/ }),
-
- /***/ "./src/bot/util/onmessage.ts":
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ onBotMessage: () => (/* binding */ onBotMessage),
- /* harmony export */ onClientMessage: () => (/* binding */ onClientMessage)
- /* harmony export */ });
- /* harmony import */ var _Bot__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./src/bot/Bot.ts");
- /* harmony import */ var _canvas_Canvas__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./src/canvas/Canvas.ts");
- /* harmony import */ var _palive__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("./src/bot/util/palive.ts");
- /* harmony import */ var _websocket__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("./src/bot/util/websocket.ts");
- /* harmony import */ var _variables__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("./src/variables.ts");
- /* harmony import */ var _auth_util_commands__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("./src/auth/util/commands.ts");
- /* harmony import */ var _modules_defaultModules_SevenProtect__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("./src/modules/defaultModules/SevenProtect.ts");
-
-
-
-
-
-
-
- const seven = window.seven;
- // client
- function onClientMessage(event) {
- const msg = event.data;
- const bot = _Bot__WEBPACK_IMPORTED_MODULE_0__.Client.instance;
- if (msg.startsWith("42")) {
- const msg = JSON.parse(event.data.substr(2));
- const type = msg[0];
- switch (type) {
- case "p":
- for (const pixel of msg[1]) {
- const canvas = _canvas_Canvas__WEBPACK_IMPORTED_MODULE_1__["default"].instance;
- const x = pixel[0];
- const y = pixel[1];
- const color = pixel[2];
- const id = pixel[4];
- canvas.updatePixel(x, y, color);
- _modules_defaultModules_SevenProtect__WEBPACK_IMPORTED_MODULE_6__["default"].checkPixel(x, y, color);
- }
- break;
- case "canvas":
- for (const pixel of msg[1]) {
- const canvas = _canvas_Canvas__WEBPACK_IMPORTED_MODULE_1__["default"].instance;
- const x = pixel[0];
- const y = pixel[1];
- const color = pixel[2];
- canvas.updatePixel(x, y, color);
- }
- break;
- }
- }
- }
- // multibot
- async function onBotMessage(event, bot) {
- const message = event.data;
- // game packets
- if (message.startsWith("42")) {
- const message = JSON.parse(event.data.substr(2));
- const type = message[0];
- const botid = bot.generalinfo.user.id;
- const botname = bot.username;
- switch (type) {
- case "server_time":
- bot.paliveServerTime = message[1]; // stores servertime for palive
- break;
- case "ping.alive":
- const hash = (0,_palive__WEBPACK_IMPORTED_MODULE_2__["default"])(bot.paliveServerTime, botid);
- console.log('[7p]', botname, ': pong =', hash, botid);
- bot.emit('pong.alive', `"${hash}"`);
- break;
- case "throw.error":
- if (message[1] == 49) {
- console.log(`[7p] [Bot ${botname}] Error (${message[1]}): This auth is not valid! Deleting account from saved accounts...`);
- (0,_auth_util_commands__WEBPACK_IMPORTED_MODULE_5__.deleteAccount)(botname);
- (0,_websocket__WEBPACK_IMPORTED_MODULE_3__.closeBot)(bot);
- return;
- }
- else if (message[1] == 16) {
- (0,_websocket__WEBPACK_IMPORTED_MODULE_3__.closeBot)(bot);
- }
- console.log(`[7p] [Bot ${botname}] Pixelplace WS error: ${message[1]}`);
- break;
- case "canvas":
- console.log(`[7p] Succesfully connected to bot ${bot.username}`);
- seven.bots.push(bot);
- break;
- }
- }
- // start
- if (message.startsWith("0"))
- bot.ws.send('40');
- // auth
- if (message.startsWith("40"))
- bot.ws.send(`42["init",{"authKey":"${bot.auth.authKey}","authToken":"${bot.auth.authToken}","authId":"${bot.auth.authId}","boardId":${_canvas_Canvas__WEBPACK_IMPORTED_MODULE_1__["default"].instance.ID}}]`);
- // keep alive
- if (message.startsWith("2"))
- bot.ws.send('3');
- }
-
-
- /***/ }),
-
- /***/ "./src/bot/util/palive.ts":
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "default": () => (/* binding */ getPalive),
- /* harmony export */ getTDelay: () => (/* binding */ getTDelay)
- /* harmony export */ });
- // credits to symmetry
- function randomString(charList, num) {
- return Array.from({ length: num }, () => charList.charAt(Math.floor(Math.random() * charList.length))).join('');
- }
- function randomString1(num) {
- const charList = 'abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ';
- return randomString(charList, num);
- }
- function randomString2(num) {
- const charList = 'gmbonjklezcfxta1234567890GMBONJKLEZCFXTA';
- return randomString(charList, num);
- }
- function randInt(min, max) {
- return Math.floor(Math.random() * (max - min + 1)) + min;
- }
- const paliveCharmap = {
- "0": "g",
- "1": "n",
- "2": "b",
- "3": "r",
- "4": "z",
- "5": "s",
- "6": "l",
- "7": "x",
- "8": "i",
- "9": "o",
- };
- function getPalive(serverTime, userId) {
- const tDelay = getTDelay(serverTime);
- const sequenceLengths = [6, 5, 9, 4, 5, 3, 6, 6, 3];
- const currentTimestamp = Math.floor(Date.now() / 1000) + tDelay - 5400;
- const timestampString = currentTimestamp.toString();
- const timestampCharacters = timestampString.split('');
- let result = '';
- for (let i = 0; i < sequenceLengths.length; i++) {
- const sequenceNumber = sequenceLengths[i];
- result += randInt(0, 1) == 1 ? randomString2(sequenceNumber) : randomString1(sequenceNumber);
- const letter = paliveCharmap[parseInt(timestampCharacters[i])];
- result += randInt(0, 1) == 0 ? letter.toUpperCase() : letter;
- }
- result += userId.toString().substring(0, 1) + (randInt(0, 1) == 1 ? randomString2(randInt(4, 20)) : randomString1(randInt(4, 25)));
- return result + "0=";
- }
- function getTDelay(serverTime) {
- const currentTime = new Date().getTime() / 1e3;
- return Math.floor(serverTime - currentTime);
- }
-
-
- /***/ }),
-
- /***/ "./src/bot/util/websocket.ts":
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ closeBot: () => (/* binding */ closeBot),
- /* harmony export */ hookBot: () => (/* binding */ hookBot)
- /* harmony export */ });
- /* harmony import */ var _Bot__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./src/bot/Bot.ts");
- /* harmony import */ var _onmessage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./src/bot/util/onmessage.ts");
- /* harmony import */ var _variables__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("./src/variables.ts");
-
-
-
- const seven = window.seven;
- // client
- const customWS = window.WebSocket;
- window.WebSocket = function (url, protocols) {
- const client = new _Bot__WEBPACK_IMPORTED_MODULE_0__.Client();
- const socket = new customWS(url, protocols);
- socket.addEventListener("message", (event) => { (0,_onmessage__WEBPACK_IMPORTED_MODULE_1__.onClientMessage)(event); });
- client.ws = socket;
- return socket;
- };
- // multibot
- async function hookBot(bot) {
- console.log(`[7p] Attempting to connect account ${bot.username}`);
- const socket = new customWS("wss://pixelplace.io/socket.io/?EIO=4&transport=websocket");
- socket.addEventListener("message", (event) => { (0,_onmessage__WEBPACK_IMPORTED_MODULE_1__.onBotMessage)(event, bot); });
- socket.addEventListener("close", () => { _Bot__WEBPACK_IMPORTED_MODULE_0__.Bot.botIndex -= 1; });
- return socket;
- }
- function closeBot(bot) {
- if (bot instanceof _Bot__WEBPACK_IMPORTED_MODULE_0__.Client)
- return;
- if (!bot) {
- console.log('[7p] Cannot close bot that doesnt exist.');
- return;
- }
- bot.ws.close();
- const result = seven.bots.filter((checkedBot) => checkedBot.botid != bot.botid);
- seven.bots = result;
- console.log('[7placer] Ended bot ', bot.botid);
- }
-
-
- /***/ }),
-
- /***/ "./src/canvas/Canvas.ts":
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ Canvas: () => (/* binding */ Canvas),
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var _css_style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./src/css/style.ts");
- /* harmony import */ var _util_canvasloader__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./src/canvas/util/canvasloader.ts");
-
-
- class Canvas {
- constructor() {
- this._ID = this.ParseID();
- this._isProcessed = false;
- this._customCanvas = this.newPreviewCanvas();
- }
- static get instance() {
- if (!Canvas._instance) {
- Canvas._instance = new Canvas;
- (0,_util_canvasloader__WEBPACK_IMPORTED_MODULE_1__.processColors)();
- }
- return Canvas._instance;
- }
- newPreviewCanvas() {
- const canvas = $(`<canvas width="2500" height="2088">`).css(_css_style__WEBPACK_IMPORTED_MODULE_0__.canvascss);
- $('#canvas').ready(function () {
- $('#painting-move').append(canvas);
- });
- const ctx = canvas[0].getContext("2d");
- return ctx;
- }
- ParseID() {
- return parseInt(window.location.href.split("/").slice(-1)[0].split("-")[0]);
- }
- get previewCanvas() {
- return this._customCanvas;
- }
- get canvasArray() {
- return this._canvasArray;
- }
- get isProcessed() {
- return this._isProcessed;
- }
- set isProcessed(bool) {
- this._isProcessed = bool;
- }
- get ID() {
- return this._ID;
- }
- set canvasArray(array) {
- this._canvasArray = array;
- this.isProcessed = true;
- }
- getColor(x, y) {
- try {
- return this.canvasArray[x][y];
- }
- catch {
- return 200;
- }
- ;
- }
- updatePixel(x, y, color) {
- if (!this._isProcessed)
- return;
- this.canvasArray[x][y] = color;
- // console.log(this.getColor(x, y), "->", color)
- }
- }
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Canvas);
-
-
- /***/ }),
-
- /***/ "./src/canvas/util/canvasloader.ts":
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ processColors: () => (/* binding */ processColors),
- /* harmony export */ processWater: () => (/* binding */ processWater)
- /* harmony export */ });
- /* harmony import */ var _Canvas__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./src/canvas/Canvas.ts");
- /* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./src/canvas/util/colors.ts");
-
-
- async function processWater() {
- var image = await fetch('https://pixelplace.io/canvas/' + _Canvas__WEBPACK_IMPORTED_MODULE_0__["default"].instance.ID + 'p.png?t200000=' + Date.now());
- if (!image.ok) {
- const canvas = document.getElementById('canvas');
- var waterArray = Array.from({ length: canvas.width }, () => Array.from({ length: canvas.height }, () => 1));
- return waterArray;
- }
- const blob = await image.blob();
- const bitmap = await createImageBitmap(blob);
- const canvas = new OffscreenCanvas(bitmap.width, bitmap.height);
- var waterArray = Array.from({ length: canvas.width }, () => Array.from({ length: canvas.height }, () => 1));
- const context = canvas.getContext('2d');
- context.drawImage(bitmap, 0, 0, bitmap.width, bitmap.height);
- const imageData = context.getImageData(0, 0, canvas.width, canvas.height);
- return new Promise((resolve) => {
- if (bitmap.width == 1 && bitmap.height == 1) { // custom canvases ?
- resolve(waterArray);
- }
- for (let y = 0; y < canvas.height; y++) {
- for (let x = 0; x < canvas.width; x++) {
- const index = (y * imageData.width + x) * 4;
- var r = imageData.data[index];
- var g = imageData.data[index + 1];
- var b = imageData.data[index + 2];
- if (r == 204 && g == 204 && b == 204) {
- waterArray[x][y] = 200;
- }
- }
- }
- console.log(waterArray);
- resolve(waterArray);
- });
- }
- async function processColors() {
- const startTotalTime = performance.now();
- const waterArray = await processWater();
- const startColorsTime = performance.now();
- const canvas = document.getElementById('canvas');
- const ctx = canvas.getContext('2d');
- const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
- const pixelData = imageData.data;
- var CanvasArray = Array.from({ length: canvas.width }, () => Array.from({ length: canvas.height }, () => 1));
- if (waterArray.length > 1) {
- CanvasArray = waterArray;
- }
- for (let y = 0; y < canvas.height; y++) {
- for (let x = 0; x < canvas.width; x++) {
- if (CanvasArray[x][y] == 200) {
- continue;
- }
- const pixelIndex = (y * canvas.width + x) * 4;
- const r = pixelData[pixelIndex];
- const g = pixelData[pixelIndex + 1];
- const b = pixelData[pixelIndex + 2];
- const colornum = (r << 16) | (g << 8) | b;
- const colorIndex = _colors__WEBPACK_IMPORTED_MODULE_1__.colors.indexOf(colornum);
- CanvasArray[x][y] = colorIndex;
- }
- }
- console.log(CanvasArray);
- _Canvas__WEBPACK_IMPORTED_MODULE_0__["default"].instance.canvasArray = CanvasArray;
- const finalTotalTime = performance.now() - startTotalTime;
- const finalColorsTime = performance.now() - startColorsTime;
- const finalWaterTime = startColorsTime - startTotalTime;
- console.log(`[7p PROCESSING] Total Time: ${finalTotalTime}ms, Colors Time: ${finalColorsTime}ms, Water Time: ${finalWaterTime}ms`);
- }
-
-
- /***/ }),
-
- /***/ "./src/canvas/util/colors.ts":
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ colors: () => (/* binding */ colors)
- /* harmony export */ });
- const colors = [
- 0xFFFFFF,
- 0xC4C4C4,
- 0x888888,
- 0x555555,
- 0x222222,
- 0x000000,
- 0x006600,
- 0x22B14C,
- 0x02BE01,
- 0x51E119,
- 0x94E044,
- 0xFBFF5B,
- 0xE5D900,
- 0xE6BE0C,
- 0xE59500,
- 0xA06A42,
- 0x99530D,
- 0x633C1F,
- 0x6B0000,
- 0x9F0000,
- 0xE50000,
- 0xFF3904,
- 0xBB4F00,
- 0xFF755F,
- 0xFFC49F,
- 0xFFDFCC,
- 0xFFA7D1,
- 0xCF6EE4,
- 0xEC08EC,
- 0x820080,
- 0x5100FF,
- 0x020763,
- 0x0000EA,
- 0x044BFF,
- 0x6583CF,
- 0x36BAFF,
- 0x0083C7,
- 0x00D3DD,
- 0x45FFC8,
- 0x003638,
- 0x477050,
- 0x98FB98,
- 0xFF7000,
- 0xCE2939,
- 0xFF416A,
- 0x7D26CD,
- 0x330077,
- 0x005BA1,
- 0xB5E8EE,
- 0x1B7400,
- 0x75CEA9,
- 0x34EB6B,
- 0xFFCC00,
- 0xBB276C,
- 0xFF7EBB,
- 0x440414,
- 0x591C91,
- 0xC1A162,
- 0xCAFF70,
- 0x013182,
- 0xA6A6A6,
- 0x6F6F6F,
- 0x3A3A3A,
- 0x4D082C
- ];
-
-
- /***/ }),
-
- /***/ "./src/css/drop.ts":
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ createDropArea: () => (/* binding */ createDropArea)
- /* harmony export */ });
- /* harmony import */ var _style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./src/css/style.ts");
- /* harmony import */ var _modules_defaultModules_SevenImageTools__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./src/modules/defaultModules/SevenImageTools.ts");
- /* harmony import */ var _modules_util_getClientMouse__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("./src/modules/util/getClientMouse.ts");
-
-
-
- function createDropArea() {
- const dropobject = $('<div>').text('Drop Image').css(_style__WEBPACK_IMPORTED_MODULE_0__.drop);
- const [x, y] = (0,_modules_util_getClientMouse__WEBPACK_IMPORTED_MODULE_2__["default"])();
- $('body').append(dropobject);
- dropobject.on("click", function () {
- dropobject.remove();
- });
- dropobject.on("drop", async function (event) {
- event.preventDefault();
- event.stopPropagation();
- const image = event.originalEvent.dataTransfer.files[0];
- dropobject.remove();
- await (0,_modules_defaultModules_SevenImageTools__WEBPACK_IMPORTED_MODULE_1__.botImage)(x, y, image);
- // console.log(image)
- }).on('dragover', false);
- }
-
-
- /***/ }),
-
- /***/ "./src/css/style.ts":
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ canvascss: () => (/* binding */ canvascss),
- /* harmony export */ drop: () => (/* binding */ drop),
- /* harmony export */ trackercss: () => (/* binding */ trackercss)
- /* harmony export */ });
- const trackercss = {
- top: '0px',
- left: '0px',
- borderColor: 'rgb(138,43,226)',
- color: 'rgb(138,43,226)',
- backgroundColor: 'black',
- opacity: '60%',
- display: 'none',
- transition: 'all 0.06s ease-in-out',
- pointerEvents: 'none'
- };
- // design by 0vc4
- const drop = {
- width: 'calc(100% - 2em)',
- height: 'calc(100% - 2em)',
- position: 'fixed',
- left: '0px',
- top: '0px',
- backgroundColor: 'rgba(0, 0, 0, 0.533)',
- zIndex: '9999-',
- display: 'flex',
- color: 'white',
- fontSize: '48pt',
- justifyContent: 'center',
- alignItems: 'center',
- border: '3px white dashed',
- borderRadius: '18px',
- margin: '1em',
- };
- const canvascss = {
- position: 'absolute',
- pointerEvents: 'none',
- left: '0px',
- top: '0px',
- imageRendering: 'pixelated',
- opacity: '50%',
- animation: 'blink 3s ease-out infinite'
- };
- const blink = document.createElement("style");
- blink.type = "text/css";
- blink.innerText = `
- @keyframes blink {
- 0% { opacity: .30; }
- 50% { opacity: .10; }
- 100% { opacity: .30; }
- }`;
- document.head.appendChild(blink);
-
-
- /***/ }),
-
- /***/ "./src/index.ts":
- /***/ ((__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) => {
-
- "use strict";
-
- ;// ./package.json
- const package_namespaceObject = {"rE":"1.6.2"};
- // EXTERNAL MODULE: ./src/canvas/Canvas.ts
- var Canvas = __webpack_require__("./src/canvas/Canvas.ts");
- // EXTERNAL MODULE: ./src/util/ExternalLoader.ts
- var ExternalLoader = __webpack_require__("./src/util/ExternalLoader.ts");
- ;// ./src/index.ts
-
-
-
- // @ts-ignore (GLOBAL IMPORT)
- const context = __webpack_require__("./src sync recursive ^(?%21.*global\\.d).+");
- context.keys().forEach(context);
- Object.defineProperty(window.console, 'log', {
- configurable: false,
- enumerable: true,
- writable: false,
- value: console.log
- });
- console.log('7Placer Loaded! Version:', package_namespaceObject.rE);
- (0,ExternalLoader.loadCss)('https://cdn.jsdelivr.net/npm/toastify-js/src/toastify.min.css');
- window.onload = () => {
- Toastify({
- text: '7Placer Loaded!',
- }).showToast();
- Canvas["default"].instance;
- };
-
-
- /***/ }),
-
- /***/ "./src/modules/defaultModules/SevenImageTools.ts":
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ ImageToPixels: () => (/* binding */ ImageToPixels),
- /* harmony export */ botImage: () => (/* binding */ botImage)
- /* harmony export */ });
- /* harmony import */ var _canvas_Canvas__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./src/canvas/Canvas.ts");
- /* harmony import */ var _variables__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./src/variables.ts");
- /* harmony import */ var _SevenQueue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("./src/modules/defaultModules/SevenQueue.ts");
- /* harmony import */ var _canvas_util_colors__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("./src/canvas/util/colors.ts");
- /* harmony import */ var _SevenSorting__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("./src/modules/defaultModules/SevenSorting.ts");
-
-
-
-
-
- function getColorDistance(c1, c2) {
- // Image Color
- const r1 = (c1 >> 16) & 0xFF;
- const g1 = (c1 >> 8) & 0xFF;
- const b1 = c1 & 0xFF;
- // Pixelplace Color
- const r2 = (c2 >> 16) & 0xFF;
- const g2 = (c2 >> 8) & 0xFF;
- const b2 = c2 & 0xFF;
- return (r1 - r2) ** 2 + (g1 - g2) ** 2 + (b1 - b2) ** 2;
- }
- function findClosestColor(color) {
- let minDistance = Infinity;
- let colorNumber;
- let index = 0;
- for (const pxpColor of _canvas_util_colors__WEBPACK_IMPORTED_MODULE_4__.colors) {
- const distance = getColorDistance(color, pxpColor);
- if (distance < minDistance) {
- minDistance = distance;
- colorNumber = index;
- }
- index += 1;
- }
- return colorNumber;
- }
- function previewCanvasImage(x, y, image) {
- const canvas = _canvas_Canvas__WEBPACK_IMPORTED_MODULE_0__["default"].instance;
- const ctx = canvas.previewCanvas;
- const img = new Image();
- img.onload = function () {
- ctx.drawImage(img, x, y);
- };
- img.src = URL.createObjectURL(image);
- }
- async function ImageToPixels(image) {
- const result = [];
- const canvas = new OffscreenCanvas(image.width, image.height);
- const ctx = canvas.getContext('2d');
- ctx.drawImage(image, 0, 0, image.width, image.height);
- const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
- const pixelData = imageData.data;
- for (let y = 0; y < canvas.height; y++) {
- for (let x = 0; x < canvas.width; x++) {
- const pixelIndex = (y * canvas.width + x) * 4;
- const r = pixelData[pixelIndex];
- const g = pixelData[pixelIndex + 1];
- const b = pixelData[pixelIndex + 2];
- const a = pixelData[pixelIndex + 3];
- const colornum = (r << 16) | (g << 8) | b;
- if (a < 1) {
- continue; // ignore transparent pixels
- }
- const color = findClosestColor(colornum);
- result.push({ x, y, color });
- }
- }
- return result;
- }
- async function botImage(x, y, image) {
- const bitmap = await createImageBitmap(image);
- const processed = await ImageToPixels(bitmap);
- previewCanvasImage(x, y, image);
- (0,_SevenSorting__WEBPACK_IMPORTED_MODULE_3__["default"])(processed, window.seven.order);
- processed.forEach((pixel) => _SevenQueue__WEBPACK_IMPORTED_MODULE_2__["default"].add(pixel.x + x, pixel.y + y, pixel.color, true));
- }
-
-
- /***/ }),
-
- /***/ "./src/modules/defaultModules/SevenProtect.ts":
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var _canvas_Canvas__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./src/canvas/Canvas.ts");
- /* harmony import */ var _SevenQueue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./src/modules/defaultModules/SevenQueue.ts");
-
-
- class Protector {
- protect(x, y, color) {
- Protector.protected.push({ x: x, y: y, color: color });
- }
- static clear() {
- Protector.protected = [];
- }
- static checkPixel(x, y, color) {
- const canvas = _canvas_Canvas__WEBPACK_IMPORTED_MODULE_0__["default"].instance;
- if (Protector.protected.length == 0) {
- return;
- }
- function isInsideProtected(pixel) {
- if (pixel.x == x && pixel.y == y) {
- return true;
- }
- return false;
- }
- function isSameColor(pixel) {
- const canvasColor = canvas.getColor(x, y);
- if (canvasColor == pixel.color) {
- return true;
- }
- return false;
- }
- Protector.protected.forEach((pixel) => {
- if (isInsideProtected(pixel) && !isSameColor(pixel)) {
- _SevenQueue__WEBPACK_IMPORTED_MODULE_1__["default"].add(x, y, pixel.color, false);
- }
- });
- }
- }
- Protector.protected = [];
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Protector);
-
-
- /***/ }),
-
- /***/ "./src/modules/defaultModules/SevenQueue.ts":
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "default": () => (/* binding */ Queue)
- /* harmony export */ });
- /* harmony import */ var _bot_Bot__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./src/bot/Bot.ts");
- /* harmony import */ var _canvas_Canvas__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./src/canvas/Canvas.ts");
- /* harmony import */ var _variables__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("./src/variables.ts");
- /* harmony import */ var _SevenProtect__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("./src/modules/defaultModules/SevenProtect.ts");
-
-
-
-
- const seven = window.seven;
- class Queue {
- constructor() {
- Queue.performance = performance.now();
- }
- static add(x, y, color, protection, atStart = false, client = false) {
- const pixel = { x: x, y: y, color: color, protected: protection, client: client };
- if (atStart) {
- seven.queue.unshift(pixel);
- }
- else {
- seven.queue.push(pixel);
- }
- if (seven.queue.length == 1) {
- Queue.start();
- }
- }
- static clear() {
- // console.log('Queue cleared: ', seven.queue)
- seven.queue = [];
- }
- static async start() {
- const canvas = _canvas_Canvas__WEBPACK_IMPORTED_MODULE_1__["default"].instance;
- const protector = new _SevenProtect__WEBPACK_IMPORTED_MODULE_3__["default"];
- if (!canvas.isProcessed) {
- console.log('[7p] Error starting queue: Canvas has not been processed yet.');
- Queue.stop();
- return;
- }
- seven.inprogress = true;
- while (seven.inprogress) {
- // console.log(performance.now() - Queue.performance)
- Queue.performance = performance.now();
- const pixel = seven.queue[0];
- if (pixel.client) {
- var bot = _bot_Bot__WEBPACK_IMPORTED_MODULE_0__.Client.instance;
- }
- else {
- var bot = await _bot_Bot__WEBPACK_IMPORTED_MODULE_0__.Bot.findAvailableBot();
- }
- await bot.placePixel(pixel.x, pixel.y, pixel.color);
- var indexOfRemoval = seven.queue.indexOf(pixel);
- seven.queue.splice(indexOfRemoval, 1);
- if (pixel.protected && seven.protect) {
- protector.protect(pixel.x, pixel.y, pixel.color);
- }
- if (seven.queue.length == 0) {
- seven.inprogress = false;
- console.log('[7p] Queue done.');
- }
- }
- }
- static stop() {
- seven.inprogress = false;
- const canvas = _canvas_Canvas__WEBPACK_IMPORTED_MODULE_1__["default"].instance;
- canvas.previewCanvas.clearRect(0, 0, 3000, 3000);
- _SevenProtect__WEBPACK_IMPORTED_MODULE_3__["default"].clear();
- Queue.clear();
- }
- }
-
-
- /***/ }),
-
- /***/ "./src/modules/defaultModules/SevenSorting.ts":
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "default": () => (/* binding */ sort)
- /* harmony export */ });
- const seven = window.seven;
- function sort(array, order) {
- switch (seven.order) {
- case 'rand':
- array.sort(() => Math.random() - 0.5);
- return array;
- case 'colors':
- array.sort((a, b) => a.color - b.color);
- return array;
- case 'vertical':
- array.sort((a, b) => a.x - b.x);
- return array;
- case 'horizontal':
- array.sort((a, b) => a.y - b.y);
- return array;
- default:
- case 'circle':
- const CX = Math.floor((array[0].x + array[array.length - 1].x) / 2);
- const CY = Math.floor((array[0].y + array[array.length - 1].y) / 2);
- array.sort((a, b) => {
- const distanceA = Math.sqrt((a.x - CX) ** 2 + (a.y - CY) ** 2);
- const distanceB = Math.sqrt((b.x - CX) ** 2 + (b.y - CY) ** 2);
- return distanceA - distanceB;
- });
- return array;
- }
- }
-
-
- /***/ }),
-
- /***/ "./src/modules/defaultModules/SevenSquareMaker.ts":
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ BotSquare: () => (/* binding */ BotSquare)
- /* harmony export */ });
- /* harmony import */ var _SevenQueue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./src/modules/defaultModules/SevenQueue.ts");
- /* harmony import */ var _SevenSorting__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./src/modules/defaultModules/SevenSorting.ts");
-
-
- function BotSquare(x1, y1, x2, y2, color) {
- var result = [];
- if (x2 < x1)
- [x1, x2] = [x2, x1];
- if (y2 < y1)
- [y1, y2] = [y2, y1];
- for (let x = x1; x <= x2; x++) {
- for (let y = y1; y <= y2; y++) {
- result.push({ x, y, color });
- }
- }
- result = (0,_SevenSorting__WEBPACK_IMPORTED_MODULE_1__["default"])(result, window.seven.order);
- result.forEach((pixel) => {
- _SevenQueue__WEBPACK_IMPORTED_MODULE_0__["default"].add(pixel.x, pixel.y, pixel.color, true);
- });
- }
-
-
- /***/ }),
-
- /***/ "./src/modules/defaultModules/defaultKeys.ts":
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */ var _css_drop__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./src/css/drop.ts");
- /* harmony import */ var _util_getClientMouse__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("./src/modules/util/getClientMouse.ts");
- /* harmony import */ var _SevenQueue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./src/modules/defaultModules/SevenQueue.ts");
- /* harmony import */ var _SevenSquareMaker__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("./src/modules/defaultModules/SevenSquareMaker.ts");
-
-
-
-
- var coord1 = null;
- $(document).on('keyup', function (event) {
- if ($(':input[type="text"]').is(':focus'))
- return; //; prevent with chat open
- switch (event.which) {
- case (87):
- if (!event.altKey)
- return;
- _SevenQueue__WEBPACK_IMPORTED_MODULE_1__["default"].stop();
- break;
- case (66):
- if (!event.altKey)
- return;
- (0,_css_drop__WEBPACK_IMPORTED_MODULE_0__.createDropArea)();
- break;
- case 88:
- const [x, y, color] = (0,_util_getClientMouse__WEBPACK_IMPORTED_MODULE_3__["default"])();
- if (coord1 == null) {
- coord1 = { x: x, y: y };
- return;
- }
- (0,_SevenSquareMaker__WEBPACK_IMPORTED_MODULE_2__.BotSquare)(coord1.x, coord1.y, x, y, color);
- coord1 = null;
- break;
- // add more
- }
- });
-
-
- /***/ }),
-
- /***/ "./src/modules/defaultModules/index.ts":
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ BotSquare: () => (/* reexport safe */ _SevenSquareMaker__WEBPACK_IMPORTED_MODULE_2__.BotSquare),
- /* harmony export */ ImageToPixels: () => (/* reexport safe */ _SevenImageTools__WEBPACK_IMPORTED_MODULE_0__.ImageToPixels),
- /* harmony export */ botImage: () => (/* reexport safe */ _SevenImageTools__WEBPACK_IMPORTED_MODULE_0__.botImage)
- /* harmony export */ });
- /* harmony import */ var _SevenImageTools__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./src/modules/defaultModules/SevenImageTools.ts");
- /* harmony import */ var _SevenQueue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./src/modules/defaultModules/SevenQueue.ts");
- /* harmony import */ var _SevenSquareMaker__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("./src/modules/defaultModules/SevenSquareMaker.ts");
- /* harmony import */ var _defaultKeys__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("./src/modules/defaultModules/defaultKeys.ts");
-
-
-
-
-
-
- /***/ }),
-
- /***/ "./src/modules/index.ts":
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ BotSquare: () => (/* reexport safe */ _defaultModules__WEBPACK_IMPORTED_MODULE_0__.BotSquare),
- /* harmony export */ ImageToPixels: () => (/* reexport safe */ _defaultModules__WEBPACK_IMPORTED_MODULE_0__.ImageToPixels),
- /* harmony export */ botImage: () => (/* reexport safe */ _defaultModules__WEBPACK_IMPORTED_MODULE_0__.botImage)
- /* harmony export */ });
- /* harmony import */ var _defaultModules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./src/modules/defaultModules/index.ts");
-
- // custom exports
-
-
- /***/ }),
-
- /***/ "./src/modules/util/getClientMouse.ts":
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "default": () => (/* binding */ getClientMouse)
- /* harmony export */ });
- function getClientMouse() {
- const coordinates = $('#coordinates').text();
- const [x, y] = coordinates.split(',').map(coord => parseInt(coord.trim()));
- const selectedcolor = $('#palette-buttons a.selected').data('id');
- return [x, y, selectedcolor];
- }
-
-
- /***/ }),
-
- /***/ "./src/requests/get-painting.ts":
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "default": () => (/* binding */ getPainting)
- /* harmony export */ });
- /* harmony import */ var _getCookie__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./src/requests/getCookie.ts");
- /* harmony import */ var _canvas_Canvas__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./src/canvas/Canvas.ts");
-
-
- async function getPainting(authId, authKey, authToken) {
- const canvas = _canvas_Canvas__WEBPACK_IMPORTED_MODULE_0__["default"].instance;
- const originalAuthId = (0,_getCookie__WEBPACK_IMPORTED_MODULE_1__["default"])('authId');
- const originalAuthKey = (0,_getCookie__WEBPACK_IMPORTED_MODULE_1__["default"])('authKey');
- const originalAuthToken = (0,_getCookie__WEBPACK_IMPORTED_MODULE_1__["default"])('authToken');
- document.cookie = `authId=${authId}; path=/`;
- document.cookie = `authKey=${authKey}; path=/`;
- document.cookie = `authToken=${authToken}; path=/`;
- try {
- const response = await fetch(`https://pixelplace.io/api/get-painting.php?id=${canvas.ID}&connected=1`, {
- headers: {
- 'Accept': 'application/json, text/javascript, */*; q=0.01',
- },
- credentials: 'include'
- });
- const json = response.json();
- return json;
- }
- finally {
- document.cookie = `authId=${originalAuthId}; path=/`;
- document.cookie = `authKey=${originalAuthKey}; path=/`;
- document.cookie = `authToken=${originalAuthToken}; path=/`;
- }
- }
-
-
- /***/ }),
-
- /***/ "./src/requests/getCookie.ts":
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "default": () => (/* binding */ getCookie)
- /* harmony export */ });
- function getCookie(name) {
- const value = `; ${document.cookie}`;
- const parts = value.split(`; ${name}=`);
- if (parts.length === 2)
- return parts.pop().split(';').shift();
- }
-
-
- /***/ }),
-
- /***/ "./src/requests/ping.ts":
- /***/ (() => {
-
- // to do
-
-
- /***/ }),
-
- /***/ "./src/util/ExternalLoader.ts":
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ loadCss: () => (/* binding */ loadCss)
- /* harmony export */ });
- function loadCss(url) {
- var head = document.getElementsByTagName('head')[0];
- var link = document.createElement('link');
- link.rel = 'stylesheet';
- link.type = 'text/css';
- link.href = url;
- link.media = 'all';
- head.appendChild(link);
- }
-
-
- /***/ }),
-
- /***/ "./src/variables.ts":
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */ var _auth_util_commands__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./src/auth/util/commands.ts");
-
- window.seven = {
- bots: [],
- pixelspeed: 21,
- queue: [],
- inprogress: false,
- protect: false,
- tickspeed: 1000,
- order: 'fromCenter',
- saveAuth: _auth_util_commands__WEBPACK_IMPORTED_MODULE_0__.saveAuth,
- getAuth: _auth_util_commands__WEBPACK_IMPORTED_MODULE_0__.getAuth,
- saveAccount: _auth_util_commands__WEBPACK_IMPORTED_MODULE_0__.saveAccount,
- getAccounts: _auth_util_commands__WEBPACK_IMPORTED_MODULE_0__.getAccounts,
- deleteAccount: _auth_util_commands__WEBPACK_IMPORTED_MODULE_0__.deleteAccount,
- connect: _auth_util_commands__WEBPACK_IMPORTED_MODULE_0__.connect,
- disconnect: _auth_util_commands__WEBPACK_IMPORTED_MODULE_0__.disconnect,
- };
-
-
- /***/ }),
-
- /***/ "./src sync recursive ^(?%21.*global\\.d).+":
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
-
- var map = {
- ".": "./src/index.ts",
- "./": "./src/index.ts",
- "./auth/Auth": "./src/auth/Auth.ts",
- "./auth/Auth.ts": "./src/auth/Auth.ts",
- "./auth/util/commands": "./src/auth/util/commands.ts",
- "./auth/util/commands.ts": "./src/auth/util/commands.ts",
- "./bot/Bot": "./src/bot/Bot.ts",
- "./bot/Bot.ts": "./src/bot/Bot.ts",
- "./bot/util/onmessage": "./src/bot/util/onmessage.ts",
- "./bot/util/onmessage.ts": "./src/bot/util/onmessage.ts",
- "./bot/util/palive": "./src/bot/util/palive.ts",
- "./bot/util/palive.ts": "./src/bot/util/palive.ts",
- "./bot/util/websocket": "./src/bot/util/websocket.ts",
- "./bot/util/websocket.ts": "./src/bot/util/websocket.ts",
- "./canvas/Canvas": "./src/canvas/Canvas.ts",
- "./canvas/Canvas.ts": "./src/canvas/Canvas.ts",
- "./canvas/util/canvasloader": "./src/canvas/util/canvasloader.ts",
- "./canvas/util/canvasloader.ts": "./src/canvas/util/canvasloader.ts",
- "./canvas/util/colors": "./src/canvas/util/colors.ts",
- "./canvas/util/colors.ts": "./src/canvas/util/colors.ts",
- "./css/drop": "./src/css/drop.ts",
- "./css/drop.ts": "./src/css/drop.ts",
- "./css/style": "./src/css/style.ts",
- "./css/style.ts": "./src/css/style.ts",
- "./index": "./src/index.ts",
- "./index.ts": "./src/index.ts",
- "./modules": "./src/modules/index.ts",
- "./modules/": "./src/modules/index.ts",
- "./modules/defaultModules": "./src/modules/defaultModules/index.ts",
- "./modules/defaultModules/": "./src/modules/defaultModules/index.ts",
- "./modules/defaultModules/SevenImageTools": "./src/modules/defaultModules/SevenImageTools.ts",
- "./modules/defaultModules/SevenImageTools.ts": "./src/modules/defaultModules/SevenImageTools.ts",
- "./modules/defaultModules/SevenProtect": "./src/modules/defaultModules/SevenProtect.ts",
- "./modules/defaultModules/SevenProtect.ts": "./src/modules/defaultModules/SevenProtect.ts",
- "./modules/defaultModules/SevenQueue": "./src/modules/defaultModules/SevenQueue.ts",
- "./modules/defaultModules/SevenQueue.ts": "./src/modules/defaultModules/SevenQueue.ts",
- "./modules/defaultModules/SevenSorting": "./src/modules/defaultModules/SevenSorting.ts",
- "./modules/defaultModules/SevenSorting.ts": "./src/modules/defaultModules/SevenSorting.ts",
- "./modules/defaultModules/SevenSquareMaker": "./src/modules/defaultModules/SevenSquareMaker.ts",
- "./modules/defaultModules/SevenSquareMaker.ts": "./src/modules/defaultModules/SevenSquareMaker.ts",
- "./modules/defaultModules/defaultKeys": "./src/modules/defaultModules/defaultKeys.ts",
- "./modules/defaultModules/defaultKeys.ts": "./src/modules/defaultModules/defaultKeys.ts",
- "./modules/defaultModules/index": "./src/modules/defaultModules/index.ts",
- "./modules/defaultModules/index.ts": "./src/modules/defaultModules/index.ts",
- "./modules/index": "./src/modules/index.ts",
- "./modules/index.ts": "./src/modules/index.ts",
- "./modules/util/getClientMouse": "./src/modules/util/getClientMouse.ts",
- "./modules/util/getClientMouse.ts": "./src/modules/util/getClientMouse.ts",
- "./requests/get-painting": "./src/requests/get-painting.ts",
- "./requests/get-painting.ts": "./src/requests/get-painting.ts",
- "./requests/getCookie": "./src/requests/getCookie.ts",
- "./requests/getCookie.ts": "./src/requests/getCookie.ts",
- "./requests/ping": "./src/requests/ping.ts",
- "./requests/ping.ts": "./src/requests/ping.ts",
- "./util/ExternalLoader": "./src/util/ExternalLoader.ts",
- "./util/ExternalLoader.ts": "./src/util/ExternalLoader.ts",
- "./variables": "./src/variables.ts",
- "./variables.ts": "./src/variables.ts"
- };
-
-
- function webpackContext(req) {
- var id = webpackContextResolve(req);
- return __webpack_require__(id);
- }
- function webpackContextResolve(req) {
- if(!__webpack_require__.o(map, req)) {
- var e = new Error("Cannot find module '" + req + "'");
- e.code = 'MODULE_NOT_FOUND';
- throw e;
- }
- return map[req];
- }
- webpackContext.keys = function webpackContextKeys() {
- return Object.keys(map);
- };
- webpackContext.resolve = webpackContextResolve;
- module.exports = webpackContext;
- webpackContext.id = "./src sync recursive ^(?%21.*global\\.d).+";
-
- /***/ })
-
- /******/ });
- /************************************************************************/
- /******/ // The module cache
- /******/ var __webpack_module_cache__ = {};
- /******/
- /******/ // The require function
- /******/ function __webpack_require__(moduleId) {
- /******/ // Check if module is in cache
- /******/ var cachedModule = __webpack_module_cache__[moduleId];
- /******/ if (cachedModule !== undefined) {
- /******/ return cachedModule.exports;
- /******/ }
- /******/ // Create a new module (and put it into the cache)
- /******/ var module = __webpack_module_cache__[moduleId] = {
- /******/ // no module.id needed
- /******/ // no module.loaded needed
- /******/ exports: {}
- /******/ };
- /******/
- /******/ // Execute the module function
- /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
- /******/
- /******/ // Return the exports of the module
- /******/ return module.exports;
- /******/ }
- /******/
- /************************************************************************/
- /******/ /* webpack/runtime/define property getters */
- /******/ (() => {
- /******/ // define getter functions for harmony exports
- /******/ __webpack_require__.d = (exports, definition) => {
- /******/ for(var key in definition) {
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
- /******/ }
- /******/ }
- /******/ };
- /******/ })();
- /******/
- /******/ /* webpack/runtime/hasOwnProperty shorthand */
- /******/ (() => {
- /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
- /******/ })();
- /******/
- /******/ /* webpack/runtime/make namespace object */
- /******/ (() => {
- /******/ // define __esModule on exports
- /******/ __webpack_require__.r = (exports) => {
- /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
- /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
- /******/ }
- /******/ Object.defineProperty(exports, '__esModule', { value: true });
- /******/ };
- /******/ })();
- /******/
- /************************************************************************/
- /******/
- /******/ // startup
- /******/ // Load entry module and return exports
- /******/ // This entry module is referenced by other modules so it can't be inlined
- /******/ var __webpack_exports__ = __webpack_require__("./src/index.ts");
- /******/
- /******/ })()
- ;