fixed anime gif library

This commit is contained in:
2025-11-15 18:20:10 +01:00
parent bf54e4982e
commit 675ff74bf9
7 changed files with 515 additions and 154 deletions

168
unused/music.py Normal file
View File

@@ -0,0 +1,168 @@
import discord
import wavelink
from discord.ext import commands
from discord.commands import SlashCommandGroup
import wavelink
from settings import (
EMBED_COLOR, GUILD_IDS, WAVELINK_URI, WAVELINK_PASSWORD, GUILD_NAME
)
from utils.logger.pype_logger import PypeLogger
class Music(commands.Cog):
def __init__(self, bot):
self.bot = bot
self._last_member = None
musica = SlashCommandGroup("musica", "Comandos de música", guild_ids=GUILD_IDS)
async def setup_hook(self) -> None:
# Wavelink 2.0 has made connecting Nodes easier... Simply create each Node
# and pass it to NodePool.connect with the client/bot.
node: wavelink.Node = wavelink.Node(uri=WAVELINK_URI, password=WAVELINK_PASSWORD, secure=False)
await wavelink.NodePool.connect(client=self.bot, nodes=[node])
PypeLogger.success(f"Se ha conectado a -> {node}")
@commands.Cog.listener()
async def on_ready(self):
await self.setup_hook()
@commands.Cog.listener()
async def on_wavelink_track_start(self, track: wavelink.TrackEventPayload):
await self.bot.change_presence(activity=discord.Activity(type=discord.ActivityType.listening, name=track.track.title))
@commands.Cog.listener()
async def on_wavelink_track_end(self, track: wavelink.TrackEventPayload):
await self.bot.change_presence(activity=discord.Activity(type=discord.ActivityType.watching, name=GUILD_NAME))
@musica.command(name="play", guild_ids=GUILD_IDS, description="Reproduce una canción")
async def play(self, ctx: commands.Context, *, cancion: str, sitio: str = "youtube") -> None:
if not ctx.voice_client:
vc: wavelink.Player = await ctx.author.voice.channel.connect(cls=wavelink.Player)
else:
vc: wavelink.Player = ctx.voice_client
if sitio == "spotify":
#decoded = spotify.decode_url(cancion)
#if not decoded or decoded['type'] is not spotify.SpotifySearchType.track:
# await ctx.send('Sólo se permiten urls de Spotify.')
# return
#track = await spotify.SpotifyTrack.search(cancion)
ctx.respond("Próximamente")
elif sitio == "youtube":
track = await wavelink.YouTubeTrack.search(cancion, return_first=True)
if not vc.is_playing():
await vc.play(track)
try:
await self.bot.user.edit(avatar=open("../resources/images/djpype.png", "rb").read())
except:
pass
embed = discord.Embed(title="▶️ Reproduciendo", description=track.title + " de " + track.author + " en " + sitio, color=EMBED_COLOR)
elif vc.is_playing():
cola: wavelink.BaseQueue = vc.auto_queue
vc.autoplay = True
await cola.put_wait(track)
embed = discord.Embed(title="🎶 Añadido a la cola", description=track.title + " de " + track.author + " en " + sitio, color=EMBED_COLOR)
if cola.is_empty:
embed = discord.Embed(title="▶️ Reproduciendo", description="La cola está vacía.", color=EMBED_COLOR)
await ctx.respond(embed=embed)
@musica.command(name="pause", guild_ids=GUILD_IDS, description="Pausa la canción")
async def pausa(self, ctx: commands.Context) -> None:
vc: wavelink.Player = ctx.voice_client
if vc.is_playing():
if vc.is_paused():
embed = discord.Embed(title="⏸️ Pausado", description="La canción ya está pausada.", color=EMBED_COLOR)
await vc.pause()
embed = discord.Embed(title="⏸️ Pausado", description="La canción ha sido pausada.", color=EMBED_COLOR)
await ctx.respond(embed=embed)
@musica.command(name="resume", guild_ids=GUILD_IDS, description="Reanuda la canción")
async def reanudar(self, ctx: commands.Context) -> None:
vc: wavelink.Player = ctx.voice_client
await vc.resume()
embed = discord.Embed(title="▶️ Reproduciendo", description="La canción ha sido reanudada.", color=EMBED_COLOR)
await ctx.respond(embed=embed)
@musica.command(name="stop", guild_ids=GUILD_IDS, description="Detiene la canción")
async def parar(self, ctx: commands.Context) -> None:
vc: wavelink.Player = ctx.voice_client
await vc.stop()
embed = discord.Embed(title="⏹️ Detenido", description="La canción ha sido detenida.", color=EMBED_COLOR)
await ctx.respond(embed=embed)
@musica.command(name="join", guild_ids=GUILD_IDS, description="Conecta al bot al canal de voz")
async def conectar(self, ctx: commands.Context) -> None:
if not ctx.voice_client:
await ctx.author.voice.channel.connect(cls=wavelink.Player)
else:
ctx.voice_client
embed = discord.Embed(title="🔊 Conectado", description="Me he conectado al canal de voz.", color=EMBED_COLOR)
await ctx.respond(embed=embed)
@musica.command(name="leave", guild_ids=GUILD_IDS, description="Desconecta al bot del canal de voz")
async def desconectar(self, ctx: commands.Context) -> None:
vc: wavelink.Player = ctx.voice_client
await vc.disconnect()
await self.bot.user.edit(avatar=open("../resources/images/pype.png", "rb").read())
await self.bot.change_presence(activity=discord.Activity(type=discord.ActivityType.watching, name="Concord"))
embed = discord.Embed(title="🔊 Desconectado", description="Me he desconectado del canal de voz.", color=EMBED_COLOR)
await ctx.respond(embed=embed)
@musica.command()
async def ahora(self, ctx: commands.Context) -> None:
vc: wavelink.Player = ctx.voice_client
track: wavelink.Track = vc.current
embed = discord.Embed(title="🎶 Canción actual", description=track.title + " de " + track.author, color=EMBED_COLOR)
await ctx.respond(embed=embed)
@musica.command(name="volume", guild_ids=GUILD_IDS, description="Cambia el volumen del bot")
async def volumen(self, ctx: commands.Context, volumen: int) -> None:
vc: wavelink.Player = ctx.voice_client
if volumen < 100:
await vc.set_volume(volumen)
embed = discord.Embed(title="🔊 Volumen", description="El volumen ha sido cambiado a " + str(volumen), color=EMBED_COLOR)
else:
embed = discord.Embed(title="🔊 Volumen", description="El volumen no puede ser mayor a 100.", color=EMBED_COLOR)
await ctx.respond(embed=embed)
@musica.command(name="loop", guild_ids=GUILD_IDS, description="Repite la canción o la cola")
async def bucle(self, ctx: commands.Context, *, bucle = "current") -> None:
vc: wavelink.Player = ctx.voice_client
if bucle == "current":
vc.queue.loop = True
embed = discord.Embed(title="🔁 Repetir", description="La canción se repetirá indefinidamente.", color=EMBED_COLOR)
elif bucle == "all":
vc.queue.loop_all = True
embed = discord.Embed(title="🔁 Repetir", description="La cola se repetirá indefinidamente.", color=EMBED_COLOR)
elif bucle == "off":
vc.queue.loop = False
vc.queue.loop_all = False
embed = discord.Embed(title="🔁 Repetir", description="La repetición ha sido desactivada.", color=EMBED_COLOR)
await ctx.respond(embed=embed)
@musica.command(name="seek", guild_ids=GUILD_IDS, description="Avanza la canción x segundos")
async def avanzar(self, ctx: commands.Context, segundos: int) -> None:
vc: wavelink.Player = ctx.voice_client
await vc.seek(segundos*1000)
embed = discord.Embed(title="⏩ Avanzar", description="Se han adelantado " + str(segundos) + "s.", color=EMBED_COLOR)
await ctx.respond(embed=embed)
@musica.command(name="queue", guild_ids=GUILD_IDS, description="Muestra la cola de canciones")
async def cola(self, ctx: commands.Context) -> None:
vc: wavelink.Player = ctx.voice_client
cola = vc.auto_queue
embed = discord.Embed(title="🎶 Cola", description="", color=EMBED_COLOR)
i = 1
for track in cola._queue:
embed.add_field(name=f"Canción nº{i}", value=f"{track.title} de {track.author}", inline = False)
i+=1
await ctx.respond(embed=embed)
@musica.command(name="skip", guild_ids=GUILD_IDS, description="Salta a la siguiente canción")
async def saltar(self, ctx: commands.Context) -> None:
vc: wavelink.Player = ctx.voice_client
await vc.play(vc.auto_queue.get())
embed = discord.Embed(title="⏭️ Saltar", description=f"Se ha saltado a la siguiente canción", color=EMBED_COLOR)
await ctx.respond(embed=embed)
def setup(bot):
bot.add_cog(Music(bot))

