Página 1 de 1

GRUPO RASPYTHON => Primer proyecto, RaspythonBot [Únete y participa]

Publicado: 25 Jun 2017, 23:04
por cpa
La Raspito's Family tiene un nuevo miembro en Telegram. En este caso, se trata de un grupo dedicado a la programación en Python orientada a Raspberry Pi. El grupo lo tenéis en el siguiente enlace...
https://t.me/Raspython

Pues bien, nuestro primer proyecto será crear un Bot moderador que realice tareas automáticas para el mantenimiento del grupo.
En estos primeros mensajes se irán recopilando, a modo de diario, lo que se vaya decidiendo y haciendo en las jornadas de debate y desarrollo, así como las horas aproximadas de reuniones virtuales.

El código del bot será público y se irá colgando en el siguiente github:
https://github.com/cpasoft/Raspython-Bot
Si alguien quiere ser colaborador, no tiene más que pasarme por privado su cuenta de github.

Invitaros a todos a participar. Da igual el nivel que tengáis, seáis unos consumados programadores o no tengáis ni un básico conocimiento de este lenguaje de programación. La idea es aprender, compartir y divertirse...

UN SALUDO!!!!
Raspython Group!

[Reunión virtual 25/06/2017]
Hemos empezado a decidir las primeras funciones de nuestro futuro Bot. El Bot ya tiene nombre, muy original por cierto. Se llama RaspythonBot y ya es accesible, pero obviamente no dice nada, porque no tiene ni una sola línea de código.
Aún no tenemos avatar para el bot, así que buscamos diseñadores que se animen a crear uno chulo.
Hemos creado un TODO con nuestras primeras intenciones. Empezaremos con funciones básicas, y ya nos iremos complicando poco a poco... El TODO está en: https://github.com/cpasoft/Raspython-Bo ... r/TODO.txt
Por último, hemos decidido que programaremos el bot en python 3.40 (que viene de serie en Raspbian) y que usaremos el framework de PythonTelegramBot, cuya web es: https://python-telegram-bot.org/

[Reunión virtual 26/06/2017]
Entre todos decidimos las normas, y decidimos igualmente que estas quedarán estáticas en el propio código, ya que las normas a penas serán moficadas, por lo que no merece el esfuerzo extra de tenerlas en un fichero externo editable desde el propio bot.
Se comenta de poner separadores de secciones, para que se vea más claro el tránsito de una sección a otra.
De momento vamos a prescindir de crear una base de datos (PostgreSQL, MariaDB o similar), por lo que usaremos ficheros del tipo Json para almacenar las variables que requieran duración en tiempo, como por ejemplo la base de datos de hashtags, la de la reputación de usuarios y similares... Como no esperamos una cantidad exorbitada de datos, asumimos que rendirán bien. Intentaremos hacer las funciones de importación y exportación de datos lo más transparente posible por si, en un futuro, tenemos la necesidad de migrar a otros sistemas (base de datos).
El compañero Darth nodlehS nos provee de un documento de Victor Terrón muy interesante, y a la postre se postean un par de vídeos que los complementa. Muy interesantes de ver. Están en el grupo.
También hablamos de implementar algún tipo de meme/broma al respecto del spam, que se ejecute con un lanzador, aunque de momento no lo hemos apuntado en el TODO. Lo trataremos en futuras reuiniones. Todos sabemos que estas funciones "broma" son al final las que más uso y éxito tienen, así que de seguro que alguna implementamos.
Finalmente con todas las correcciones y comentarios hechos, actualizamos el TODO y algunos trozos del bot, incluyendo un pequeño easteregg en honor a Raspito!...
Cerramos la reuinión sin determinar una futura. Conforme avancemos en el código y tengamos nuevos avances haremos pública la próxima reunión, seguramente antes del viernes... Lo comunicaremos en este hilo y, por supuesto, en el grupo.

