music.py 1018 B

12345678910111213141516171819202122232425262728293031323334353637
  1. from __future__ import unicode_literals
  2. import youtube_dl
  3. from wbb.utils import cust_filter
  4. from pyrogram import filters
  5. from wbb import app, Command
  6. import os
  7. import glob
  8. ydl_opts = {
  9. 'format': 'bestaudio/best',
  10. 'postprocessors': [{
  11. 'key': 'FFmpegExtractAudio',
  12. 'preferredcodec': 'mp3',
  13. 'preferredquality': '192'
  14. }],
  15. 'postprocessor_args': [
  16. '-ar', '16000'
  17. ],
  18. 'prefer_ffmpeg': True,
  19. 'keepvideo': False
  20. }
  21. @app.on_message(cust_filter.command(commands=(["music"])))
  22. async def commit(client, message):
  23. user_id = message.from_user.id
  24. user_name = message.from_user.username
  25. app.set_parse_mode("markdown")
  26. await message.reply_chat_action("upload_audio")
  27. link = (message.text.split(None, 1)[1])
  28. with youtube_dl.YoutubeDL(ydl_opts) as ydl:
  29. ydl.download([link])
  30. for filename in glob.glob("*.mp3"):
  31. m = await message.reply_audio(filename)
  32. await m.edit_caption(f'''
  33. [Source]({link})''')
  34. os.remove(filename)