115 lines
3.6 KiB
JavaScript
115 lines
3.6 KiB
JavaScript
|
// ==UserScript==
|
|||
|
// @name ML forum
|
|||
|
// @namespace https://toxic.run.place
|
|||
|
// @version 202407142200
|
|||
|
// @description Скріпт для форума
|
|||
|
// @author POCCOMAXA
|
|||
|
// @match https://lib.social/forum/discussion/670453
|
|||
|
// @match https://lib.social/forum/
|
|||
|
// @grant none
|
|||
|
// @run-at document-start
|
|||
|
// ==/UserScript==
|
|||
|
|
|||
|
const open = window.XMLHttpRequest.prototype.open;
|
|||
|
const start = Date.parse("2024-07-14T18:57:50.000000Z");
|
|||
|
|
|||
|
const responses = {
|
|||
|
"/api/forum/discussion/670453": () => ({
|
|||
|
discussion: {
|
|||
|
id: 560675,
|
|||
|
chatter_category_id: 4,
|
|||
|
title: "Набираем новичков в команду!",
|
|||
|
user_id: 5034,
|
|||
|
source_id: 35544,
|
|||
|
source_type: "team",
|
|||
|
sticky: 0,
|
|||
|
locked: 0,
|
|||
|
views: 1 + Math.floor((Date.now() - start) / 100000),
|
|||
|
answered: 0,
|
|||
|
last_reply_at: "2024-07-14T18:57:50.000000Z",
|
|||
|
created_at: "2024-07-14T18:57:50.000000Z",
|
|||
|
updated_at: "2024-07-14T18:57:50.000000Z",
|
|||
|
deleted_at: null,
|
|||
|
yaoi: 0,
|
|||
|
username: "LSTR-512",
|
|||
|
avatar: "BPyLKDJWs1cP.gif",
|
|||
|
category_id: 4,
|
|||
|
category_name: "Поиск кадров",
|
|||
|
category_slug: "search_staff",
|
|||
|
category_color: "#6f42c1",
|
|||
|
category_icon: "user-plus",
|
|||
|
relation: {
|
|||
|
id: 35544,
|
|||
|
cover: "TMFkgJZZHa4D",
|
|||
|
slug: "cuicide",
|
|||
|
value: "Отставить суицид",
|
|||
|
href: "https://lib.social/team/cuicide",
|
|||
|
},
|
|||
|
},
|
|||
|
post: {
|
|||
|
id: 6373793,
|
|||
|
post_id: 0,
|
|||
|
chatter_discussion_id: 560675,
|
|||
|
user_id: 5034,
|
|||
|
body: {
|
|||
|
ops: [
|
|||
|
{
|
|||
|
insert: `Доступны следующие вакансии:
|
|||
|
1. Переводчик - человек, который умеет работать с японским/английским. (Знание японского и английского, понимание данных языков)
|
|||
|
2. Редактор - человек, который следит за переводом и редактирует его. (От 16+)
|
|||
|
3. Клиннер - человек, который чистит страницы от текста и иероглифов. (ПК/ноут)
|
|||
|
4. Тайпер - человек, который добавляет текст на чистые страницы. (ПК/ноут)
|
|||
|
5. Бета - человек, который редактирует и приводит главу к приемлемому результату. (От 16+)
|
|||
|
|
|||
|
Важно! Украинцев в команду не берем, мы не хотим иметь дела с нацистами. Потомкам Гитлера лучше читать манхву на своей «державной».
|
|||
|
|
|||
|
`,
|
|||
|
},
|
|||
|
],
|
|||
|
},
|
|||
|
created_at: "2024-07-14T18:57:50.000000Z",
|
|||
|
updated_at: "2024-07-14T18:57:50.000000Z",
|
|||
|
deleted_at: null,
|
|||
|
},
|
|||
|
}),
|
|||
|
};
|
|||
|
|
|||
|
window.XMLHttpRequest.prototype.open = function () {
|
|||
|
console.log("open", ...arguments);
|
|||
|
|
|||
|
const url = arguments[1];
|
|||
|
const res = responses[url];
|
|||
|
|
|||
|
if (res) {
|
|||
|
this.addEventListener(
|
|||
|
"readystatechange",
|
|||
|
function () {
|
|||
|
if (this.readyState !== XMLHttpRequest.DONE) return;
|
|||
|
|
|||
|
const body = JSON.stringify(res());
|
|||
|
|
|||
|
Object.defineProperty(this, "responseText", {
|
|||
|
value: body,
|
|||
|
});
|
|||
|
|
|||
|
Object.defineProperty(this, "response", {
|
|||
|
value: body,
|
|||
|
});
|
|||
|
|
|||
|
Object.defineProperty(this, "responseType", {
|
|||
|
value: "text",
|
|||
|
});
|
|||
|
|
|||
|
Object.defineProperty(this, "status", {
|
|||
|
value: 200,
|
|||
|
});
|
|||
|
},
|
|||
|
false,
|
|||
|
);
|
|||
|
}
|
|||
|
|
|||
|
open.apply(this, arguments);
|
|||
|
};
|
|||
|
|
|||
|
main();
|