[Reunión virtual 29/06/2017]
Hacemos un repaso de todas las novedades y funciones implementadas en el bot.
-> El bot ya nos da las reglas, las que habíamos previsto en la última reunión
-> El bot da la bienvenida a los nuevos miembros y les invita a iniciar una conversación con el bot
-> Ya tenemos implementado el sistema de tags (aquí volveré más tarde). Estos tags son configurables por unos miembros especiales llamados "editores/admins"
->El bot envía la ayuda, y por defecto lo hace al privado. Si no pudiera, manda un mensaje al grupo indicando al usuario que le abra un privado para recibir la ayuda
-> Tenemos funcionando el sistema antiflood de comandos y tags, lo que evita que tanto comandos como tags se ejecuten reiteradamente, sólo permitiendo la ejecución de cada uno de ellos en lapsos de 15 minutos
En principio la base de tags es la misma para todos los canales. Es decir, si este bot finalmente lo adoptan los admins de los otros grupos de la Raspito's Family, los tags serían compartidos. El antiflood sí sería específico de cada canal, por lo que si alguien ha ejecutado en este el tag #repo (como yo antes) no implica que no pueda salir también en otro...
Si los admins de otros grupos finalmente desean esta funcionalidad, deberíamos modificarla y adaptarla a múltiples canales. De momento no voy a hacer ese esfuerzo, ya que creo más conveniente dar otras funcionalidades que sí vamos a usar, a programar esta que igual no se usa nunca...
Todos estamos de acuerdo en estas premisas, por lo que seguimos avanzando en dotar al bot con nuevas funciones. La que más desea la gente es un sistema de antiflood, y se ha adoptado la siguiente postura:
-> Si un usuario manda más de 4 mensajes en 10 segundos:
1º) Advertencia
2º) Borrado de mensajes
3º) Kick/Ban
Se actualiza el repo con el TODO reflejando estos cambios. De momento no fijamos fecha para la próxima reunión, donde si todo va bien, podremos probar este sistema antiflood... Estad atentos!


[Reunión virtual 05/07/2017]
Jugueteamos con el nuevo sistema Antiflood. Parece que, de momento, la cosa convence. Está así establecido:
-> El sistema considerará flood a aquellos comportamientos que se ajusten a las siguientes características:
* Enviar más de 5 mensajes en menos de 40 segundos.
En caso de ser así, el sistema mandará un primer aviso, advirtiendo al autor del flood que ese comportamiento no está permitido. Si vuelve a insistir en el msimo, será castigado durante 5 minutos, durante los cuales, todos sus mensajes serán borrados. Si sigue insistiendo (tanto durante el tiempo de castigo como durante las 24 horas siguientes, este usuario será expulsado).
-> Las expulsiones son directas (no bans), el usuario podrá reingresar nuevamente, pero sólo en modo lectura. Si intenta escribir será vuelto a expulsar nuevamente. Todo esto será reportado por privado.
-> Los niveles de advertencias y baneos serán rebajados cada 24 horas. Es decir, si alguien recibió una advertencia y no vuelve a generar flood, a las 24 horas estará como si nunca hubiera sido advertido. Si alguien ha sido expulsado, a las 24 hora pasará a estar solamente advertido.
-> En un futuro próximo, en cuanto esté disponible la API 3.1, las expulsiones serán castigos de 2 días en modo lectura, sin poder escribir en el grupo.
Los bans completos (para gente que venga a hacer mal a mala fe), recaerán sobre los administradores, que recibirán mensajes conforme el sistema antiflood trabaje.

Entre otros temas, también comentamos lo siguiente:
-> Incluir un comando /ban que alerte a los administradores de un usuario díscolo en el grupo
-> Incluir un comando /admins que muestre la lista de administradores/moderadores del grupo
-> Que el mensaje de expulsión de un usuario sea reportado por privado, y no en el grupo como está ahora mismo (comentado en la sección anterior).

