From 9157fa8b4973a6c303ce5cdc45fecada8b743b1c Mon Sep 17 00:00:00 2001
From: loicbersier <loic.bersier1@gmail.com>
Date: Sun, 14 Oct 2018 18:40:40 +0200
Subject: [PATCH]

---
 commands/fun/idubbbz.js  |  5 +----
 commands/fun/painting.js | 38 +++++++++++++++++++++++++++-----------
 2 files changed, 28 insertions(+), 15 deletions(-)

diff --git a/commands/fun/idubbbz.js b/commands/fun/idubbbz.js
index 190538c4..3e835561 100644
--- a/commands/fun/idubbbz.js
+++ b/commands/fun/idubbbz.js
@@ -54,13 +54,10 @@ module.exports = class idubbbzCommand extends Command {
         const bg = await loadImage(buffer);
         ctx.drawImage(bg, 0, 0, canvas.width, canvas.height);
         ctx.font = applyText(canvas, test)
-        //ctx.font = '40px sans-serif';
-    // Select the style that will be used to fill the text in
         ctx.fillStyle = '#000000';
-    // Actually fill the text with a solid color
         ctx.fillText(test, canvas.width / 2.1, canvas.height / 1.5);
 
-        const attachment = new Discord.Attachment(canvas.toBuffer(), 'test.png');
+        const attachment = new Discord.Attachment(canvas.toBuffer(), 'edups.png');
 
         message.say(attachment);
 
diff --git a/commands/fun/painting.js b/commands/fun/painting.js
index 747bb05f..be1ee110 100644
--- a/commands/fun/painting.js
+++ b/commands/fun/painting.js
@@ -12,6 +12,14 @@ module.exports = class idubbbzCommand extends Command {
             group: 'fun',
             memberName: 'painting',
             description: `Put the text you send in idubbbz piece of paper`,
+            args: [
+                {
+                    key: 'test',
+                    prompt: 'What do you the paper to say?',
+                    type: 'string',
+                    default: 'Perfection'
+                }
+            ]
         });
     }
 
@@ -24,24 +32,32 @@ module.exports = class idubbbzCommand extends Command {
             image = Attachment[0].url
 
             const canvas = createCanvas(1024, 544)
+            const applyText = (canvas, text) => {
+                const ctx = canvas.getContext('2d');
+            
+                // Declare a base size of the font
+                let fontSize = 100;
+            
+                do {
+                    // Assign the font to the context and decrement it so it can be measured again
+                    ctx.font = `${fontSize -= 10}px sans-serif`;
+                } while (ctx.measureText(text).width > 800 - 300);
+            
+                // Return the result to use in the actual canvas
+                return ctx.font;
+            };
 
         const ctx = canvas.getContext('2d')
         const background = await loadImage(image);
         ctx.drawImage(background, 140, 30, 400, 400);
-        const { body: buffer } = await superagent.get('https://image.noelshack.com/fichiers/2018/41/7/1539534719-untitled.png');
+        const { body: buffer } = await superagent.get('https://image.noelshack.com/fichiers/2018/41/7/1539533685-untitled.png');
         const bg = await loadImage(buffer);
         ctx.drawImage(bg, 0, 0, canvas.width, canvas.height);
+        ctx.font = applyText(canvas, test)
+        ctx.fillStyle = '#ffffff';
+        ctx.fillText(test, canvas.width / 3, canvas.height / 1.1);
 
-        // i keep this here in case i want to add text( i'il delete later if i dont need )
-
-        //ctx.font = applyText(canvas, test)
-        //ctx.font = '40px sans-serif';
-    // Select the style that will be used to fill the text in
-        //ctx.fillStyle = '#000000';
-    // Actually fill the text with a solid color
-        //ctx.fillText(test, canvas.width / 2.1, canvas.height / 1.5);
-
-        const attachment = new Discord.Attachment(canvas.toBuffer(), 'test.png');
+        const attachment = new Discord.Attachment(canvas.toBuffer(), 'edupspaint.png');
 
         message.say(attachment);