Commit Graph

31 Commits

Author SHA1 Message Date
TheEssem 62346cbae4 Rework image API again, replaced many calls to replace with replaceAll 2021-01-18 14:11:28 -06:00
adroitwhiz 3de4858b5a
Clean up image API code paths (#49)
* Document image.js a bit

* Close image.js sockets in all code paths

I'm not sure whether sockets get GC'd when the function returns

* Remove getFormat

It was only called from one place, and the object property names were
quite confusing

* Clean up image.js conditional a bit

I had to write out an entire truth table for this and work it all out
Thinking hard

* Move actual ImageMagick calling into separate file

This gets rid of the weird, brain-melting ouroboros of code that
recurses across threads and processes.

* Reduce amount of getType wrangling

This amounted to an awful lot of dead conditionals after the image
commands were all modified to pass in image types anyway. This has also
led to two different implementations diverging, which causes bugs like
GIF commands applied to non-GIFs erroring instead of providing a
user-friendly message.

* Unify image-runner return type, clarify image type

This allows us to remove the fromAPI parameter from image-runner, and
helps greatly clarify the behavior around image types.

* Deduplicate GIF code, fix "not a GIF" handling

The special "nogif" value is now stored as the image type instead of its
value, as the value must always be a Buffer now--no loosely-typed
shenanigans.
2021-01-09 19:50:29 -06:00
TheEssem c2bd68263b Made image API node chooser sort by job amount instead of CPU usage, added soundreload 2021-01-08 12:08:10 -06:00
TheEssem 55da0db479 The image API no longer uses a unique thread for each job (due to image processing using its own thread anyway), added dummy DB driver 2021-01-06 16:10:31 -06:00
TheEssem 7b64c4ca2a Fixed some queue related stuff 2021-01-04 23:19:59 -06:00
TheEssem 9f2bd1fecb Make the bot itself get the image file type again 2021-01-04 20:53:34 -06:00
TheEssem 10ee3c6a31 Removed unnecessary message to main thread 2021-01-04 17:33:13 -06:00
adroitwhiz 66743d6fa9 Close image API resources instead of forcing exit 2021-01-03 01:13:38 -05:00
TheEssem be53f8d352 Handle errors properly *and* also hopefully fix the file descriptor issue for real 2021-01-02 23:56:27 -06:00
adroitwhiz ae32a3f9f1
Initialize cpuLoad to 0 (#46) 2021-01-02 23:02:41 -06:00
TheEssem 87ab7d39d4 Another attempt to fix the EMFILE error, update license for the new year 2021-01-02 22:40:44 -06:00
TheEssem 67ca7d79d0 Fixed events overloading file descriptor limit 2020-12-30 18:46:17 -06:00
TheEssem 8a2d4e6669 Fixed image API request closing prematurely, disabled music commands in production, various fixes regarding direct messages, fixed reply image checking, and removed yoda 2020-12-26 12:17:10 -06:00
TheEssem 7a254a5139 Added load-based api node selection 2020-12-25 20:27:45 -06:00
TheEssem 69d8100f23 Actually made screenshot owner-only, made image API interaction more secure 2020-12-14 12:39:18 -06:00
TheEssem 78ae47dbbb Handle API errors more gracefully, fixed sharpen, restrict screenshot to the bot owner 2020-12-14 10:58:31 -06:00
TheEssem 3deb2b4986 Added warning message for Win32, fixed api not getting env data 2020-12-03 10:30:33 -06:00
TheEssem 94b0bc19a4 Added reply support to image detection, added stealth plugin to screenshot, made credits static, more fixes 2020-11-26 09:31:24 -06:00
TheEssem ca6cffa67c Some security fixes 2020-11-20 15:16:52 -06:00
TheEssem ad149156ad Switched to an image API implementation by Terradice 2020-11-17 08:52:12 -06:00
Samuel Hernandez 66cf9dc518
utils/image.js: fix getType on local files 2020-11-07 20:50:32 -05:00
TheEssem 0600cf230f Caption now supports more unicode characters, more api work, fixed multiple bugs 2020-11-05 15:40:18 -06:00
TheEssem a03d3a5e79 Fixed GIF commands for real (lol) 2020-10-19 20:24:53 -05:00
TheEssem cf5c649384 Heavy work on the image detection code, fixed mention prefixes not being properly registered 2020-10-18 16:53:35 -05:00
TheEssem 6cd9878632 Remove warnings while building image commands 2020-10-06 15:21:39 -05:00
TheEssem ac4e1f5dd8 Simplified and fixed image API, updated packages 2020-10-06 14:48:22 -05:00
TheEssem 925eb387dd Fixed issue with skip vote counts, added headless chrome IP to config, other fixes 2020-09-18 19:54:52 -05:00
TheEssem 8b346240e9 Removed env stuff from API 2020-09-02 22:52:01 -05:00
TheEssem a6137436d2 The bot can now actually interact with the API, fixed issues relating to leaving voice channels 2020-09-01 21:52:12 -05:00
TheEssem c471bd8af8 Preliminary DM support, update URLs to point to new repo link 2020-09-01 17:10:19 -05:00
TheEssem 631cdc5ef6 Initial API work 2020-08-31 17:15:34 -05:00