Eve Mumble Bot

Estos días con el #findenegro estuvimos dándole bastante rato al mumble, poniendo música, incluso algunos usamos un cable para conectar la entrada del micrófono a la salida de altavoces para poner música sin meter ruido de acoples. Fue entonces cuando a nuestro querido Drymer se le debió ocurrir la idea de montar un bot en mumble. Sabíamos que ya existen varios bots, radiobot es uno de ellos, pero como siempre la curiosidad debió llevar a Drymer hasta mumble-ruby. Unas librerías escritas en ruby para manejar un objeto cliente de mumble disponibles en github https://github.com/perrym5/mumble-ruby Me enseñó la api e hizo sus pruebas, un script que se conectaba y hacía el streaming del mpd. Fue entonces cuando despertó mi curiosidad también. Así que en un par de tardes y con nuestro método de trabajo por xmpp nos pusimos a darle más brío al tema para sacar este bot.

A tener en cuenta: ninguno de los dos habíamos programado en ruby anteriormente, si bien es un lenguaje parecido a python y eso anima.

Para bajar el proyecto desde gitorius:

git clone git@gitorious.org:eve/eve.git

Como se usa:

./eve.rb --name namebot --owner dueño --server elbinario.net --port 60601 --channel canal --key password

Como se maneja desde el chat:

La ayuda:

Escribir !help en el mismo canal donde este el bot y verás esta ayuda:

!play – Play música

!current – Canción actual

!stop – Stop música

!next – Siguiente canción

!quit – Desconectar y salir

Esperamos completar el TODO e iremos puliendo el proyecto. Por su puesto aceptamos sugerencias, colaboraciones y reportes de errores para futuros fix.

Configuración

Este bot usa mpd y mpc. mpd es un demonio para reproducir música, y mpc es el cliente, que permite incluso dar órdenes al mpd de otra máquina. Veamos cómo configurarlo.

su -c "aptitude install mpd mpc"
mkfifo /tmp/mumble.fifo
su -c "nano /etc/mpd.conf"

En este archivo comentamos todos los audio_output que veamos y añadimos estas lineas para configurar un audio_output que dirija la salida de mpd a un archivo «/tmp/mumble.fifo» que luego usaremos con nuestro bot:

#fifo output
audio_output {
        type            "fifo"
        name            "My FIFO"
        path            "/tmp/mumble.fifo"
        format          "24000:16:2"
}

Ahora sólo queda meter música en /var/lib/mpd/music, hacer:

mpc ls | mpc add

Para agregar toda la música de ese directorio en una lista, y a reproducir!

Compartir

3 Comentarios

  1. En mi caso el proceso para hacerlo funcionar, en debian SID, ha sido:

    clonar el git
    
    chmod +x eve.rb
    
    apt-get install libopus-dev rubygems mumble ruby-dev
    
    git clone "https://github.com/perrym5/mumble-ruby"
    
    cd mumble-ruby 
    
    gem install mumble-ruby
    
    

    finalmente para lanzarlo:

    ./eve.rb –name bobylo –owner fanta –server elbinario.net –port 60601 –channel Recreo –key password

Deja una respuesta

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax