import os from urllib.parse import urlparse, parse_qs import discord DISCORD_TOKEN = os.getenv("DISCORD_TOKEN") DISCORD_CHANNEL = int(os.getenv("DISCORD_CHANNEL")) DISCORD_GUILD = int(os.getenv("DISCORD_GUILD")) class CustomClient(discord.Client): async def on_ready(self): print(f"{self.user} has connected to Discord!") async def on_message(self, message: discord.message.Message): if ( message.channel.id == DISCORD_CHANNEL and message.guild.id == DISCORD_GUILD and message.author.id != self.user.id ): url = urlparse(message.content) if "youtu" in url.hostname: if ( url.path.strip("/").startswith("shorts") and len(splitted := url.path.split("/")) >= 2 ): video_id = splitted[len(splitted) - 1] await message.reply( content=f"https://stream.purser.it/{video_id}?provider=youtube&direct=true" ) elif video := parse_qs(url.query).get("v"): if isinstance(video, str): await message.reply( content=f"https://stream.purser.it/{video}?provider=youtube&direct=true" ) elif isinstance(video, list): await message.reply( content=f"https://stream.purser.it/{video[0]}?provider=youtube&direct=true" ) else: video_id = url.path.strip("/") await message.reply( content=f"https://stream.purser.it/{video_id}?provider=youtube&direct=true" ) intents = discord.Intents.default() intents.message_content = True CustomClient(intents=intents).run(DISCORD_TOKEN)