music.py 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  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. [YouTube Link]({link})
  34. CC: [{user_name}](tg://user?id={user_id})''')
  35. os.remove(filename)