153
unused/nsfw.py Normal file
View File

@@ -0,0 +1,153 @@
import discord
from discord.ext import commands
from discord.commands import SlashCommandGroup
import hmtai
from settings import GUILD_IDS
class InteraccionNSFW(commands.Cog):
def __init__(self, bot):
self.bot = bot
self._last_member = None
nsfw = SlashCommandGroup("nsfw", "Comandos NSFW", guild_ids=GUILD_IDS)
@nsfw.command(name='creampie', guild_ids=GUILD_IDS, description="Lechita.")
async def creampie(self, ctx, *, miembro: discord.Member = None):
if ctx.channel.is_nsfw():
if miembro:
embed = discord.Embed(description=f"{ctx.author.mention} se vino en {miembro.mention} 😳", color=discord.Color.from_rgb(177,18,46))
else:
embed = discord.Embed(description=f"{ctx.author.mention} se vino 😳", color=discord.Color.from_rgb(177,18,46))
embed.set_image(url=hmtai.get("hmtai","creampie"))
await ctx.respond(embed=embed)
else:
await ctx.respond("*Debes usar el comando en un canal NSFW...*", ephemeral=True)
@nsfw.command(name='hentai', guild_ids=GUILD_IDS, description="Go to horny jail.")
async def hentai(self, ctx):
if ctx.channel.is_nsfw():
embed = discord.Embed(description="Disfruta 😳", color=discord.Color.from_rgb(177,18,46))
embed.set_image(url=hmtai.get("hmtai","classic"))
await ctx.respond(embed=embed)
else:
await ctx.respond("*Debes usar el comando en un canal NSFW...*", ephemeral=True)
@nsfw.command(name='anal', guild_ids=GUILD_IDS, description="Es la hora de dar por culo.")
async def anal(self, ctx, *, miembro: discord.Member):
if ctx.channel.is_nsfw():
embed = discord.Embed(description=f"{ctx.author.mention}: * le da por culo *\n {miembro.mention}: Man dao por culo Dios mío! Hola.", color=discord.Color.from_rgb(177,18,46))
embed.set_image(url=hmtai.get("hmtai","anal"))
await ctx.respond(embed=embed)
else:
await ctx.respond("*Debes usar el comando en un canal NSFW...*", ephemeral = True)
@nsfw.command(name='ass', guild_ids=GUILD_IDS, description="Culito, culito!")
async def ass(self, ctx):
if ctx.channel.is_nsfw():
embed = discord.Embed(description=f"{ctx.author.mention} toma culo!", color=discord.Color.from_rgb(177,18,46))
embed.set_image(url=hmtai.get("hmtai","ass"))
await ctx.respond(embed=embed)
else:
await ctx.respond("*Debes usar el comando en un canal NSFW...*", ephemeral = True)
@nsfw.command(name='bdsm', guild_ids=GUILD_IDS, description="Atar?")
async def bdsm(self, ctx,*,miembro: discord.Member = None):
if ctx.channel.is_nsfw():
if miembro:
embed = discord.Embed(description=f"{ctx.author.mention} le practicó el BDSM a {miembro.mention} 😳", color=discord.Color.from_rgb(177,18,46))
else:
embed = discord.Embed(description=f"A {ctx.author.mention} le gusta el BDSM!", color=discord.Color.from_rgb(177,18,46))
embed.set_image(url=hmtai.get("hmtai","bdsm"))
await ctx.respond(embed=embed)
else:
await ctx.respond("*Debes usar el comando en un canal NSFW...*", ephemeral=True)
@nsfw.command(name='doujin', guild_ids=GUILD_IDS, description="Página random de un doujinshi.")
async def doujin(self, ctx):
if ctx.channel.is_nsfw():
embed = discord.Embed(description=f"Aquí tienes tu página random de un doujin, {ctx.author.mention}.", color=discord.Color.from_rgb(177,18,46))
embed.set_image(url=hmtai.get("hmtai","manga"))
await ctx.respond(embed=embed)
else:
await ctx.respond("*Debes usar el comando en un canal NSFW...*", ephemeral=True)
@nsfw.command(name='fap', guild_ids=GUILD_IDS, description="Fap fap fap fap.")
async def fap(self, ctx, *, miembro: discord.Member = None):
if ctx.channel.is_nsfw():
if miembro:
embed = discord.Embed(description=f"{ctx.author.mention} hizo sentir rico a {miembro.mention} 😳", color=discord.Color.from_rgb(177,18,46))
else:
embed = discord.Embed(description=f"{ctx.author.mention} se tocó 😳", color=discord.Color.from_rgb(177,18,46))
embed.set_image(url=hmtai.get("hmtai","handjob"))
await ctx.respond(embed=embed)
else:
await ctx.respond("*Debes usar el comando en un canal NSFW...*", ephemeral=True)
@nsfw.command(name='ero', guild_ids=GUILD_IDS, description="Fucking pervert.")
async def ero(self, ctx):
if ctx.channel.is_nsfw():
embed = discord.Embed(description=f"Aquí tienes tu contenido ero, {ctx.author.mention}.", color=discord.Color.from_rgb(177,18,46))
embed.set_image(url=hmtai.get("hmtai","ero"))
await ctx.respond(embed=embed)
else:
await ctx.respond("*Debes usar el comando en un canal NSFW...*", ephemeral=True)
@nsfw.command(name='yuri', guild_ids=GUILD_IDS, description="Imagen yuri 🏳️‍🌈.")
async def yuri(self, ctx):
if ctx.channel.is_nsfw():
embed = discord.Embed(description=f"Aquí tienes tu contenido yuri, {ctx.author.mention}.", color=discord.Color.from_rgb(177,18,46))
embed.set_image(url=hmtai.get("hmtai","yuri"))
await ctx.respond(embed=embed)
else:
await ctx.respond("*Debes usar el comando en un canal NSFW...*", ephemeral=True)
@nsfw.command(name='blowjob', guild_ids=GUILD_IDS, description="* clk clk clk *")
async def blowjob(self, ctx, *, miembro: discord.Member = None):
if ctx.channel.is_nsfw():
if miembro:
embed = discord.Embed(description=f"{ctx.author.mention} * clk clk clk * {miembro.mention} 😳", color=discord.Color.from_rgb(177,18,46))
else:
embed = discord.Embed(description=f"{ctx.author.mention} realizó la AutoM", color=discord.Color.from_rgb(177,18,46))
embed.set_image(url=hmtai.get("hmtai","blowjob"))
await ctx.respond(embed=embed)
else:
await ctx.respond("*Debes usar el comando en un canal NSFW...*", ephemeral=True)
@nsfw.command(name='boobs', guild_ids=GUILD_IDS, description="tetas tetitas tetazas tetotas tetarracas.")
async def boobs(self, ctx):
if ctx.channel.is_nsfw():
embed = discord.Embed(description=f"Aquí tienes tus tetas tetarracas, {ctx.author.mention}.", color=discord.Color.from_rgb(177,18,46))
embed.set_image(url=hmtai.get("hmtai","boobs"))
await ctx.respond(embed=embed)
else:
await ctx.respond("*Debes usar el comando en un canal NSFW...*", ephemeral=True)
@nsfw.command(name='pussy', guild_ids=GUILD_IDS, description="Es temporada de recogida de higos.")
async def pussy(self, ctx):
if ctx.channel.is_nsfw():
embed = discord.Embed(description=f"{ctx.author.mention} recogió un higo.", color=discord.Color.from_rgb(177,18,46))
embed.set_image(url=hmtai.get("hmtai","pussy"))
await ctx.respond(embed=embed)
else:
await ctx.respond("*Debes usar el comando en un canal NSFW...*", ephemeral=True)
@nsfw.command(name='boobjob', guild_ids=GUILD_IDS, description="Tetas tetarracas + * clk clk clk *")
async def boobjob(self, ctx,*,miembro: discord.Member):
if ctx.channel.is_nsfw():
embed = discord.Embed(description=f"{ctx.author.mention} le hizo una boobjob a {miembro.mention}", color=discord.Color.from_rgb(177,18,46))
embed.set_image(url=hmtai.get("hmtai","boobjob"))
await ctx.respond(embed=embed)
else:
await ctx.respond("*Debes usar el comando en un canal NSFW...*", ephemeral=True)
@nsfw.command(name='gangbang', guild_ids=GUILD_IDS, description="Muchas tuneladoras para un sólo túnel.")
async def gangbang(self, ctx, *, abusador_1: discord.Member, abusador_2: discord.Member, abusador_3: discord.Member, victima: discord.Member):
if ctx.channel.is_nsfw():
embed = discord.Embed(description=f"{ctx.author.mention} & {abusador_1.mention},{abusador_2.mention},{abusador_3.mention} taladraron a {victima.mention} 😳", color=discord.Color.from_rgb(177,18,46))
embed.set_image(url=hmtai.get("hmtai","gangbang"))
await ctx.respond(embed=embed)
else:
await ctx.respond("*Debes usar el comando en un canal NSFW...*", ephemeral=True)
def setup(bot):
bot.add_cog(InteraccionNSFW(bot))

