diff options
Diffstat (limited to 'cogs/utils.py')
-rwxr-xr-x | cogs/utils.py | 271 |
1 files changed, 0 insertions, 271 deletions
diff --git a/cogs/utils.py b/cogs/utils.py deleted file mode 100755 index 6f2f0c5..0000000 --- a/cogs/utils.py +++ /dev/null @@ -1,271 +0,0 @@ -from discord.ext import commands -from discord.ext import tasks -import discord -import json -import datetime -# forgot to import this and ended up looking mentally unstable -# troll literally pointed out atleast 4 things I did wrong in 3 lines of code -from random import choice -from random import randint -from datetime import timedelta -from selenium import webdriver -from selenium.webdriver.chrome.options import Options -#from PIL.Image import core as Image -#import image as Image -from PIL import Image -from PIL import ImageFilter -import functools - -def set_viewport_size(driver, width, height): - window_size = driver.execute_script(""" - return [window.outerWidth - window.innerWidth + arguments[0], - window.outerHeight - window.innerHeight + arguments[1]]; - """, width, height) - driver.set_window_size(*window_size) - -async def reportStuff(self, ctx, message): - channel = self.bot.get_channel(int(self.bot.config[str(ctx.message.guild.id)]["report_channel"])) - - embed = discord.Embed( - title=f"Report from {ctx.message.author}", - description=f"{message}", - color=ctx.message.author.color, timestamp=ctx.message.created_at) - - await channel.send(embed=embed) - await ctx.author.send("Report has been submitted") - -def save_leaderboard(): - DRIVER = '/usr/lib/chromium-browser/chromedriver' - chrome_options = Options() - chrome_options.add_argument("--disable-dev-shm-usage") - chrome_options.add_argument("--headless") - chrome_options.add_argument("--no-sandbox") - chrome_options.add_argument("--disable-gpu") - #chrome_options.binary_location = "" - driver = webdriver.Chrome(DRIVER, chrome_options=chrome_options) - set_viewport_size(driver, 1000, 1000) - driver.get('https://aninternettroll.github.io/mcbeVerifierLeaderboard/') - screenshot = driver.find_element_by_id('table').screenshot('leaderboard.png') - driver.quit() - #transparency time - img = Image.open('leaderboard.png') - img = img.convert("RGB") - pallette = Image.open("palette.png") - pallette = pallette.convert("P") - img = img.quantize(colors=256, method=3, kmeans=0, palette=pallette) - img = img.convert("RGBA") - datas = img.getdata() - - newData = [] - for item in datas: - if item[0] == 255 and item[1] == 255 and item[2] == 255: - newData.append((255, 255, 255, 0)) - else: - newData.append(item) - - img.putdata(newData) - """ - img = img.filter(ImageFilter.SHARPEN) - img = img.filter(ImageFilter.SHARPEN) - img = img.filter(ImageFilter.SHARPEN) - """ - #height, width = img.size - #img = img.resize((height*10,width*10), resample=Image.BOX) - img.save("leaderboard.png", "PNG") - -class Utils(commands.Cog): - - def __init__(self, bot): - self.bot = bot - self.tries = 1 - - @commands.command(description="Pong!", help="Tells the ping of the bot to the discord servers", brief="Tells the ping") - async def ping(self, ctx): - await ctx.send(f'Pong! {round(self.bot.latency*1000)}ms') - - @commands.cooldown(1, 25, commands.BucketType.guild) - @commands.command() - async def findseed(self, ctx): - """Test yout luck""" - if ctx.message.channel.id != int(self.bot.config[str(ctx.message.guild.id)]["bot_channel"]): - await ctx.message.delete() - ctx.command.reset_cooldown(ctx) - return - - # Don't ask - rigged_findseed = { - 280428276810383370: 12, # Thomas's User ID - 199070670221475842: -1, # Kai's User ID - 615658069132836865: -12 # What a fraud! They didn't use their real name. - } - - if ctx.author.id in rigged_findseed: - totalEyes = rigged_findseed[ctx.author.id] - else: - totalEyes = 0 - for i in range(12): - randomness = randint(1, 10) - if randomness <= 1: - totalEyes += 1 - await ctx.send(f"{discord.utils.escape_mentions(ctx.message.author.display_name)} -> your seed is a {totalEyes} eye") - - @findseed.error - async def findseed_handler(self,ctx,error): - if isinstance(error, commands.CommandOnCooldown): - if ctx.message.channel.id != int(self.bot.config[str(ctx.message.guild.id)]["bot_channel"]): - ctx.command.reset_cooldown(ctx) - await ctx.message.delete() - return - else: - await ctx.send(error) - #await ctx.send(f"{discord.utils.escape_mentions(ctx.message.author.display_name)}, you have to wait {round(error.retry_after, 7)} seconds before using this again.") - - @commands.command() - async def findsleep(self, ctx): - """Test your sleep""" - if ctx.message.channel.id != int(self.bot.config[str(ctx.message.guild.id)]["bot_channel"]): - await ctx.message.delete() - return - - # DON'T ASK! - lessSleepMsg = [ - "gn, insomniac!", - "counting sheep didn't work? try counting chloroform vials!", - "try a glass of water", - "some decaf coffee might do the trick!" - ] - - moreSleepMsg = [ - "waaakeee uuuppp!", - "are they dead or asleep? I can't tell.", - "wake up, muffin head", - "psst... coffeeee \\:D" - ] - - # Optional TODO: Create non-normal distribution - sleepHrs = randint(0, 24) - - # Add extra comment based on number of sleepHrs - if sleepHrs == 0: - await ctx.send(f"{discord.utils.escape_mentions(ctx.message.author.display_name)} -> your sleep is 0 hours long - nice try \:D") - elif sleepHrs <= 5: - if sleepHrs == 1: - s = '' - else: - s = 's' - await ctx.send(f"{discord.utils.escape_mentions(ctx.message.author.display_name)} -> your sleep is {sleepHrs} hour{s} long - {lessSleepMsg[randint(0, len(lessSleepMsg) - 1)]}") - else: - await ctx.send(f"{discord.utils.escape_mentions(ctx.message.author.display_name)} -> your sleep is {sleepHrs} hours long - {moreSleepMsg[randint(0, len(moreSleepMsg) - 1)]}") - - @commands.Cog.listener() - async def on_member_join(self, member): - if member.id == 640933433215811634: - await member.edit(nick="JoetheSheepFucker") - def check(msg): - return msg.author == member and msg.type != discord.MessageType.new_member - msg = await self.bot.wait_for("message", check=check, timeout=300) - await msg.channel.send("<:PeepoPog:732172337956257872>") - - @commands.Cog.listener() - async def on_member_update(self, before, after): - if after.id == 640933433215811634: - await after.edit(nick="JoetheSheepFucker") - - @commands.Cog.listener() - async def on_message(self, message): - if not message.guild: - return - if message.channel.id != int(self.bot.config[str(message.guild.id)]["fair_channel"]): - return - if message.author.bot: - return - badWords = ["fair", "f a i r", "ⓕⓐⓘⓡ", "ⓕ ⓐ ⓘ ⓡ"] - count = 0 - - coolKids = [ - ['Cameron', self.bot.get_user(468262902969663488), datetime.date(2020, 10, 8)], - ['Indy', self.bot.get_user(274923326890311691), datetime.date(2020, 9, 10)], - ['Kai', self.bot.get_user(199070670221475842), datetime.date(2020, 11, 20)], - ['Luca', self.bot.get_user(99457716614885376), datetime.date(2020, 11, 5)], - ['Max', self.bot.get_user(543958509243596800), datetime.date(2020, 11, 10)], - ['Mistaken', self.bot.get_user(264121998173536256), datetime.date(2020, 7, 6)], - ['Murray', self.bot.get_user(400344183333847060), datetime.date(2020, 11, 10)], - ['RKREE', self.bot.get_user(395872198323077121), datetime.date(2020, 11, 5)], - # idk if she goes by her irl name but I'm sticking with it for the sake of uniformity - # also idk how to pronounce prakxo - ['Samantha', self.bot.get_user(226312219787264000), datetime.date(2020, 6, 24)], - ['Scott', self.bot.get_user(223937483774230528), datetime.date(2020, 6, 23)], - ['Sky', self.bot.get_user(329538915805691905), datetime.date(2020, 6, 24)], - ['Thomas', self.bot.get_user(280428276810383370), datetime.date(2020, 9, 29)] - ] - - - for coolKid in coolKids: - if datetime.date.today() == coolKid[2]: - try: - for i in range(self.tries): - await coolKid[1].send(f'Happy Birthday {coolKid[0]}! You\'re a boomer now! :mango:') - self.tries = 1 - except: - self.tries +=1 - - for word in badWords: - if word in message.content.lower(): - count += 1; - fair = 'Fair '*count - await message.channel.send(fair) - - @commands.cooldown(1, 60, commands.BucketType.member) - @commands.command() - async def report(self, ctx, *, message=None): - """Send a message to the super mods about anything""" - if ctx.message.guild != None: - await ctx.message.delete() - if message == None: - await ctx.message.author.send("Please type a report to report (hehe, sounds funny)") - else: - await reportStuff(self, ctx, message) - - @commands.cooldown(1, 20, commands.BucketType.member) - @commands.command() - async def leaderboard(self, ctx): - """Leaderboard of the people that matter""" - async with ctx.typing(): - try: - lbFunc = functools.partial(save_leaderboard) - await self.bot.loop.run_in_executor(None, lbFunc) - await ctx.send(file=discord.File("leaderboard.png")) - except: - await ctx.send("https://aninternettroll.github.io/mcbeVerifierLeaderboard/") - - @leaderboard.error - async def leaderboard_handler(self,ctx,error): - if isinstance(error, commands.CommandOnCooldown): - #return - await ctx.send(f"{discord.utils.escape_mentions(ctx.message.author.display_name)}, you have to wait {round(error.retry_after, 2)} seconds before using this again.") - - @commands.cooldown(1, 60, commands.BucketType.guild) - @commands.command() - async def someone(self, ctx): - """Discord's mistake""" - if ctx.channel.id != int(self.bot.config[str(ctx.message.guild.id)]["fair_channel"]): - await ctx.send(choice(ctx.guild.members).mention) - - @commands.command() - async def roll(self, ctx, pool): - """Toll the dice""" - await ctx.send(f"You rolled a {randint(0, int(pool))}") - - @commands.command(aliases=['commands', 'allcommands']) - async def listcommands(self, ctx): - """List all custom commands""" - with open('custom_commands.json', 'r') as f: - commands = json.load(f) - output = '```List of custom commands:\n' - for key in commands: - output += f'{key}, ' - output += '```' - await ctx.send(output) - -def setup(bot): - bot.add_cog(Utils(bot)) |