Un Bot che vota al nostro posto

in #ita7 years ago

Un Bot che vota al posto nostro


installazione
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.ymlcon un peso di voto al 10% (per esempio) e una lista di account e drphil-02.ymlcon 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

(ripeti l'operazione per il numero di bot che vuoi avere in esecuzione cambiandone opportunamente il nome nei vari file e/o aggiungendoli)

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! 👍
Scrivi nei commenti le tue osservazioni!
Se ti è piaciuto il mio post votami, seguimi e condividi!
-:¦:--:¦:--:¦:-prima immagine da ricerca google immagini - contrassegnata per essere riutilizzata -:¦:--:¦:--:¦:-
Vuoi saperne di più su Steemit? Visita COME USARE STEEMIT

votaXdavinci.witness.jpg

Sort:  

Ottima spiegazione e non sembra neanche troppo difficile.
Ottimo per chi legge e cura anche autori al di fuori della comunità Italiana.

Wow fantastico! Per ora mi basta Ginovotino2.0 quando avró più steempower ci penseró.

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 :)

Questo lo studiero' per bene.
Grazie

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. ;)

Oh, forte... magari prossimamente provo a creare il mio mannequin-bot ;-)
Grazie!
Salutoni
Steemitri The Mannequin

Puro arabo per me, ma la tua disponibilità è encomiabile, complimenti