musicbot
unknown
python
3 years ago
3.6 kB
12
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...