aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author0ceanlight <imahacubak@gmail.com>2021-01-03 23:33:47 +0000
committer0ceanlight <imahacubak@gmail.com>2021-01-03 23:33:47 +0000
commit29c57f70097717c95d5e1656937701725e73a45a (patch)
treef4f6bda57732ab9537a87018d18caf2cb3062bfd
parent7ef50546a8938612ca8f3e208cabf6d9eac8017c (diff)
parentdebe83ad9d540927f92783a8032caf99fe4c5443 (diff)
downloadsteve-bot-29c57f70097717c95d5e1656937701725e73a45a.tar
steve-bot-29c57f70097717c95d5e1656937701725e73a45a.tar.gz
steve-bot-29c57f70097717c95d5e1656937701725e73a45a.tar.bz2
steve-bot-29c57f70097717c95d5e1656937701725e73a45a.tar.lz
steve-bot-29c57f70097717c95d5e1656937701725e73a45a.tar.xz
steve-bot-29c57f70097717c95d5e1656937701725e73a45a.tar.zst
steve-bot-29c57f70097717c95d5e1656937701725e73a45a.zip
Merge branch 'master' of https://github.com/MCBE-Speedrunning/Steve-Bot into fair
Diffstat (limited to '')
-rw-r--r--bc_funcs/misc.bc12
-rw-r--r--bc_funcs/trig.bc98
-rwxr-xr-xbot.py6
-rwxr-xr-xcogs/utils.py123
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)
+}
diff --git a/bot.py b/bot.py
index 74ca44b..44be5f3 100755
--- a/bot.py
+++ b/bot.py
@@ -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"""