musicbot
unknown
python
2 years ago
3.6 kB
10
Indexable
def prestartPlayer(channel,playid,userid): global playing try: startPlayer(channel,playid,userid) except: PrintException() s = Save() print("REMOVIENDO LO QUE ESTA EN REPRODUCCION DE",channel.chatid) try: s.removeReproduciendo(channel.chatid) ram = psutil.virtual_memory().available/1048576 cpu = psutil.cpu_percent() if(ram < 200): try: s.updateInfo(instanceid,ram,2,cpu) except: pass activado = False else: activado = True s.updateInfo(instanceid,ram,1,cpu) except: PrintException() s.close() checkQueue(channel.chatid) playing -= 1 try: playLock.release() except Exception as e: pass # print(e) def startPlayer(channel,playid,userid): token = channel.token name = channel.name uid = channel.uid volume = channel.volume t = channel.type if(not playid.startswith('https://www3.animeflv.net/ver/') and playid.startswith('http') ): streams = [playid] killChat(channel.chatid) if(platform == 'win32'): args = [simplePlayer,name,token,str(uid),str(volume),str(t) ] + streams else: args = [simplePlayer,name,token,str(uid),str(volume),str(t) ] + streams proc = subprocess.Popen(args,stdout=subprocess.PIPE) data = proc.communicate()[0] else: if(playid.startswith('https://www3.animeflv.net/ver/')): filename = getanime(playid[25:]) streams = [filename] else: streams = getStreams(playid,t) filename = streams[0] killChat(channel.chatid) if(platform == 'win32'): args = [playerFile,name,token,str(uid),str(volume),playid,userid,str(t) ] + streams else: args = [playerFile,name,token,str(uid),str(volume),playid,userid,str(t) ] + streams print('iniciando player',args) waitState[channel.name] = threading.Event() proc = subprocess.Popen(args,stdout=subprocess.PIPE) waitState[channel.name].wait() t = threading.Thread(target=waitClose,args=(proc,)) t.daemon = True t.start() print('player iniciado') print('name',channel.name) conn = stateCon[channel.name] try: data = conn.recv(1024) except Exception as e: PrintException() os.remove(filename) return js = json.loads(data.decode('utf-8')) state = js['state'] if(state=='success'): js['comando'] = 'playing' js['chatid'] = channel.chatid print('sending playing command') r = json.dumps(js) print(r) sendToBot(r.encode('utf-8')) else: os.remove(filename) return try: print('ESPERANDO POR EL MENSAJE FINAL') state = json.loads(conn.recv(1024).decode('utf-8'))['state'] print('LLEGO EL MENSAJE FINAL',state) except Exception as e: print('NO LLEGO EL MENSAJE FINAL') print(e) state = 'ended' if(state == 'ended'): os.remove(filename) return killChat(channel.chatid) def play_audio(channel,playid): global activado token = channel.token name = channel.name uid = channel.uid volume = channel.volume t = channel.type streams = [playid] killChat(channel.chatid) args = [simplePlayer,name,token,str(uid),str(volume),"1" ] + streams print(args) proc = subprocess.Popen(args,stdout=subprocess.PIPE) data = proc.communicate()[0] killChat(channel.chatid) s = Save() print("REMOVIENDO LO QUE ESTA EN REPRODUCCION DE",channel.chatid) try: s.removeReproduciendo(channel.chatid) ram = psutil.virtual_memory().available/1048576 cpu = psutil.cpu_percent() if(ram < 200): try: s.updateInfo(instanceid,ram,2,cpu) except: pass activado = False else: activado = True s.updateInfo(instanceid,ram,1,cpu) except: PrintException() s.close() checkQueue(channel.chatid)
Editor is loading...