Как собрать "Дань" от твинков с помощью Python + Piston
Всем привет, решил поделиться своим опытом. Python я начал изучать совсем недавно, не то чтобы я хотел стать профессиональным кодером, но на сегодняшний день он мне на голосе очень неплохо помогает.
У большинства голосовчан как и у меня 10+ а то и 100+ твинков, и вручную собирать со всех "Дань" более чем нудная и долгая задача... И как ленивый человек я решил, что лучше один раз потратить полчаса чем каждый раз когда где-то появился баланс перебрасывать все вручную.
Собственно вот результат ( не претендую на что-то сверх мощное, но на то он и питон чтобы за пол часа на коленке собрать что-то рабочее) :
Как оказалось собрать дань с твинка можно всего несколькими строчками при использовании либры PISTON - клевая штука...
При желании можно все зациклить и создать список твиков и их ключей, тогда все что будет приходить вашему твинку будет сразу отправляться к вам ( ну тут у кого как фантазия пойдет)
Этот код написан под GBG , чтобы отправить GOLOS нужно поменять параметры в 17 и 21 строках
Довольно сумбурно все описал , но если принесет пользу, то уже хорошо, оставляйте комментарии если не жалко апайте, а если кто-то знает как переписать получше - буду благодарен подсказкам ;-)
Вот код чтобы не перепечатывать со скрина:
Имя отправителя: P/S Знак комментов пришлось убрать т.к. голос их воспринимает как теги....from piston import Steem
from piston.account import Account
import subprocess
account_one = 'watikan'
Активный ключ отправителя:
account_one_active_key = 'Активный ключ отправителя'
Имя получателя:
account_two = 'lllllllllllllll'
Просто через консоль устанавливаем пользователя по умолчанию:
subprocess.call('piston set default_author' + ' ' + account_one, shell=True)
Используем открытую ноду голоса:
golos = Steem('wss://api.golos.cf', wif = account_one_active_key)
Узнаем сколько GBG на аккаунте отправителя:
new_acc = Account(account_one,steem_instance=golos)
SBD = "%.8f" % new_acc.balances['SBD']
Пишем отчет:
print('Дань собрана господин!')
Отправляем:
golos.transfer(account_two, str(SBD), 'GBG', memo='Очистка кошелька!', account= account_one)