#! /usr/bin/env python #-*- coding: iso-8859-1-*- #AUTOR: David Valdez #CORREO: david.valdez210arrobagmail.com #FECHA: 9 de febrero del 2006 #Modificacion: Rodrigo Garcia #Fecha: 26 de noviembre de 2005 #Correo: nibblesmx[arroba]gmail.com #rola.py:Este es un script para #xchat que lo unico que muestra #es el titulo de la cancion #de nuestro reproductor (xmms o beep-media-player) #Recuerda: #Debe de estar activado (en las preferencias del reproductor) el plugin #general llamado libsong_change con el #comando: echo "%s" > ~/.current_song version = "2.0" reproductor = "xmms" #Cambiar esto por Beep-Media-Player si quieres el Beep-Media-Player __module_name__ = "rola.py" __module_version__ = version __module_description__ = "script para ver la rola actual hecho en python y controlar el playlist" import os import xchat class Rola: def __init__(self): xchat.prnt("rola.py Version %s cargado!" % (version)) xchat.prnt("Los comandos para este script son:") xchat.prnt("/rola /next /prev /stop /play /pause /rolacurrent /rolasend") def rola(self, word, word_eol, userdata): archivo = open(os.environ['HOME']+ '/.current_song', 'r') cadena = archivo.read() archivo.close() xchat.command('me esta escuchando %s' % (cadena[cadena.find('|')+1:cadena.find('^')])) archivo.close() return xchat.EAT_XCHAT def current(self,word,word_eol, userdata): archivo = open(os.environ['HOME'] + '/.current_song','r') cadena = archivo.read() archivo.close xchat.command('me esta reproduciendo la rola numero %s de su playlist' % (cadena[:cadena.find('|')])) return xchat.EAT_XCHAT def send(self,word,word_eol,userdata): archivo = open(os.environ['HOME'] + '/.current_song','r') cadena = archivo.read() cadena2 = '"'+cadena[cadena.find('^')+2:-1]+'"' archivo.close() if len(word) < 2: print 'te falto poner a quien se lo vas a mandar ;-)' elif len(word) > 2: print 'solo un nick por vez' else: xchat.command('dcc send '+ word[1] + ' %s'% (cadena2) ) return xchat.EAT_XCHAT def __getattr__(self, accion): def accion(word, word_eol, userdata, _accion=accion): os.popen(reproductor + " --" + _accion) return xchat.EAT_ALL return accion control = Rola() xchat.hook_command("rola", control.rola) xchat.hook_command("rolacurrent",control.current) xchat.hook_command("next", control.fwd) xchat.hook_command("play", control.play) xchat.hook_command("stop", control.stop) xchat.hook_command("prev", control.rew) xchat.hook_command("pause", control.pause) xchat.hook_command("rolasend",control.send)