NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name usik // @namespace http://tampermonkey.net/ // @version 0.1 // @description test // @author usik // @match *://vk.com/* // @updateURL https://openuserjs.org/meta/usik/usik.meta.js // @copyright 2018, usik (https://openuserjs.org/users/usik) // @license MIT // @grant none // ==/UserScript== var usik = { v: 0.1, v_users: { "225166577": { title: "Разработчик usik.script", tooltip: "Данный пользователь является разработчиком самого лучшего скрипта" }, "121072225": { title: "Тестировщик usik.script", tooltip: "Данный пользователь является тестировщиком usik.script" }, "304908560": { title: "Тестировщик usik.script", tooltip: "Данный пользователь является тестировщиком usik.script" } }, template: `Уважаемые участники группы {group_name}!\n// Some text\n\nС Уважением, {author}.`, box: function() { // Наш блок stManager.add(["aes_light.css","common.css","uncommon.css","feed.css","font_cnt.css","modules.css","mrtarg.css","notifier.css","page.css","post.css","profile.css","ui_common.css","ui_media_selector.css"]); var box = new MessageBox({}); box.setOptions({ title: "usik v1.0", width: 350 }); box.addButton('Save', () => { box.hide(); }); box.content(` <div style="margin-top: 20px;"> <div class="shorten_header">Сокращение cсылок<br> <input id="usik_s_input" style="width: 250px; text-align: center; margin-top: 25px;" type="text" placeholder="Вставь ссылку..." class="dark shortener_input"><br> <div id="usik_result" style="margin-top: 20px; font-size: 15px;"></div> <button id="usik_short" style="margin-top: 25px;" class="shorten_button flat_button">Сократить</button> </div> </div> `); box.show(); shorter(); }, log: { // Подобие console.log только красивее :3 info: function(...text) { console.log('%c' + text.join(' '), 'background: #282b2f; border-top: 3px solid #0F72D2; border-radius: 2px; background-size: cover; padding: 10px;font: 1rem/3 Arial Regular'); }, error: function(...text) { console.log('%c' + text.join(' '), 'background: #282b2f; border-top: 3px solid #D33636; border-radius: 2px; background-size: cover; padding: 10px;font: 1rem/3 Arial Regular'); } }, alert: function(...text) { // Уведомление вк return Notifier.showEvent({ type: "online", title: "usik", text: text.join(' '), add_photo: "", author_photo: "" }); } }; // Сократитель ссылок function shorter () { var input = ge('usik_s_input'); var btn = ge('usik_short'); var result = ge('usik_result'); btn.addEventListener('click', (e) => { if(!input.value)return usik.alert('Введите ссылку, которую нужно сократить!'); if(!API)return usik.log.error('Библиотека API не загружена'); API('utils.getShortLink', { url: input.value }).then ( x => { result.innerHTML = x.response.short_url; }).catch(e => { usik.alert('Ошибка сокращения (' + e.error.error_code + ') Message: ' + e.error.error_msg) }) }); } function loadIM () { usik.log.info('im.js loaded :3'); window.cur.ny2018Enabled = true; } function loadGay() { if(ge('l_usik'))return; geByClass1('more_div').insertAdjacentHTML('beforebegin', ` <li id="l_usik" class=""><a class="left_row"> <span class="left_fixer"> <span class="left_count_wrap fl_r left_void"><span class="inl_bl left_count_sign">0.1</span></span> <span class="left_icon fl_l"></span> <span class="left_label inl_bl">usik</span> </span> </a> </div> </li> `); ge('l_usik').addEventListener('click', usik.box); } // Группы function loadGroup () { geByClass1('page_name').insertAdjacentHTML('beforeEnd', `<span class="hint_icon" onmouseover="showTooltip(this, {text: 'ID: ${window.cur.group_id || window.cur.options.group_id}', dir: 'auto', shift: [22, 10], slide: 15})"></span>`); tempWall(); } function tempWall() { var w_post = ge('post_field'); if(!w_post) return; w_post.click(); Wall.showEditPost(); w_post.innerText = ReplaceLang(usik.template); } function ReplaceLang(t) { var lang = { "group_name": window.cur.options.back, "author": geByClass1('top_profile_name').innerText }; return t.toString().replace(/{(\w+)}/gi, (v, data) => { return lang[data]; }); } // Профили разработчиков function loadDeveloperPage() { if(!usik.v_users[cur.oid]) return; if(geByClass1('page_verified'))return; usik.log.info('Welcome to the developer page :3'); // Шапка ge('header').style.display = 'block'; ge('title').innerHTML = usik.v_users[cur.oid].title; // Галочка geByClass1('page_name').insertAdjacentHTML('beforeEnd', `<a href="/usikpro" id="usik_v" class="page_verified"></a>`); ge('usik_v').addEventListener('mouseover', () => { showTooltip(ge('usik_v'), { text: '<b style=\'color: #5A89DD\'>' + usik.v_users[cur.oid].title + '</b><br><span style=\'font-family: Consolas\'>' + usik.v_users[cur.oid].tooltip + '</span>', dir: 'auto', slide: 15, ajxdt: 200, showdt: 200, hidedt: 200, shift: [94, 7, 7], className: "verified_tt" }); }); } // Загружаем скрипт function init() { loadGay(); switch(window.cur.module) { case 'profile': loadDeveloperPage(); break; case 'im': loadIM(); break; case 'groups': case 'public': loadGroup(); break; } } var usikListen = usikListen || window.addEventListener; window.addEventListener = function() { if(arguments[0] === 'resize') { init(); } return usikListen.apply(this, arguments); }; usikListen('load', function() { loadScript("//ifx.su/~va", { onLoad: function () { init(); }}); });