diff options
Diffstat (limited to '')
-rw-r--r-- | bc_funcs/misc.bc | 12 | ||||
-rw-r--r-- | bc_funcs/trig.bc | 98 | ||||
-rwxr-xr-x | bot.py | 6 | ||||
-rwxr-xr-x | cogs/utils.py | 123 |
4 files changed, 184 insertions, 55 deletions
diff --git a/bc_funcs/misc.bc b/bc_funcs/misc.bc new file mode 100644 index 0000000..a768397 --- /dev/null +++ b/bc_funcs/misc.bc @@ -0,0 +1,12 @@ +define void findseed() { + auto x, i, s + s = scale + scale = 0 + + for (i = 0; i < 12; i++) + if (rand() % 10 < 1) + x += 1 + + scale = s + print "Your seed is a ", x, " eye" +} diff --git a/bc_funcs/trig.bc b/bc_funcs/trig.bc new file mode 100644 index 0000000..9a4fcb3 --- /dev/null +++ b/bc_funcs/trig.bc @@ -0,0 +1,98 @@ +define sin(x) { + auto b, s, r, a, q, i + + if (x < 0) + return (-sin(-x)) + + b = ibase + ibase = A + s = scale + scale = 1.1 * s + 2 + a = atan(1) + scale = 0 + q = (x / a + 2) / 4 + x -= 4 * q * a + + if (q % 2) + x = -x + + scale = s + 2 + r = a = x + q = -x * x + + for (i = 3; a; i += 2) { + a *= q / (i * (i - 1)) + r += a + } + + scale = s + ibase = b + return (r / 1) +} + +define cos(x) { + auto b, s + b = ibase + ibase = A + s = scale + scale *= 1.2 + x = sin(2 * atan(1) + x) + scale = s + ibase = b + + return (x / 1) +} + +define atan(x) { + auto b, s, r, n, a, m, t, f, i, u + b = ibase + ibase = A + n = 1 + + if (x < 0) { + n = -1 + x = -x + } + + if (scale < 65) { + if (x == 1) { + r = .7853981633974483096156608458198757210492923498437764552437361480/n + ibase = b + return (r) + } + + if (x == .2) { + r = .1973955598498807583700497651947902934475851037878521015176889402/n + ibase = b + return (r) + } + } + + s = scale + + if (x > .2) { + scale += 5 + a = atan(.2) + } + + scale = s + 3 + + while (x > .2) { + m += 1 + x = (x - .2) / (1 + .2 * x) + } + + r = u = x + f = -x * x + t = 1 + + for (i = 3; t; i += 2) { + u *= f + t = u / i + r += t + } + + scale = s + ibase = b + return ((m * a + r) / n) +} @@ -10,7 +10,7 @@ extensions = [ "cogs.utils", "cogs.admin", "cogs.src", - #"cogs.trans", + # "cogs.trans", "cogs.player", "cogs.general", # "cogs.webserver", @@ -76,7 +76,9 @@ class BedrockBot(commands.Bot): for extension in extensions: self.load_extension(extension) - self.logger.warning(f"Online: {self.user} (ID: {self.user.id}) (Discord.py: {discord.__version__})") + self.logger.warning( + f"Online: {self.user} (ID: {self.user.id}) (Discord.py: {discord.__version__})" + ) async def on_message(self, message): diff --git a/cogs/utils.py b/cogs/utils.py index 5d347d5..67a29ee 100755 --- a/cogs/utils.py +++ b/cogs/utils.py @@ -2,6 +2,7 @@ import asyncio import datetime import functools import json +import subprocess from collections import namedtuple from datetime import timedelta from pytz import timezone, exceptions @@ -11,23 +12,24 @@ from random import choice, randint import discord from discord.ext import commands, tasks + # from PIL.Image import core as Image # import image as Image -from PIL import Image, ImageFilter -from selenium import webdriver -from selenium.webdriver.chrome.options import Options - - -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) +# from PIL import Image, ImageFilter +# from selenium import webdriver +# from selenium.webdriver.chrome.options import Options + + +# 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): @@ -46,44 +48,44 @@ async def reportStuff(self, ctx, message): 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, 1100) - 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") +# 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, 1100) +# 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): @@ -529,6 +531,21 @@ class Utils(commands.Cog): output = ", ".join([*commands]) await ctx.send(f"```List of custom commands:\n{output}```") +# @commands.command(aliases=["calc"]) +# async def math(self, ctx, *, eqn: str): +# try: +# # Allow for proper absolute value notation +# pipes = eqn.count("|") +# eqn = eqn.replace("|", "abs(", pipes // 2).replace("|", ")", pipes // 2) +# +# result = subprocess.check_output( +# f"echo 'scale = 10; {eqn}' | bc bc_funcs/*", shell=True +# ) +# await ctx.send(result.decode("utf-8").replace("\\\n", "").strip()) +# except subprocess.CalledProcessError as err: +# print(err) +# await ctx.send("Something went wrong") + @commands.command() async def retime(self, ctx, start_sec, end_sec, frames=0, framerate=30): """Retimes a run using the start/end timestamps, leftover frames, and framerate""" |