Un Bot che vota al nostro posto
Un Bot che vota al posto nostroinstallazione guidata passo passo |
In un articolo precedente si è parlato della curation e di come sia importante votare al momento giusto, oggi vediamo come installare e configurare un BOT personale che lo faccia al posto nostro.
Dove installarlo
Per prima cosa dovete procuravi un ufficio dove farlo lavorare 🤣, che sia il vostro muletto (un vecchio pc riciclato), un raspberry o una vps poco importa l'importante è che abbia una versione di Linux installata.
In questa guida ho utilizzato Ubuntu 16.04, si presume che sappiate già collegarvi al vostro server con una console SSH, quindi loggatevi e se non siete già root eseguite:
sudo su
copiate ed eseguite le istruzioni qui sotto una riga alla volta:
cd /root
apt-get update && sudo apt-get upgrade -y
apt-get install ruby-full git openssl libssl1.0.0 libssl-dev libxml2-dev libxslt1-dev libreadline6-dev build-essential zlib1g-dev -y
gem install bundler
git clone https://gist.github.com/61bcc2b821aa5acb24f7fc88921950c7.git drphil
cd drphil
bundle install
A questo punto il BOT è installato e lo dobbiamo configurare per rispondere alle nostre esigenze, il file di configurazione si chiama drphil.yml
fatene una copia di backup
cp drphil.yml drphil-backup.yml
questo passaggio vi metterà al riparo da errori di configurazione permettendovi di ripristinare il file originale.
Adesso analizziamo il file di configurazione:
voting_rules:
# mode: drphil - picks one random voter for each post
# mode: winfrey - cycles all voters on each post
mode: drphil
vote_weight: 100.00 %
favorites_vote_weight: 100.00 % #<---- qui mettere la % con cui volete votare gli account della lista favoriti
following_vote_weight: 0.00 %
followers_vote_weight: 0.00 %
enable_comments: false
only_first_posts: false
only_fully_powered_up: false
min_wait: 18 #<-- qui mettete il tempo minimo da attendere dalla pubblicazione
max_wait: 30 #<-- qui mettete il tempo massimo da attendere dalla pubblicazione
min_rep: 25.0
max_rep: 99.9
min_voting_power: 25.00 % #<-- qui mettete il voting power minimo da mantenere sul vostro account
# unique_author: 1440
# max_votes_per_post: 10
voters:
- social 5JrvPrQeBBvCRdjv29iDvkwn3EQYZ9jqfAHzrCyUvfbEbRkrYFC #<-- questo è un account di test sostituitelo con il vostro username e la vostra POSTING KEY
- bad.account 5XXXBadWifXXXdjv29iDvkwn3EQYZ9jqfAHzrCyUvfbEbRkrYFC #<-- questo è un account di test
favorite_accounts: inertia banjo #<-- sostituite questi nomi con gli account che volete votare
skip_accounts: leeroy.jenkins the.masses danlarimer ned-reddit-login
skip_tags: nsfw test
# only_tags: steemit
# only_apps: steemit esteem streemian pysteem steepshot busy chainbb banjo_bot chronicle steemq
# skip_apps: piston
flag_signals: cheetah steemcleaners
vote_signals:
:chain_options:
:chain: steem
:url: https://api.steemit.com
Prima di tutto dobbiamo specificare che questo BOT è molto personalizzabile, oltre a votare una lista di autori preferiti può votare anche per tag, chi seguiamo o chi ci segue, oppure non votare se sono presenti alcuni tag e/o articoli postati con determinate applicazioni.
Iniziamo:
mode:drphil
- qui abbiamo due possibilità drphil o winfrey che serviranno nel caso il BOT gestisca più di un account votante, drphil sceglie un votante a caso per ogni post, winfrey esegue il ciclo di tutti gli votanti i su ciascun post
vote_weight:0.00%
- questa opzione va inserito il valore % del voto che vogliamo dare a a tutti in generale, attenzione come lo settate rischiate di votare tutti i post! Suggerisco di mettere a zero per non votare oltre la nostra lista.
favorites_vote_weight: 20.00%
questa opzione va inserito il valore % del voto che vogliamo dare agli autori della nostra lista che andrà inserita alla voce favorite_accounts
following_vote_weight: 0.00 %
- qui mettete la % con la quale volete votare chi seguite voi
followers_vote_weight: 0.00 %
- qui mettete la % con la quale volete votare chi vi segue
enable_comments: false
- opzione per votare i commenti (true/false)
only_first_posts: false
- opzione per votare solo il primo post di un autore (true/false)
only_fully_powered_up: false
- opzione per votare solo post con power up 100% (true/false)
min_wait: 18
- qui mettete il tempo minimo da attendere dalla pubblicazione
max_wait: 30
- qui mettete il tempo massimo da attendere dalla pubblicazione
min_rep: 25.0
- non voterà sotto la reputazione assegnata
max_rep: 99.9
- non voterà oltre la reputazione assegnata
min_voting_power: 25.00 %
- qui mettete il voting power minimo da mantenere sul vostro account
# unique_author: 1440
# max_votes_per_post: 10
voters:
- qui mettete il nome del vostro account e la vostra posting key
favorite_accounts: inertia banjo
sostituite questi nomi con gli account che volete votare separati da uno spazio
skip_accounts:
- qui gli account con NON volete votare
skip_tags: nsfw test
- qui gli TAG che con NON volete votare
# only_tags:
qui la lista dei TAG in whitelist
# only_apps:
- qui la lista delle applicazioni in whitelist
# skip_apps:
- qui la lista delle applicazioni in blacklist
flag_signals: cheetah steemcleaners
- il BOT non voterà se il post è flaggato da uno di questi account
vote_signals:
- il BOT seguirà il voto degli account in lista
Adesso abbiamo tutti gli strumenti per gestire il voto in autonomia, possiamo anche crearci più liste in modo da diversificare il peso del voto.
Sarà sufficiente copiare i file: drphil.rb
drphil.yml
e rinominarli ad esempio in drphil-01.rb
drphil-01.yml
.
Adesso configurate drphil-01.yml
con un peso di voto al 10% (per esempio) e una lista di account e drphil-02.yml
con una percentuale del 50% e un'altra lista di utenti.
In questo modo avrete due BOT che lavorando in sinergia e voteranno alcuni al 10% mentre altri al 50%, ma potreste farne anche di più.
Ora dobbiamo avviare le diverse istanze per i BOT e fare in modo che restino in esecuzione quando usciremo dalla console, quindi creiamo un file script in bash touch avviaBot.sh
apriamo l'editor nano avviaBot.sh
copiate le righe di codice e incollatele dentro l'editor
screen -d -m -S bot01 /root/drphil/./BotVoter01.sh
screen -d -m -S bot02 /root/drphil/./BotVoter02.sh
salva con CRTL+O e esci dall'editor con CTRL+X
Questo script creerà diverse console virtuali sulle quali gireranno altrettante istanze separate, richiamando i vari bot.
Creiamo il file per lanciare il bot01
touch avviaBot01.sh
editiamolo con
nano avviaBot01.sh
copia e incolla il testo qui sotto
cd /root/drphil # cambia directory
ruby drphil-01.rb # avvia il bot
salva con CRTL+O e esci dall'editor con CTRL+X
Ci siamo quasi adesso basterà rendere eseguibili gli scrip
chmod +x avviaBot.sh
chmod +x avviaBot01.sh
chmod +x avviaBot02.sh # se prensente
e lanciare dalla console il seguente comando
/root/drphil/./avviaBot.sh
Non è certamente un argomento alla portata di tutti, ma nemmeno troppo complesso. Non so quanti di voi vorranno cimentarsi in questa impresa, ma mi basta avervi un po' incuriosito. 🤗
Nel frattempo che preparavo questo articolo è già stato sviluppato un sistema alternativo a Streemian e Ginovotino è tornato, quindi possiamo dormire sonni tranquilli! 👍
Se ti è piaciuto il mio post votami, seguimi e condividi!
Questo lo studiero' per bene.
Grazie
Ottima spiegazione e non sembra neanche troppo difficile.
Ottimo per chi legge e cura anche autori al di fuori della comunità Italiana.
copione :P
Linux... Avevo frequentato un corso ancora nel 92 o forse 93... non ricordo giusto. Mi ero innamorato ma con le mie scarse conoscenze e non proprio user friendly... era troppo pesante per un utente. Ma era fighissimo ascoltare "diaolin"...
Mah... sai che faccio un po' di musina e prendo la raspberry
Un saluto nicola
Ottima spiegazione. molto interessante x le cose che puo fare. Peccato che non ho niente con linux / ubuntu
Grazie per l'ottima spiegazione @alexzicky ! Perfetta per chi viaggia easy :)
Wow fantastico! Per ora mi basta Ginovotino2.0 quando avró più steempower ci penseró.
Per me è come aver letto un testo in cirillico... ma grazie per la condivisione.
PS. e poi a Gino chi glielo dice che lo vogliamo segare?
Grazie della spiegazione. ;)
bravo @alexzicky