Por otro lado, hemos pensado el iniciar un proyecto nuevo en el que todos puedan participar activamente en las pruebas de forma personal en casa. Para ello podemos incluir algún tipo de hardware (sensores, pantallas me matriz de puntos, etc.). Para ello, abriremos un tiempo de aportar ideas, y luego votaremos a la que más interese a la gente. Posiblemente hagamos una reunión el finde para tratar este tema. Quizá el domingo después de comer sería un buen día... Lo anunciaremos aquí y en el grupo.


-> Instalación del framework PTB (PythonTelegramBot):
Entramos en nuestra raspi y ejecutamos:

Código: Seleccionar todo

sudo python3 -m pip install python-telegram-bot
[/color]
=====================================================================================

PRÓXIMA REUNIÓN VIRTUAL
Jueves 13 de julio a las 22 horas

Hablaremos sobre posibles futuros proyectos. Así que si tienes un proyecto en mente, no dudes en acudir...
Entre posibles ideas, un riego automático, una centralita de alarma, una estación meteorológica, etc.
NO FALTES!!!!

=> Si alguien quiere usarlo con su propia pi, necesitará dar de alta un bot en BotFather. Si alguno tiene dudas sobre esto, lo resolveremos en el grupo y/o en este mismo hilo.

HASTA PRONTO!!!

Re: GRUPO RASPYTHON => Primer proyecto, RaspythonBot [Únete y participa]

Publicado: 25 Jun 2017, 23:04
por cpa
<RESERVADO PARA EL FUTURO>

Re: GRUPO RASPYTHON => Primer proyecto, RaspythonBot [Únete y participa]

Publicado: 25 Jun 2017, 23:04
por cpa
<OTRO MÁS RESERVADO POR SI ACASO>

Re: GRUPO RASPYTHON => Primer proyecto, RaspythonBot [Únete y participa]

Publicado: 26 Jun 2017, 17:48
por cpa
Madre mía, parece que mordemos o algo; ni una sóla respuesta... jajaja...

Recordaros que esta tarde noche, sobre las 9, tenemos reunión y probaremos la primera versión del Bot. Haré el primer commit en los próximos minutos, para que podáis ver el código y poder consultar dudas y realizar sugerencias en el grupo.

Animaros, que no mordemos, y yo creo que va a ser divertido e interesante!

Enviado desde mi X98 Plus mediante Tapatalk

Re: GRUPO RASPYTHON => Primer proyecto, RaspythonBot [Únete y participa]

Publicado: 26 Jun 2017, 17:54
por coronelcervera
Jajajaja.Yo ya estoy apuntado.Animaros que va a estar muy bien.

Re: GRUPO RASPYTHON => Primer proyecto, RaspythonBot [Únete y participa]

Publicado: 27 Jun 2017, 08:25
por cpa
Bueno, pues ayer estuvimos jugando y haciendo pruebas con la primerísima versión del bot. La he dejado activada, así que si todo va normal, debería seguir funcionando... :P

Hicimos unas cuantas modificaciones y cambiamos un poco el TODO. El siguiente paso será dotarle del sistema de tags, que el bot sea capaz de reaccionar a una serie de tags que programemos, y con la intención de que estos puedan ser cambiados por los admins...

En breve actualizo el primer mensaje con lo acontecido ayer en el grupo...

Saludossss....

P.D.: Las modificaciones ya han sido subidas. Incluye alguna chorraduca, como un pequeño EasterEgg en honor a Raspito... 8-)

Re: GRUPO RASPYTHON => Primer proyecto, RaspythonBot [Únete y participa]

Publicado: 28 Jun 2017, 20:04
por cpa
PRÓXIMA REUNIÓN VIRTUAL
Jueves 29 de junio, hacia las 21 horas en el canal de Telegram

Asuntos a tratar a priori:
[*] Novedades implementadas en el bot:
  1. Tags administrados por editores
    Sistema antiflood para los comandos
[*] Revisión del código, proposición de alternativas, explicaciones y resolución de dudas de lo ya implementado
[*] Decidir los siguientes elementos a implementar

