From a67c5eb4d6e290e0ef59d7f376de6f2225e09f2d Mon Sep 17 00:00:00 2001 From: skins Date: Wed, 1 Sep 2021 21:09:01 +0100 Subject: [PATCH] Sarenrae: permanent storage of tokens --- sarenrae/sarenrae.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/sarenrae/sarenrae.py b/sarenrae/sarenrae.py index 4472c16..9d78ef7 100644 --- a/sarenrae/sarenrae.py +++ b/sarenrae/sarenrae.py @@ -1,16 +1,16 @@ -from redbot.core import commands +from redbot.core import commands, Config, checks import discord import requests -import htmlwebshot +import imgkit from PIL import Image, ImageOps import os -photographer = htmlwebshot.WebShot() +UID = 0x181eff7aacab91fa4051d1d995d44050 def image(name, html): - photographer.create_pic(html=html, output=f"{name}.png") - open_image = Image.open(f"{name}.png") + open_image = imgkit.from_string(html, False) + open_image = Image.open(open_image) image_box = ImageOps.invert(open_image.convert("RGB")).getbbox() open_image.crop(image_box).save(f"{name}_cropped.png") @@ -18,12 +18,16 @@ def image(name, html): class Sarenrae(commands.Cog): def __init__(self, bot): self.bot = bot - self.token = None + self.conf = Config.get_conf(self, identifier=UID, force_registration=True) + default_global = { + "pf2_token": "", + } + self.conf.register_global(**default_global) @commands.command() async def ancestry(self, ctx, *args): name = args[0] - headers = {"Authorization": self.token} + headers = {"Authorization": self.conf.pf2_token} req = requests.get(f"https://api.pathfinder2.fr/v1/pf2/ancestry?name={name}", headers=headers).json() html = req["results"][0]["data"]["description"]["value"] filename = f"ancestry-{name}" @@ -32,8 +36,8 @@ class Sarenrae(commands.Cog): os.remove(f"{filename}.png") os.remove(f"{filename}_cropped.png") - @commands.command() + @checks.is_owner() async def sarenrae_token(self, ctx, *args): - self.token = args[0] - return await ctx.send(f"Set token to {self.token}") + self.conf.pf2_token.set(args[0]) + return await ctx.send(f"Set token to {self.conf.pf2_token}")