diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..c98ac6922875de729f31e4657df5d0e947831df2
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+*.png
+*.ttf
+.env
diff --git a/adacher.py b/adacher.py
index 3ab5112ed0d2b588688ee112a2061544198d910c..49bbca572395aa2f9c130f501f8005a43ee00809 100755
--- a/adacher.py
+++ b/adacher.py
@@ -13,14 +13,14 @@ parser = argparse.ArgumentParser(
         description='Generate beautiful adachers')
 
 parser.add_argument('text')
-parser.add_argument('--imgBase', type=str, default="/home/elliu/Nextcloud/Adachi_white.png")
+parser.add_argument('--imgBase', type=str, default="adachi_white.png")
 parser.add_argument('--nobox', action='store_true', default=False)
 parser.add_argument('--nowrap', action='store_true', default=False)
 parser.add_argument('--boxtop', type=float, default=0.65)
 parser.add_argument('--boxheight', type=float, default=0.20)
 parser.add_argument('--textVertMargin', type=int, default=5)
 parser.add_argument('--textHoriMargin', type=int, default=10)
-parser.add_argument('--fontPath', type=str, default="/home/elliu/Nextcloud/COMIC.TTF")
+parser.add_argument('--fontPath', type=str, default="comic.ttf")
 parser.add_argument('--textCol', type=str, default="ff0000")
 parser.add_argument('--boxCol', type=str, default="ffffff")
 parser.add_argument('--align', type=str, default="center")
@@ -46,9 +46,10 @@ def growFontToBox(draw, fontPath, text, width, height, wrap=False):
         while fontRight-fontLeft < width and fontBottom-fontTop < height:
             # iterate until the text size is just larger than the criteria
             newSize += 1
-            font = ImageFont.truetype(fontPath, fontsize)
-            fontLeft, fontTop, fontRight, fontBottom = font.getbbox(args.text)
+            font = ImageFont.truetype(fontPath, newSize)
+            fontLeft, fontTop, fontRight, fontBottom = font.getbbox(text)
             newText = text
+        newSize -= 1
     else:
         newText = text
         while True:
@@ -113,7 +114,6 @@ draw.text((
     newText,
     textCol,
     font=font,
-    align=args.align
 )
 
-img.save('/tmp/sample-out.png')
+img.save('/tmp/adachi.png')
diff --git a/adacher_matrix.py b/adacher_matrix.py
new file mode 100755
index 0000000000000000000000000000000000000000..22a4563b25ed5a33c3531f20edd7bb483cf333fd
--- /dev/null
+++ b/adacher_matrix.py
@@ -0,0 +1,34 @@
+# echo.py
+# Example:
+# randomuser - "!echo example string"
+# echo_bot - "example string"
+
+import simplematrixbotlib as botlib
+import nio
+import random
+from dotenv import load_doatenv
+random.seed()
+
+load_doatenv()
+
+creds = botlib.Creds(os.getenv("ADACHER_HS"), os.getenv("ADACHER_USERNAME"), os.getenv("ADACHER_PASSWD"))
+bot = botlib.Bot(creds)
+PREFIX = '!adacher'
+
+@bot.listener.on_custom_event(nio.events.room_events.StickerEvent)
+async def echo(room, event):
+    match = botlib.MessageMatch(room, event, bot, PREFIX)
+    print(event.body)
+    if match.is_not_from_this_bot() and room.room_id=="!ifyNcwrVkKBFvJGDQU:hashi.re"):
+        content = {
+                "body": "yes",
+                "msgtype": "m.text",
+                "m.relates_to": {
+                    "m.in_reply_to": {
+                        "event_id": event.event_id
+                    }
+                }
+        }
+        await bot.async_client.room_send(room.room_id, 'm.room.message', content)
+
+bot.run()