From 4caec5aefa578be39894fd569c1a38b703e187f3 Mon Sep 17 00:00:00 2001 From: TheEssem Date: Wed, 9 Sep 2020 21:36:20 -0500 Subject: [PATCH] Fixed characters not being properly encoded, fixed images not being properly appended, more fixes --- commands/screenshot.js | 2 +- commands/userinfo.js | 2 +- messages.json | 3 ++- natives/caption.cc | 2 +- natives/caption2.cc | 1 + natives/mirror.cc | 1 + natives/motivate.cc | 1 + natives/tile.cc | 2 ++ natives/watermark.cc | 1 + package.json | 2 +- utils/image.js | 2 +- utils/screenshot/Dockerfile | 2 +- 12 files changed, 14 insertions(+), 7 deletions(-) diff --git a/commands/screenshot.js b/commands/screenshot.js index 77f0a8f..a33a0b3 100644 --- a/commands/screenshot.js +++ b/commands/screenshot.js @@ -5,7 +5,7 @@ const fetch = require("node-fetch"); exports.run = async (message, args) => { message.channel.sendTyping(); if (args.length === 0) return `${message.author.mention}, you need to provide a URL to screenshot!`; - const getEndpoint = await fetch(`http://${process.env.NODE_ENV === "development" ? "192.168.99.100" : "172.17.0.2"}:9222/json/version`); + const getEndpoint = await fetch("http://172.17.0.1:9222/json/version"); const endpoint = await getEndpoint.json(); const url = urlRegex.test(args[0]) ? args[0] : `http://${args[0]}`; const browser = await puppeteer.connect({ diff --git a/commands/userinfo.js b/commands/userinfo.js index 3aad682..24dfff4 100644 --- a/commands/userinfo.js +++ b/commands/userinfo.js @@ -46,7 +46,7 @@ exports.run = async (message, args) => { }, { "name": "ℹ️ **Status:**", - "value": member ? member.status : "Unknown" + "value": member && member.status ? member.status : "Unknown" }, { "name": "🎮 **Playing:**", diff --git a/messages.json b/messages.json index 0077e16..eaf54a3 100644 --- a/messages.json +++ b/messages.json @@ -112,5 +112,6 @@ "Troll", "ay yo the pizza here", "100 gecs", - "with limited resources" + "with limited resources", + "free bjs at papa johns" ] \ No newline at end of file diff --git a/natives/caption.cc b/natives/caption.cc index 6fdee6f..a5ff904 100644 --- a/natives/caption.cc +++ b/natives/caption.cc @@ -16,7 +16,6 @@ class CaptionWorker : public Napi::AsyncWorker { list coalesced; list captioned; list result; - Blob caption_blob; readImages(&frames, in_path); size_t width = frames.front().baseColumns(); @@ -39,6 +38,7 @@ class CaptionWorker : public Napi::AsyncWorker { images.push_back(caption_image); images.push_back(image); appendImages(&appended, images.begin(), images.end(), true); + appended.repage(); appended.magick(type); captioned.push_back(appended); } diff --git a/natives/caption2.cc b/natives/caption2.cc index ade0fec..5b52b7b 100644 --- a/natives/caption2.cc +++ b/natives/caption2.cc @@ -37,6 +37,7 @@ class CaptionTwoWorker : public Napi::AsyncWorker { images.push_back(image); images.push_back(caption_image); appendImages(&appended, images.begin(), images.end(), true); + appended.repage(); appended.magick(type); captioned.push_back(appended); } diff --git a/natives/mirror.cc b/natives/mirror.cc index 3cb6427..4553848 100644 --- a/natives/mirror.cc +++ b/natives/mirror.cc @@ -47,6 +47,7 @@ class MirrorWorker : public Napi::AsyncWorker { mirrored.push_front(mirror); } appendImages(&final, mirrored.begin(), mirrored.end(), vertical); + final.repage(); final.magick(type); mid.push_back(final); } diff --git a/natives/motivate.cc b/natives/motivate.cc index b95e1ec..6ff42de 100644 --- a/natives/motivate.cc +++ b/natives/motivate.cc @@ -54,6 +54,7 @@ class MotivateWorker : public Napi::AsyncWorker { to_append.push_back(top); if (bottom_text != "") to_append.push_back(bottom); appendImages(&final, to_append.begin(), to_append.end(), true); + final.repage(); final.magick(type); mid.push_back(final); } diff --git a/natives/tile.cc b/natives/tile.cc index aea53b5..b8623ff 100644 --- a/natives/tile.cc +++ b/natives/tile.cc @@ -29,10 +29,12 @@ class TileWorker : public Napi::AsyncWorker { duplicated.push_back(image); } appendImages(&appended, duplicated.begin(), duplicated.end()); + appended.repage(); for (int i = 0; i < 5; ++i) { montage.push_back(appended); } appendImages(&frame, montage.begin(), montage.end(), true); + frame.repage(); frame.scale(Geometry("800x800>")); mid.push_back(frame); } diff --git a/natives/watermark.cc b/natives/watermark.cc index befe5ec..2db7358 100644 --- a/natives/watermark.cc +++ b/natives/watermark.cc @@ -36,6 +36,7 @@ class WatermarkWorker : public Napi::AsyncWorker { to_append.push_back(image); to_append.push_back(watermark); appendImages(&final, to_append.begin(), to_append.end(), true); + final.repage(); } else if (mc) { image.backgroundColor("white"); image.extent(Geometry(image.columns(), image.rows() + 15)); diff --git a/package.json b/package.json index 55e38f3..d3491e0 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "scripts": { "build": "node-gyp configure build", "docker:build": "docker build -t headless-chrome-alpine --no-cache ./utils/screenshot", - "docker:run-ss": "docker run --rm --shm-size=128m headless-chrome-alpine", + "docker:run-ss": "docker run --rm --network=host --shm-size=128m headless-chrome-alpine", "docker:run-lava": "docker run --rm --network host -v \"$(pwd)\"/application.yml:/opt/Lavalink/application.yml -v \"$(pwd)\"/assets:/opt/Lavalink/assets fredboat/lavalink:dev" }, "author": "Essem ", diff --git a/utils/image.js b/utils/image.js index 3df6d4b..fa9d551 100644 --- a/utils/image.js +++ b/utils/image.js @@ -8,7 +8,7 @@ module.exports = async (object, fromAPI = false) => { if (process.env.API === "true" && !fromAPI) { const params = []; for (const element of Object.keys(object)) { - params.push(`${element}=${object[element]}`); + params.push(`${element}=${encodeURIComponent(object[element])}`); } const form = new FormData(); form.append("image", fs.createReadStream(object.path)); diff --git a/utils/screenshot/Dockerfile b/utils/screenshot/Dockerfile index 92d0fb5..61b0ee2 100644 --- a/utils/screenshot/Dockerfile +++ b/utils/screenshot/Dockerfile @@ -4,7 +4,7 @@ FROM alpine:edge -RUN apk --no-cache upgrade && apk add --no-cache chromium squid sudo libstdc++ harfbuzz nss freetype ttf-freefont wqy-zenhei zlib-dev wait4ports dbus chromium-chromedriver grep +RUN apk --no-cache upgrade && apk add --no-cache chromium squid sudo libstdc++ harfbuzz nss freetype ttf-freefont zlib-dev wait4ports dbus chromium-chromedriver grep ENV ALL_PROXY "http://localhost:3128" RUN echo -e "\nvisible_hostname esmBot\nforwarded_for delete\nvia off\nfollow_x_forwarded_for deny all \