Compare commits

...

2 Commits

Author SHA1 Message Date
Lukas Blacha
a3c818a963 Changed version and branch (0.2, main) 2023-02-08 13:16:51 +01:00
Lukas Blacha
be24384610 Added Youtube Search-Command 2023-02-08 13:14:23 +01:00

View File

@@ -1,7 +1,6 @@
import asyncio import asyncio
import re import re
from datetime import timedelta from datetime import timedelta
from urllib.parse import quote_plus
import aiohttp import aiohttp
import yt_dlp import yt_dlp
@@ -18,8 +17,8 @@ banner = """
| | | | \__ \ | ( _____| | | ( | | | | | | \__ \ | ( _____| | | ( | |
_| _| \__,_| ____/ _| \___| ____/ \___/ \__| _| _| \__,_| ____/ _| \___| ____/ \___/ \__|
""" """
version = "0.1" version = "0.2"
branch = "dev" branch = "main"
success = "**Success ✅**\n" success = "**Success ✅**\n"
warning = "**Warning **\n" warning = "**Warning **\n"
error = "**Error ❗️**\n" error = "**Error ❗️**\n"
@@ -94,24 +93,10 @@ else:
async with aiohttp.ClientSession() as client: async with aiohttp.ClientSession() as client:
async with client.get("https://www.youtube.com/results", params=p, headers=h) as resp: async with client.get("https://www.youtube.com/results", params=p, headers=h) as resp:
dom = await resp.text() dom = await resp.text()
open("yt_debug.html", "w").write(dom)
found = re.findall(r"watch\?v=(\S{11})", dom)[0] found = re.findall(r"watch\?v=(\S{11})", dom)[0]
url = f"https://www.youtube.com/watch?v={found}" url = f"https://www.youtube.com/watch?v={found}"
return url 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 = discord.Intents.default()
intents.message_content = True intents.message_content = True
@@ -229,7 +214,7 @@ else:
await ctx.voice_client.disconnect(force=True) 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): async def youtube(ctx, *, search: str):
url = await youtube_search(search=search) url = await youtube_search(search=search)
async with ctx.typing(): async with ctx.typing():
@@ -245,12 +230,6 @@ else:
await ctx.send(f"{success}Now playing: `{player.title}`\nRequested by {ctx.author.mention}") 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 @play.before_invoke
@stream.before_invoke @stream.before_invoke
@youtube.before_invoke @youtube.before_invoke