mirror of https://github.com/stijndcl/didier
45 lines
1.4 KiB
Python
45 lines
1.4 KiB
Python
|
from decorators import help
|
||
|
import discord
|
||
|
from discord.ext import commands
|
||
|
from enums.help_categories import Category
|
||
|
from functions import checks
|
||
|
import requests
|
||
|
import urllib.parse
|
||
|
|
||
|
|
||
|
class QR(commands.Cog):
|
||
|
def __init__(self, client):
|
||
|
self.client = client
|
||
|
|
||
|
# Don't allow any commands to work when locked
|
||
|
def cog_check(self, ctx):
|
||
|
return not self.client.locked
|
||
|
|
||
|
@commands.command(name="QR", usage="[Tekst]")
|
||
|
@commands.check(checks.allowedChannels)
|
||
|
@help.Category(category=Category.Other)
|
||
|
async def QR(self, ctx, *link):
|
||
|
if len(link) != 1:
|
||
|
await ctx.send(file=discord.File("files/images/ngguuqr.png"))
|
||
|
await self.client.get_cog("Utils").removeMessage(ctx.message)
|
||
|
else:
|
||
|
self.generate("".join(link))
|
||
|
await ctx.send(file=discord.File("files/images/qrcode.png"))
|
||
|
self.remove()
|
||
|
await self.client.get_cog("Utils").removeMessage(ctx.message)
|
||
|
|
||
|
def generate(self, link):
|
||
|
fileContent = requests.get(
|
||
|
"https://image-charts.com/chart?chs=999x999&cht=qr&chl={}&choe=UTF-8&chof=.png".format(
|
||
|
urllib.parse.quote(link))).content
|
||
|
with open("files/images/qrcode.png", "wb+") as fp:
|
||
|
fp.write(fileContent)
|
||
|
|
||
|
def remove(self):
|
||
|
import os
|
||
|
os.remove("files/images/qrcode.png")
|
||
|
|
||
|
|
||
|
def setup(client):
|
||
|
client.add_cog(QR(client))
|