Я, конечно, поздравляю с таким достижением... Но, представьте, если несколько тысяч пользователей русского раздела будут создавать темы по достижению 1, 10, 100, 1000... постов
|
|
|
TWIST is traded only on Cryptopia, but this exchange is not working now. Where to sell/buy a coin? That's all?
|
|
|
Надо обычное расширение сделать. Нафига эти бубны с грисманкеем?
В чём преимущество обычного расширения? В том, что оно устанавливается в один клик Дело в том, что каждое установленное и запущенное расширение добавляет общий вес браузера в памяти компьютера. Для тех, у кого, например, ноутбук с 2-4 гигами памяти это важно. А скрипт ничего, практически, не добавляет к уже запущенному расширению и, соответственно, к общему весу браузера в памяти. Поэтому, я лично предпочитаю использовать скрипты.
Единственное, что не очень удобно в этом скрипте, то что не видно сколько у меня осталось смерита для отправки. Может кто-то сможет добавить эту функцию в скрипт? Есть такая реализация скрипта от EcuaMobi: I have combined my own suggestion as well as sncc's and modified grue's script to implement them. This is the result: The available sMerit points are shown. 'Available' is a link which opens the default https://bitcointalk.org/index.php?action=merit;msg=30923337 (with the corresponding msg) in a new window to keep the original functionality. Here's the modified source. grue, feel free to update your original code if you like the change: // ==UserScript== // @name bitcointalk merit // @namespace grue // @include https://bitcointalk.org/index.php?topic=* // @require https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.3.1.min.js // @version 1.1-em0.1 // @downloadURL https://grue.blob.core.windows.net/scripts/Merit.user.js?sv=2014-02-14&si=1&sr=c&sig=k%2BqstGBI3oQ8TrHfPWjS5HgjrazuDPmKJ6rYNs7rvRk%3D&.user.js // @grant none // ==/UserScript==
(() => { var sMerit; //get csrf token from the logout link let sc = $('td.maintab_back a[href*="index.php?action=logout;sesc="').attr("href"); sc = /;sesc=(.*)/.exec(sc)[1]; //Added by EcuaMobi: Get remaining sMerit $.post( "https://bitcointalk.org/index.php?action=merit;msg=29048068" ).then((data) => { sMerit = /You have <b>([0-9]+)<\/b> sendable/.exec(data)[1]; }).catch(() => sMerit = null);
//selector for the "+Merit" link $('td.td_headerandpost div[id^=ignmsgbttns] a[href*="index.php?action=merit;msg="]') .each((i, e) => { const msgId = /msg=([0-9]+)/.exec(e.href)[1]; const $popup = $(['<div id="grue-merit-popup' + msgId +'" class="grue-merit-popup" style="position: absolute; right: 40px; background-color: #ddd; font-size: 13px; padding: 8px;border-width: 1px;border-color: black;border-style: solid;">', ' <form>', ' <div>', ' Merit points: <input size="6" name="merits" value="0" type="text"/>', ' </div>', // Modified by EcuaMobi ' <div style="margin-top: 6px; "><span id="em-smerit-count' + msgId +'" style="font-size:11px;" /> <input value="Send" type="submit"></div>', ' </form>', '</div>' ].join("\n")); $popup.find("form").submit( (e) => { e.preventDefault(); $popup.find('input[type="submit"]') .prop("disabled", true) .val("Sending..."); const merits = e.target.elements["merits"].value; $.post( "https://bitcointalk.org/index.php?action=merit", {merits, msgID: msgId, sc} ).then((data) => { //Error pages usually have this (rough heuristic) if(data.includes("<title>An Error Has Occurred!</title")) { throw "error"; } //double check and see whether the post we merited was added to the list. Its msgId should be visible in the page source. if(data.includes("#msg" + msgId)) { alert("Merit added."); $("#grue-merit-popup" + msgId).toggle(false); // Added by EcuaMobi if(sMerit!=null) { sMerit -= merits } return; } alert("Server response indeterminate."); }) .catch(() => alert("Failed to add merit.")) .always(() => { $popup.find('input[type="submit"]') .prop("disabled", false) .val("Send"); }); }); $popup.insertAfter(e); $(e).click((e) => { e.preventDefault(); $("#grue-merit-popup" + msgId).toggle(); // Added by EcuaMobi if(sMerit!=null) { $("#em-smerit-count" + msgId).html('<a href="https://bitcointalk.org/index.php?action=merit;msg='+msgId+'" target="_blank">Available:</a> <b>'+sMerit+'</b> ') }; }); }); $(".grue-merit-popup").toggle(false); })(); I've clearly marked the modified code with either "Added by EcuaMobi" or "Modified by EcuaMobi". I also changed the version A small limitation is that it queries the available sMerit points once (when the thread is loaded). It does subtract them when points are sent. However, if sMerit points are received the change won't be reflected unless the page is reloaded. That would require re-querying every time which I considered an overkill. To install this version, you can just modify grue's script or install this from scratch: https://openuserjs.org/scripts/EcuaMobi/bitcointalk_merit(grue, I assumed this code is open-source. If that's not the case, let me know to unpublish this)
|
|
|
Из этой темы было удалено 6 постов подряд. Первый удалённый пост был от ASSIOO. Я думаю, что объяснять не нужно за что. Предполагаю, что остальные посты, содержащие цитату поста от ASSIOO пошли паровозом. Во втором случае то же самое. Пункт 17 из Рекомендаций для репортеров.
|
|
|
Я почти везде юзаю один и тот же логин и пароль, но меня пока ни разу не взламывали.. разве что когда переходил по спам ссылкам)
Это до поры до времени. А потом если поломают - то все и сразу. Очень неразумное решение. Решение может и неразумное. Но придумать пароли для десятков , а то и сотен сайтов не просто) особенно все их запомнить)) И придумать, и запомнить, и набрать где надо, минуя буфер обмена, поможет небольшая портативная програмка KeePass. Пользую с 2004 года, никаких проблем.
|
|
|
The script does not work if you view the latest topics person. It would be nice to make the script work there.
Can you test this? All I did was add an include for the “View latest topics” page. Yes, it works. Thank you.
|
|
|
The script does not work if you view the latest topics person. It would be nice to make the script work there.
|
|
|
В своё время написал о скрипте для удобной раздачи меритов от grue. И в теме тоже упомянул greasemonkey и tampermonkey. Так меня практически обвинили в том, что я распространяю чуть ли не вирусы Кстати, tampermonkey можно и в firefox установить..
|
|
|
Чтобы что то репортить не худо бы разобраться в правилах, не плохо бы ещё почитать эту тему. Указанные Вами аккаунты пишут в "разном", там можно писать на любые темы, несколько аккаунтов иметь так же не запрещается. Да, верно. Но они, действительно, спамят ссылками в постах. To vetalbon: спасибо за помощь. Только просьба, не делайте несколько постов подряд. Это нарушение правил (п.32).
|
|
|
За небольшую плату можно отправить анонимное сообщение, которое будет транслироваться на всю планету. При этом, не раскрывая своё местоположение. Вот и всё! Блокчейн - это не доска объявлений. Blockstream Satellite API предоставляет разработчикам простой в использовании RESTful API, который можно использовать для создания приложений, которые транслируют сообщения глобально, с использованием сети Blockstream Satellite. Blockstream Satellite API позволяет создать приложение для обмена сообщениями с обалденной конфиденциальностью. В отличие от данных, передаваемых через Интернет, при обмене сообщениями в таком приложении источник и получатель сообщений не определяются путём проверки данных. Конфиденциальность связи может быть дополнительно улучшена за счет использования шифрования в сообщениях, а конфиденциальность платежей обеспечивается за счёт использования луковичной маршрутизации Lightning Network. Товарищ из постсоветского пространства разработал такое приложение и продемонстрировал его работу, транслируя через сеть Blockstream Satellite свой журнал. Кстати, здесь некто grubles, который, собственно, и обнаружил трансляцию журнала, выложил его в текстовом варианте.
|
|
|
|