
Hola Hivers, saludos.
Luego de tanto tiempo en espera para algunos amigos, he comenzado a liberar códigos, con la intensión de que los que saben programar les pueden resultar útiles para hacer algunas actividades dentro de la blockchain Hive y aportar herramientas para las comunidades.
Debo resaltar que yo no soy programador, solo sé lo más básico, pero he podido a traves de python realizar algunas aplicaciones para conectarse a la blockchain Hive, luego voy a explicar en un post.
Tengo pendiente publicar algunos códigos como el de @aliento que le paga a las personas que delegran, para que la comunidad la pueda usar.
El código de sorteo es sumamente sencillo, al ejecutarse puede arrojar el resultado tomando como referencia una serie o lista de usuarios que comentan en un post, con el fin de hacer sorteos de manera aleatoria.
Está escrito en Python y se conecta a través de Hive con la librería de Beem.
¿Qué necesitas para ejecutar este bot?
Beem de Hive: https://github.com/holgern/beem [Sigue las instrucciones en el repositorio]
Python: https://www.python.org/ftp/python/3.9.5/python-3.9.5-amd64.exe
¿Cómo funciona?
El bot tiene 2 modalidades: La primera es elegir a un ganador y luego deja un comentario en el post donde queremos que se publique el ganador, para que la elección sea transparente, y la segunda es solo con la consola de python, solo la persona que ejecute el bot puede ver el resultado.
wif: Allí colocarás tu clave de posting de la cuenta que hará el comentario.
comment: Allí colocas el post comenzando con el @ ejemplo:
@enrique89/hivechat-sorteo-por-los-100-hive-patrocinado-por-theycallmedan-3-ganadores
El código es el siguiente (copia y pega en tu editor de texto):
import random
import datetime
import random
import datetime
from beem.instance import set_shared_steem_instance
from beem.comment import Comment
from pprint import pprint
from beem import Hive
from beem.account import Account
from beem.vote import Vote
from beem.comment import Comment
from beemapi.exceptions import RPCError
from beemapi.exceptions import InvalidEndpointUrl
from beem.exceptions import ContentDoesNotExistsException
from datetime import datetime, timedelta
from beem.amount import Amount
from beem.nodelist import NodeList
from beem.instance import set_shared_steem_instance
from beem.instance import shared_hive_instance
from time import sleep
from beem.utils import construct_authorperm, addTzInfo
wif = "Key" # Colocar la clave publica
hive = Hive(
#bundle=True, # Enable bundle broadcast
nobroadcast=True, # Habilitado para Test y si quieres conectar con la blockchain coloca False y bot funcionará normalmente.
keys=[wif],
)
namehive = "votovzla" # coloca tu usuario de Hive y dejar las comillas"
acc = Account(namehive , blockchain_instance=hive)
#Extrae a los participantes mediante un post en Hive, debes añadir la lista de las personas que quieras que se excluyan"
def extraeruser():
comment = Comment("@enrique89/hivechat-sorteo-por-los-100-hive-patrocinado-por-theycallmedan-3-ganadores")
# lista de user excluidos
replies = comment.get_all_replies()
participants = set()
for r in replies:
listaexluir= ['hivebuzz', 'poshbot'] #Agrega la lista, los usuarios exluidos para el sorteo
if (r.author in listaexluir):
pass
else:
participants.add(r.author)
participants = list(participants)
return participants
# Elegir ganador
def ganador():
extraer = extraeruser()
win= random.choice(extraer)
ganador = win
return ganador
def win():
print("")
for p in extraeruser():
print("- @%s" %p)
print("")
print("El ganador ha sido:")
print("")
ganadoruno = ganador()
print (ganadoruno)
print("")
return ganadoruno
variable = 0 # Colocar 1 si no quieres dejar el comentario en la blockchain
if variable == 1:
print ('Ejecutar sin comentario')
a = win()
else:
print ('ejecutar con comentario')
extraerganador = win()
ganadores = (' El ganador es @{}, este ganador a es elegido a traves de un bot que se conecta con la blockchain Hive '.format(extraerganador) ) #Puedes personalizar el mensaje
print(ganadores)
comment = Comment("@enrique89/hivechat-sorteo-por-los-100-hive-patrocinado-por-theycallmedan-3-ganadores", blockchain_instance=hive) #Sustituir con el post en donde van a anuniciar el ganador
sleep(5)
comment.reply(ganadores, "", author = acc )
pprint(hive.broadcast())
#fin
Voy a adaptar este bot a Discord con otras funcionalidades para que cualquiera que no sepa de programación pueda realizar sorteos a través de la blockchain Hive y elegir al ganador de la manera más rápida.
Igualmente, está abierta la constribución, si eres programador y quiere mejorar el código, eres bienvenido.


Your content has been voted as a part of Encouragement program. Keep up the good work!
Use Ecency daily to boost your growth on platform!
Support Ecency
Vote for Proposal
Delegate HP and earn more
Que agradable que pienses en los que no sabemos NADA de programación. Gracias por esto.
Muy buen post @enrique89, realmente será más fácil para los que hacen sorteos de este tipo. Gracias por el aporte.