Firepup650
(Firepup Sixfifty)
14 فبراير 2025، 4:23ص
1
(ربما يمكن وضعه في #dev، لكنني وضعته هنا لأنني لم أكن متأكدًا)
أثناء تنظيف صندوق الوارد الخاص بي على المنتدى الذي أديره قليلاً عن طريق إغلاق وأرشفة طلبات عضوية المجموعات القديمة، شعرت بالانزعاج من القيام بذلك يدويًا.
أقدم لكم الآن البرنامج النصي للمستخدم للقيام بذلك نيابة عنك! ما عليك سوى النقر بزر الماوس الأيمن، والانتقال إلى خيار “Tampermonkey”، ثم تشغيل البرنامج النصي “Close and Archive”!
الكود:
// ==UserScript==
// @name إغلاق وأرشفة
// @namespace http://tampermonkey.net/
// @version 2025-02-14
// @description يغلق ويؤرشف الموضوع/الرسالة الخاصة المفتوحة حاليًا عند تشغيله
// @author Firepup Sixfifty
// @match https://=hostname=/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=amcforum.wiki
// @grant none
// @run-at context-menu
// ==/UserScript==
(function() {
'use strict';
fetch(`https://${window.location.hostname}/t/${window.location.pathname.split('/')[3]}/status`, {
"headers": {
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
"accept": "application/json",
"x-csrf-token": document.querySelector("[name='csrf-token']").content
},
"body": "status=closed&enabled=true",
"method": "PUT"
}).then((r)=>{
fetch(`https://${window.location.hostname}/t/${window.location.pathname.split('/')[3]}/status`, {
"headers": {
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
"accept": "application/json",
"x-csrf-token": document.querySelector("[name='csrf-token']").content
},
"body": "status=archived&enabled=true",
"method": "PUT"
}).then((r)=>{
fetch(`https://${window.location.hostname}/t/${window.location.pathname.split('/')[3]}/archive-message`, {
"headers": {
"accept": "application/json",
"x-csrf-token": document.querySelector("[name='csrf-token']").content
},
"method": "PUT"
});
})
})
})();
إعجاب واحد (1)
انتظر… كيف أ تشغيله إذن؟ أين يجب أن أضعه؟
Firepup650
(Firepup Sixfifty)
14 فبراير 2025، 5:20ص
3
إنه نص مكتوب لإضافة Tampermonkey للمتصفح
إعجاب واحد (1)
Canapin
(Coin-coin le Canapin)
14 فبراير 2025، 1:27م
4
هل يقوم بأكثر من اختصار a عندما نكون في صفحة PM؟
Firepup650
(Firepup Sixfifty)
14 فبراير 2025، 4:02م
5
نعم - كما يُغلق أيضًا في فترة ما بعد الظهر.
Canapin
(Coin-coin le Canapin)
14 فبراير 2025، 4:45م
6
لا يمكن الرد على المنشورات المؤرشفة:
Firepup650
(Firepup Sixfifty)
14 فبراير 2025، 5:55م
7
لا أعرف، أنا فقط أغلقها في حال عثر عليها أحد الموظفين عن طريق الخطأ، فمن الواضح أنها ليست مخصصة للرد عليها.
Canapin
(Coin-coin le Canapin)
14 فبراير 2025، 6:07م
8
هل أنت مسؤول أم مجرد مشرف؟ إذا كنت مسؤولاً، فربما يمكنك إنشاء مكون سمة بدلاً من الاعتماد على نص برمجي للمستخدم.
ومع ذلك، بالنسبة للمواقع التي لا يمكنك فيها تعديل التعليمات البرمجية، لا تزال النصوص البرمجية للمستخدم حلاً مثيراً للاهتمام لتحسينات مختلفة.
أستخدمها للعديد من المواقع.
على meta.discourse.org ، لدي نص برمجي يضيف اختصار Ctrl + Shift + k لتغليف النص المحدد الخاص بي بعلامات <kbd> داخل مربع الإنشاء
// ==UserScript==
// @name اختصار <kbd> لـ meta.discourse.org
// @namespace Violentmonkey Scripts
// @version 1.0
// @description إدراج علامات <kbd> في مربعات النص على meta.discourse.org باستخدام Ctrl + Shift + k
// @author chatGPT
// @match https://meta.discourse.org/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
document.addEventListener('keydown', function(event) {
if (event.ctrlKey && event.shiftKey && event.key === 'K') {
const activeElement = document.activeElement;
if (activeElement.tagName === 'TEXTAREA' && activeElement.classList.contains('ember-text-area')) {
const start = activeElement.selectionStart;
const end = activeElement.selectionEnd;
const text = activeElement.value;
const insertText = '<kbd>';
const closeText = '</kbd>';
const selectedText = text.slice(start, end);
activeElement.value = text.slice(0, start) + insertText + selectedText + closeText + text.slice(end);
const cursorPosition = end === start
? start + insertText.length
: start + insertText.length + selectedText.length + closeText.length;
activeElement.selectionStart = activeElement.selectionEnd = cursorPosition;
event.preventDefault();
}
}
});
})();
أيضًا، لا أستخدم Tampermonkey لأنه مفتوح المصدر، وأفضل استخدام البرامج مفتوحة المصدر، وهناك العديد من المنافسين (جميعهم يبدون متشابهين والنصوص البرمجية متوافقة عبر الأنظمة الأساسية). أعتقد أن الأكثر استخدامًا هو Violentmonkey .
إعجاب واحد (1)
Firepup650
(Firepup Sixfifty)
14 فبراير 2025، 6:18م
9
لقد وضعته فقط في نص برمجي للمستخدم لأنني كنت كسولًا جدًا لإنشاء مكون سمة له، وكان هذا أسرع في التحرير والاختبار (في الأصل قمت بتشغيله في وحدة التحكم بضع مرات لاختباره)
أوه، هذا لطيف حقًا، شكرًا لمشاركته!
Firepup650
(Firepup Sixfifty)
14 فبراير 2025، 6:19م
10
قمت بتعديل النص البرمجي قليلاً بحيث يعمل أيضًا مع المواضيع، على الأقل من حيث القيمة (هذا يتسبب في تأثير غريب وهو وجود رسالة خاصة مؤرشفة على الرغم من ذلك).
إعجاب واحد (1)