Sorteos Discord-Hive: Nuevo Comando Fisgon Discord Bot

@zenkly · 2020-06-19 17:29 · OCD

Sorteos.png

Con la intención de seguir proporcionando herramientas para promover la interacción de usuarios en #Hive decidí implementar un comando al bot de Discord para llevar acabo sorteos sobre los comentarios o mas bien respuestas de una publicación.

Para invocar el sorteo debemos escribir el comando rancoment de la siguiente forma:

$rancoment link_publicación_Hive

El bot recopilará las respuestas de la publicación y elegirá un usuario al azar. Para ser mas claros dejaré un ejemplo de su utilización. Aplicando el comando:

imagen.png

El bot elige una respuesta al azar, devuelve al ganador y su comentario: imagen.png

Ahora quiero hacer énfasis en la diferencia entre respuestas y comentarios, veamos el siguiente caso, sobre la misma publicación.

imagen.png

La usuario nestorgarcia esta respondiendo directamente a la publicación, mientras que todos los comentarios inferiores son respuestas a sus respectivos comentarios superiores. Para no complicarlo, el usuario pcojines no esta dando una respuesta a la publicación, si no a uno de sus comentarios. Mientras nestorgarcia entraría en el sorteo, pcojines sería excluido.

Otra característica del comando es que también excluye al mismo autor de post, me pareció que no tendría sentido incluirlo.


Código (esto te lo puedes saltar)

Hasta aquí la parte funcional, ahora procederé a describir un poco la parte técnica, la cual es muy sencilla por si alguien quiere implementarlo. He utilizado Hive-js para la implementación, además claro discord.js

imagen.png

Cada una de los enlaces hacia una de las publicaciones de Hive tiene la siguiente estructura.

https://hive.blog/@autor/permlink

En primer lugar es importante separar el autor y el permlink, en mi casi recibo el link en args[0]

imagen.png

Algunos usuarios se confunden y en lugar de dar directamente el link, dan el enlace referenciado hacia alguno de sus comentarios, esto aparece con un # despúes del permlink, así que por si acaso limpiamos también esa indormación

imagen.png

Ahora utilizaremos la función imagen.png

Como notan, recibe como parámetros el autor, el permlink y nos permite introducir una función con el error y el resultado para manipular la respuesta. Esencialmente esto es lo importante, el código posterior es bastante básico. Recopilamos las respuestas arreglos, en mi caso utilicé.

imagen.png

Noten que excluyo al autor.

imagen.png

Primero eliminamos repeticiones, para no dar preferencia a ningún usuario por muchas respuestas que publique, es decir no incentivamos el spam. Una vez hecho ésto, elegimos a alguien al azar.

imagen.png

Ahora extraemos el comentario que ha emitido el usuario ganador, nota que vuelvo a repasar todas las respuestas ya que el índice no coincide debido a que eliminamos repeticiones. Finalmente anunciamos al ganador.

imagen.png

Les dejo el código en el siguiente enlace: CODIGO


Consideraciones

Me vi tentado a añadir la condición de que el ganador haya votado el post y seguido la cuenta, sin embargo el objetivo primordial del comando es simplemente motivar la interacción mediante comentarios, quizás sería adecuado hacerlo en un comando distinto. ¿Tú qué opinas? ¿Consideras que los sorteos son una buena forma de incentivar la interacción? ¿Crees que se debe realizar alguna mejora al comando? ¿Tienes alguna sugerencia de comando para el bot? No dudes en dejar tus respuestas y peticiones en los comentarios.

Próximamente estaré realizando algún sorteo una vez que encuentre una comunidad que me permita usar su sala para realizarlo, así que sígueme para estar enterado.

#spanish #ocd #tutorial #discord #bot #posh #hive #upmewhale #appreciator #sorteo
Payout: 0.000 HBD
Votes: 98
More interactions (upvote, reblog, reply) coming soon.