El commit del código se hará unas horas antes, para que podáis descargarlo y analizarlo con tiempo antes de la reunión.

OS ESPERAMOS!

Re: GRUPO RASPYTHON => Primer proyecto, RaspythonBot [Únete y participa]

Publicado: 29 Jun 2017, 22:15
por cpa
Ya tenéis actualizado el primer mensaje con el acta de la reunión de hoy... En cuanto se sepa fecha de la nueva la publicaremos por aquí...

Saludossss!!!!

Re: GRUPO RASPYTHON => Primer proyecto, RaspythonBot [Únete y participa]

Publicado: 03 Jul 2017, 10:42
por Gubenote
Menos mal que el grupo sí que tiene movimiento.
Es una pena que no utilicemos más el foro para que no se pierda la información entre tanto mensaje en Telegram.
Gracias CPA por todo el curro que haces aquí!
:mrgreen: :mrgreen: :mrgreen:

Re: GRUPO RASPYTHON => Primer proyecto, RaspythonBot [Únete y participa]

Publicado: 04 Jul 2017, 08:34
por cpa
Por la presente, convoco a reunión de Rasphyton el próximo miércoles 5 de julio a las 22h. en el canal del grupo en Telegram...
http://t.me/raspython

En principio vamos a probar el sistema antiflood y debatir cual es la mejor cadencia mensajes/tiempo para el sistema. También discutiremos las medidas a tomar por los flooders y comentaremos tal y como está fijado ahora...

Como siempre, el código se subirá al repositorio unas horas antes, para que podáis estudiarlo y compartir opiniones de cómo está implementado y si a alguien se le ocurre una mejor forma de optimizarlo.

OS ESPERAMOS!!!

Re: GRUPO RASPYTHON => Primer proyecto, RaspythonBot [Únete y participa]

Publicado: 06 Jul 2017, 08:40
por cpa
Actualizado el primer mensaje con el Acta de la Reunión de ayer...
Entre las cosas que decidimos ayer, es la de aportar ideas para un proyecto que pueda ser más participativo, con la posibilidad de la inclusión de algún tipo de hardware a mayores, como algún sensor, pantalla de matriz de puntos, etc.
Así que adelante con vuestras propuestas. Al final votaremos cual nos parece la más interesante, y si hace falta realizar algún tipo de conjunta para la adquisición del hardware, pues lo haremos.

Seguramente el domingo hagamos una reunión virtual para tratar este tema y debatir cuál podría ser un proyecto bonito y sencillo para que sea lo más participativo posible...

Re: GRUPO RASPYTHON => Primer proyecto, RaspythonBot [Únete y participa]

Publicado: 12 Jul 2017, 22:39
por cpa
ATENCIÓN!!!
Convocamos reunión para mañana jueves 13 de julio a las 10 de la noche
Debatiremos un futuro proyecto más participativo. Entre las posibles ideas que se barajan, un riego automático, una central de alarmas, una estación meteorológica, etc.

No dudes en acudir y aportar tu idea de proyecto para que la hagamos en conjunto. La idea es que todos podamos participar y probar desde nuestras casas. Si se requiere algún tipo de hardware, se puede preparar una compra conjunta...

TE ESPERAMOS!!!

Re: GRUPO RASPYTHON => Primer proyecto, RaspythonBot [Únete y participa]

Publicado: 21 Nov 2017, 22:15
por ragnapork
A ver si hay suerte y me toca

Re: GRUPO RASPYTHON => Primer proyecto, RaspythonBot [Únete y participa]

Publicado: 10 Dic 2017, 13:57
por juasjo
Seguís activos? Me gustaría unirme

Enviado desde mi FRD-L09 mediante Tapatalk

Re: GRUPO RASPYTHON => Primer proyecto, RaspythonBot [Únete y participa]

Publicado: 11 Dic 2017, 11:33
por Gubenote
te paso enlace del grupo de telegram https://t.me/Raspython