47 lines
1.7 KiB
Python
47 lines
1.7 KiB
Python
#dummy module
|
|
import asyncio
|
|
import fractale.source.main
|
|
import random
|
|
import discord
|
|
from PIL import Image
|
|
class MainClass():
|
|
def __init__(self, client, modules, owners, prefix):
|
|
self.client = client
|
|
self.modules = modules
|
|
self.owners = owners
|
|
self.prefix = prefix
|
|
self.events=['on_message'] #events list
|
|
self.command="%sfractale"%self.prefix #command prefix (can be empty to catch every single messages)
|
|
|
|
self.name="Fractale"
|
|
self.description="Module de génération de fractales"
|
|
self.interactive=True
|
|
self.color=0x78ffc3
|
|
self.help="""\
|
|
</prefix>fractale [fractale] [nombre d'itérations]
|
|
=> Génère une image fractale. (Si on met le nombre d'itérations, on doit mettre le nom de la fractale.)
|
|
|
|
[fractale]
|
|
...: von_koch
|
|
...: blanc_manger
|
|
"""
|
|
async def on_message(self, message):
|
|
args=message.content.split(" ")
|
|
tmpstr="/tmp/%s.png"%random.randint(1,10000000)
|
|
im=Image.new('RGB', (5000, 5000), (0, 0, 0))
|
|
fig = fractale.source.main.Figures(im=im)
|
|
if len(args)==1 :
|
|
fig.von_koch_curve_flake((2500, 2500), 2000, 5)
|
|
elif args[1].lower()=="blanc_manger" :
|
|
iterations=7
|
|
if len(args)>2 and int(args[2])<=20:
|
|
iterations=int(args[2])
|
|
fig.blanc_manger((1000, 1000), (4000, 4000), iterations)
|
|
elif args[1].lower()=="von_koch" :
|
|
iterations=5
|
|
if len(args)>2 and int(args[2])<=7:
|
|
iterations=int(args[2])
|
|
fig.von_koch_curve_flake((2500, 2500), 2000, iterations)
|
|
im.save(tmpstr)
|
|
await message.channel.send(file=discord.File(tmpstr))
|