57
unused/verification.py Normal file
View File

@@ -0,0 +1,57 @@
from discord.ext import commands
from discord.commands import SlashCommandGroup
from settings import (
GUILD_IDS, VERIFICATION_CHANNEL_ID, VERIFIED_ROLE_ID, UNVERIFIED_ROLE_ID, SUPPORT_ROLE_ID
)
import asyncio
class Verification(commands.Cog):
def __init__(self, bot):
self.bot = bot
self._last_member = None
verification = SlashCommandGroup("verification", "Verify through the bot", guild_ids=GUILD_IDS)
@verification.command(name="verify", guild_ids=GUILD_IDS, description="Verify yourself in the server using a command.")
async def verificar(self, ctx):
if ctx.channel.id == VERIFICATION_CHANNEL_ID:
verified = ctx.guild.get_role(VERIFIED_ROLE_ID)
unverified = ctx.guild.get_role(UNVERIFIED_ROLE_ID)
support_role = ctx.guild.get_role(SUPPORT_ROLE_ID)
if verified not in ctx.author.roles:
await ctx.author.add_roles(unverified)
await ctx.send(f"{ctx.author.mention}, please specify your origin (CurseForge/SpigotMC) or enter the secret code to get verified.")
try:
# Esperar la respuesta del usuario en el mismo canal
response = await self.bot.wait_for(
"message",
check=lambda message: message.author == ctx.author and message.channel == ctx.channel,
timeout=120 # Puedes ajustar el tiempo límite según tus necesidades
)
# Verificar la respuesta del usuario
if "CurseForge" in response.content or "SpigotMC" in response.content:
await ctx.author.add_roles(support_role)
await ctx.author.remove_roles(unverified)
await ctx.send(f"{ctx.author.mention} has been verified from CurseForge or SpigotMC!")
await ctx.channel.purge(limit=100)
elif "cHV0b3RvbnRvWEQ=" in response.content:
await ctx.author.add_roles(verified)
await ctx.author.remove_roles(unverified)
await ctx.send(f"{ctx.author.mention} has been verified using the secret code!")
await ctx.channel.purge(limit=100)
else:
await ctx.respond("Invalid response. Please specify CurseForge/SpigotMC or the secret code.", ephemeral=True)
except asyncio.TimeoutError:
await ctx.respond("Verification process timed out. Please run the command again.", ephemeral=True)
else:
await ctx.respond("You are already verified.", ephemeral=True)
else:
await ctx.respond(f"You can only verify in <#{VERIFICATION_CHANNEL_ID}>.", ephemeral=True)
def setup(bot):
bot.add_cog(Verification(bot))