dragon-bot/app/cogs/canvas_tools.py

130 lines
4.1 KiB
Python
Executable File

from discord.ext import commands
from discord import option
import core_utils
import discord
import random
import requests
import os
class Canvass(commands.Cog):
def __init__(self, bot):
self.bot: commands.Bot = bot
@commands.slash_command(
guild_ids=None,
name="simp",
description="Takes a URL and returns it embded in a simp card",
)
@option(
"url",
description="A URL of the image you want to use",
input_type="str",
required=True,
)
async def simp(self, ctx: commands.Context, url: str):
if not url:
return await ctx.send("You must provide a link to an image")
response = requests.get(
"https://some-random-api.ml/canvas/simpcard/?avatar=%s" % url
)
with open("/app/simp.jpg", "wb") as f:
f.write(response.content)
await ctx.defer()
await ctx.send_followup(file=discord.File("/app/simp.jpg"))
os.remove("/app/simp.jpg")
@commands.slash_command(
guild_ids=None,
name="horny",
description="Takes a URL and returns it embded in a license to be horny",
)
@option(
"url",
description="A URL of the image you want to use",
input_type="str",
required=True,
)
async def horny(self, ctx: commands.Context, url: str):
if not url:
return await ctx.send("You must provide a link to an image")
response = requests.get(
"https://some-random-api.ml/canvas/horny/?avatar=%s" % url
)
with open("/app/horny.jpg", "wb") as f:
f.write(response.content)
await ctx.defer()
await ctx.send_followup(file=discord.File("/app/horny.jpg"))
os.remove("/app/horny.jpg")
@commands.slash_command(
guild_ids=None,
name="wasted",
description="Takes a URL and returns it black and white with wasted text over it",
)
@option(
"url",
description="A URL of the image you want to use",
input_type="str",
required=True,
)
async def wasted(self, ctx: commands.Context, url: str):
if not url:
return await ctx.send("You must provide a link to an image")
response = requests.get(
"https://some-random-api.ml/canvas/wasted/?avatar=%s" % url
)
with open("/app/wasted.jpg", "wb") as f:
f.write(response.content)
await ctx.defer()
await ctx.send_followup(file=discord.File("/app/wasted.jpg"))
os.remove("/app/wasted.jpg")
@commands.slash_command(
guild_ids=None,
name="pixelate",
description="Takes a URL and returns it pixelated",
)
@option(
"url",
description="A URL of the image you want to use",
input_type="str",
required=True,
)
async def pixelate(self, ctx: commands.Context, url: str):
if not url:
return await ctx.send("You must provide a link to an image")
response = requests.get(
"https://some-random-api.ml/canvas/pixelate/?avatar=%s" % url
)
with open("/app/pixelate.jpg", "wb") as f:
f.write(response.content)
await ctx.defer()
await ctx.send_followup(file=discord.File("/app/pixelate.jpg"))
os.remove("/app/pixelate.jpg")
@commands.slash_command(
guild_ids=None, name="blur", description="Takes a URL and returns it blurry"
)
@option(
"url",
description="A URL of the image you want to use",
input_type="str",
required=True,
)
async def blur(self, ctx: commands.Context, url: str):
if not url:
return await ctx.send("You must provide a link to an image")
response = requests.get(
"https://some-random-api.ml/canvas/blur/?avatar=%s" % url
)
with open("/app/blur.jpg", "wb") as f:
f.write(response.content)
await ctx.defer()
await ctx.send_followup(file=discord.File("/app/blur.jpg"))
os.remove("/app/blur.jpg")
def setup(bot):
bot.add_cog(Canvass(bot))