Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
vik
8 лет назад

Bot Bro[wser] - не требующий сервера, навыков, голосующий и следящий бот куратор в вашем браузере.

Если посмотреть на текущие посты по разработке ботов - все они упираются в наличие собственного сервера или в установку node js, python и другого ПО. Но если говорить о широкой аудитории - не все могут развернуть собственный сервер. Вернее, использовать сервер могут не только лишь все, мало кто может это делать.

UPD: Для чего нужны боты-кураторы? Для поддержки академии голоса:

Как поддержать авторов Академии Голоса: Следовать за голосоами @academy с помощью моего бота. Контакт по почте ontofractal на protonmail.com
Следовать за голосами аккаунта @academy с помощью ваших собственных ботов
Вручную голосовать за посты из отчетов Академии

Благодаря библиотеке golos.js и урокам @ontofractal мы сделаем* собственного бота - куратора, а его особенностью будет - работа в любом браузере (Десктоп или мобильный)
Бот доступен по ссылке https://golos.rubtc.info/bot.html - поскольку он полностью выполняется на стороне вашего браузера - вы можете просто скопировать исходный код страницы и использовать как вам вздумается.

Алгоритм

Вы указываете время в минутах и логин куратора за которым нужно повторить голоса.
Бот возвращается в прошлое на указанное количество минут, анализирует все голоса за этот период и начинает их повторять по одному раз в 3 секунды (ограничение блокчейн). Когда бот доходит до настоящего времени - он ждет новых голосов от выбранного куратора и в случае если замечает новый голос - повторяет его. Сила голоса бота в % соответствует силе куратора-цели.

Опции бота

  • Выбор того, кто будет голосовать. Аккаунт + постинг ключ.
  • Выбор цели - пользователя за кем нужно повторить голоса
  • Выбор точки отсчета в минутах - позволяет указать время с которого повторить голоса
  • Выбор условия силы голоса (повторять голос только если цель проголосовала с такой-то силой в %)

NB на заметку:

  • Учитывая интервал генерации блоков блокчейна - бот голосует с соответствующим интервалом в 3 секунды.
  • Более подробный отчет о работе бота вы увидите в консоли своего браузера.
  • Если вы ранее уже голосовали за чей то пост, бот не повлияет на него. Но если куратор за которым вы следуете проголосовал с другой силой - бот изменит ваш голос на эту силу.

Можно использовать в тестовом режиме - для этого не указывайте постинг ключ, просто укажите куратора-цель и количество минут, которые нужно проанализировать.

Сделай сам :)

мы сделаем* собственного бота

Мои посты могут ошибочно восприниматься как презентация каких-то готовых решений, но я всего лишь делюсь с вами черновиками. Так как тот еще лентяй - для меня вверх авторского успеха - если мой черновик кому-то пригодится. А для чистовиков я слишком прокрастинатор :)

Кому не терпится - можете использовать скрипт ниже. А кто готов подождать - завтра в привычной манере очень подробно опишу как все работает

<script>
var votepower = 0;

function broBot() {
    var account = document.getElementById("account").value,
        k = document.getElementById("k").value,
        username = document.getElementById("username").value,
        minutes = document.getElementById("minutes").value,
        votepower = document.getElementById("votepower").value,
        time, starttime, t = 1000,
        period = minutes * 60,
        utime, start;

    function followVote() {
        var count = true;
        steem.api.getDynamicGlobalProperties(function(err, result) {
            starttime = Date.parse(result.time) / t;
        });
        steem.api.getAccountVotes(username, function(err, result) {
            var a = [];
            for (var i = 0; i < result.length; i++) {
                var arr = result,
                    start = starttime - period,
                    ap = arr[i].authorperm,
                    author = ap.substring(0, ap.indexOf('/')),
                    permlink = ap.substring(ap.indexOf('/')).substring(1),
                    power = arr[i].percent,
                    time = arr[i].time;
                utime = Date.parse(time) / t;
                if (utime > start) {
                    a.push({
                        author: author,
                        permlink: permlink,
                        power: power,
                        utime: utime,
                        start: start
                    });
                }
            }
            var summ = a.length;

            var i = 0;
            var goVote = setInterval(function() {
                if (count && summ > 0 && a[i].power / 100 >= votepower) {
         steem.broadcast.vote(k, account, a[i].author, a[i].permlink, a[i].power, function(err) {
                        console.log(err);
                    });
                    i++;
                    itemShow();
                }
                if (i == summ) {
                    count = false;
                    period = 4;
                    clearInterval(goVote);
                    followVote();
                }

            }, 3000);
        });
    }
    followVote();

    function itemShow() {
        setTimeout(function() {
            document.getElementById("item").classList.add('anim');
        }, 200);
    }
    document.getElementById("nicedata").classList.add('bg');
    document.getElementById("options").classList.add('nobg');
}
</script>

Прошлые посты по теме:

15
3169.844 GOLOS
На Golos с January 2017
Комментарии (48)
Сортировать по:
Сначала старые