Compare commits
2 Commits
e1f1fedfdf
...
a3c818a963
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a3c818a963 | ||
|
|
be24384610 |
27
Music-Bot.py
27
Music-Bot.py
@@ -1,7 +1,6 @@
|
||||
import asyncio
|
||||
import re
|
||||
from datetime import timedelta
|
||||
from urllib.parse import quote_plus
|
||||
|
||||
import aiohttp
|
||||
import yt_dlp
|
||||
@@ -18,8 +17,8 @@ banner = """
|
||||
| | | | \__ \ | ( _____| | | ( | |
|
||||
_| _| \__,_| ____/ _| \___| ____/ \___/ \__|
|
||||
"""
|
||||
version = "0.1"
|
||||
branch = "dev"
|
||||
version = "0.2"
|
||||
branch = "main"
|
||||
success = "**Success ✅**\n"
|
||||
warning = "**Warning ℹ️**\n"
|
||||
error = "**Error ❗️**\n"
|
||||
@@ -94,24 +93,10 @@ else:
|
||||
async with aiohttp.ClientSession() as client:
|
||||
async with client.get("https://www.youtube.com/results", params=p, headers=h) as resp:
|
||||
dom = await resp.text()
|
||||
open("yt_debug.html", "w").write(dom)
|
||||
found = re.findall(r"watch\?v=(\S{11})", dom)[0]
|
||||
url = f"https://www.youtube.com/watch?v={found}"
|
||||
return url
|
||||
|
||||
async def soundcloud_search(search: str):
|
||||
p = {"search_query": search}
|
||||
# Spoof a user agent header or the request will immediately fail
|
||||
h = {"User-Agent": "Mozilla/5.0"}
|
||||
async with aiohttp.ClientSession() as client:
|
||||
async with client.get("https://soundcloud.com/search", params=p, headers=h) as resp:
|
||||
dom = await resp.text()
|
||||
open("sc_debug.html", "w").write(dom)
|
||||
found = re.findall(r"(\S{11})", dom)[0]
|
||||
url = f"https://soundcloud.com/{found}"
|
||||
print(url)
|
||||
return url
|
||||
|
||||
|
||||
intents = discord.Intents.default()
|
||||
intents.message_content = True
|
||||
@@ -229,7 +214,7 @@ else:
|
||||
await ctx.voice_client.disconnect(force=True)
|
||||
|
||||
|
||||
@bot.slash_command()
|
||||
@bot.slash_command(name="youtube", description="Searches YouTube for a given string and plays the first result")
|
||||
async def youtube(ctx, *, search: str):
|
||||
url = await youtube_search(search=search)
|
||||
async with ctx.typing():
|
||||
@@ -245,12 +230,6 @@ else:
|
||||
await ctx.send(f"{success}Now playing: `{player.title}`\nRequested by {ctx.author.mention}")
|
||||
|
||||
|
||||
@bot.slash_command()
|
||||
async def soundcloud(ctx, *, search: str):
|
||||
url = await soundcloud_search(search=search)
|
||||
await ctx.respond(url)
|
||||
|
||||
|
||||
@play.before_invoke
|
||||
@stream.before_invoke
|
||||
@youtube.before_invoke
|
||||
|
||||
Reference in New Issue
Block a user