Commit Graph

214 Commits

Author SHA1 Message Date
TheEssem 31712edf79 Added YouTube API rate limit message 2021-01-27 11:17:11 -06:00
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 9f2bd1fecb Make the bot itself get the image file type again 2021-01-04 20:53:34 -06:00
TheEssem 9ab13f5389 Added "sphere" as an alias for globe 2021-01-03 12:04:41 -06:00
TheEssem c4c358dcd9 Fixed pango test escape issues 2020-12-30 11:37:41 -06:00
TheEssem ae1406b518 *final* final changes 2020-12-29 22:26:45 -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 873b3f59bc More caching stuff, changed info command a bit 2020-12-18 14:46:59 -06:00
TheEssem ef945adf09 Added support for using both MongoDB and PostgreSQL, changed image api timeouts, removed all moderation commands 2020-12-17 20:32:19 -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 0566dca06d Some tweaks to music player commands, added loop, renamed existing loop command to unfreeze 2020-12-11 13:52:02 -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 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 ac4e1f5dd8 Simplified and fixed image API, updated packages 2020-10-06 14:48:22 -05:00
TheEssem f1404a8393 Fixed compatibility with Eris 0.13, get patron list dynamically 2020-10-06 10:18:33 -05:00
TheEssem 6e8473d784 Only delete messages if they exist, removes errors in console 2020-09-23 14:12:39 -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 17b347761d Reverted qrread native module 2020-09-11 15:22:25 -05:00
TheEssem 4caec5aefa Fixed characters not being properly encoded, fixed images not being properly appended, more fixes 2020-09-09 21:36:20 -05:00
TheEssem e0d7ea7a57 Added ability to disable tags for a server, added way to remove warnings 2020-09-03 14:26:39 -05:00
TheEssem c471bd8af8 Preliminary DM support, update URLs to point to new repo link 2020-09-01 17:10:19 -05:00
TheEssem f415b3bb09 Changed image function syntax, improved dice, switched to fs.promises, might have also done other stuff but idk 2020-08-27 21:34:12 -05:00
TheEssem 95846d32d4 Fixed some issues with the sound player, search images in original message first, add max limit to dice 2020-08-16 11:48:37 -05:00
TheEssem ba664fd19a Reject feedback messages if they contain links, increased image request timeout, some other fixes 2020-08-13 08:47:41 -05:00
TheEssem b8527067d9 Fixed issue with lengthen, added new activity messages 2020-08-06 14:21:48 -05:00
TheEssem 70c4ff298f Added command usage count to help, remove nonexistent commands from database, add build method to package.json 2020-07-29 18:06:34 -05:00
TheEssem f9c8d6b26d A bit of cleanup 2020-07-28 09:38:55 -05:00
TheEssem a11fee5ff1 Move QR code decoding to c++ module 2020-07-27 18:02:59 -05:00
TheEssem 6eee7c6058 Moved back to MongoDB, added some extra flags to flag 2020-07-26 19:52:13 -05:00
TheEssem 0ebd0a0cee Added crop and loop, fixed database not properly adding new commands 2020-07-23 17:43:39 -05:00
TheEssem 10e934e722 I thought I fixed this issue with avatar but apparently not 2020-07-23 16:10:24 -05:00
TheEssem fea07b47ce Merged hackban with ban 2020-07-23 15:56:03 -05:00
TheEssem 9555406229 Final Magick++ ports, removed gm module 2020-07-23 15:49:34 -05:00
TheEssem e860aee986 Even more Magick++ ports 2020-07-22 19:54:58 -05:00
TheEssem 78dbeabd39 Ported even more commands to Magick++ 2020-07-22 13:12:38 -05:00
TheEssem 950ce00a80 Added extra pm2 and sigint handling 2020-07-21 20:29:32 -05:00
TheEssem bf19e24063 Ported homebrew, fixed explode 2020-07-21 09:03:08 -05:00
TheEssem 264bcf5425 Magick++ ports wave 3, fixed issues with avatar and globe 2020-07-20 17:10:04 -05:00
TheEssem d3f46edfa6 Added globe, Magick++ ports wave 2 2020-07-16 09:31:48 -05:00
TheEssem 617cf01090 Allow server admins to delete tags, don't run ready functions more than needed 2020-07-16 09:28:09 -05:00
TheEssem bf14371b52 Ported more commands to Magick++, cleaned up a bit 2020-07-14 09:53:51 -05:00
TheEssem bdb15aee3f Native module migration wave 1, fixed issue with avatar 2020-07-12 10:14:39 -05:00
TheEssem 2a67b76169 Migrated database to PostgreSQL, updated packages 2020-07-10 12:07:24 -05:00
TheEssem 8e5c0aa2ac More music/sound work 2020-07-06 16:39:56 -05:00
TheEssem 59c2c230fb Added initial music commands and category, moved lavalink node config to separate file 2020-07-06 15:19:30 -05:00
TheEssem 111b177968 Moved gm extensions and lavalink connection to start of ready, removed unused variable in stats 2020-07-02 10:33:27 -05:00
TheEssem c141540a2a Added pixelate, made play use the new system 2020-06-27 17:17:57 -05:00
TheEssem 7dbf6fdf2a Automatically disable voice commands if Lavalink is missing 2020-06-27 16:34:31 -05:00
TheEssem 0cc80da8b6 Huge sound player overhaul using Lavalink, added boom, removed prunejuice, boat, and bus, re-encoded audio files with ffmpeg 2020-06-27 12:18:26 -05:00
TheEssem 56faea8d59 Adjusted flag sizing some more, removed fortnite, added some database connection args 2020-06-26 09:36:03 -05:00
TheEssem 6056e49728 Changed source of flags, added new activity message 2020-06-21 12:12:58 -05:00
TheEssem 2f1c37579e Added flag, fixed the command count issue (for real) 2020-06-18 14:02:35 -05:00
TheEssem 8dbf0a3396 Increased sharpen effectiveness 2020-06-17 11:59:45 -05:00
TheEssem 6e7dcc679f Fix spin I guess 2020-06-08 17:04:26 -05:00
TheEssem addb16fcd0 Fixed wikihow request URL and headers, removed unnecessary optimization from motivate 2020-06-04 18:18:16 -05:00
Essem 9fbb5dfe64
did I really forget to coalesce caption2 2020-05-23 08:55:18 -05:00
TheEssem 53b4f80848 Added soos 2020-05-20 13:52:37 -05:00
TheEssem 8d9859ea72 Fixed qrcreate, added help page URL to help command title 2020-05-17 18:02:30 -05:00
TheEssem 78778e54d7 Removed unnecessary logs 2020-04-26 17:20:07 -05:00
TheEssem c65a8115aa Added count, added some new playing lines, fixed security issue with hackban 2020-04-26 16:55:33 -05:00
TheEssem e9f4109f43 Switched source for avatar command, added alias to motivate 2020-04-24 23:21:05 -05:00
TheEssem 88dd0c6172 Use lean() method on read-only database calls 2020-04-24 15:25:27 -05:00
TheEssem af8bce1d3e Made image use DuckDuckGo instead of Google Custom Search 2020-04-23 20:54:57 -05:00
TheEssem 18330d3db9 Remove image URL from arguments of image commands 2020-04-23 17:38:01 -05:00
TheEssem 67be772998 Added freeze 2020-04-23 17:08:53 -05:00
TheEssem 56e6419c02 Fixed glaring oversight in channel 2020-04-12 15:59:23 -05:00
TheEssem f6425dc294 Refactored image/embed handling to prepare for something, don't use fuzz with sonic 2020-04-12 14:51:48 -05:00
TheEssem 71a4ca7b22 Replace many instances of resize with scale 2020-04-09 22:03:03 -05:00
TheEssem 628a002205 Added channel, allow using a mention on hackban and snowflake 2020-04-09 21:40:52 -05:00
TheEssem 56b382fce3 Fixed error when there are no more frames to remove in speed 2020-04-03 17:51:05 -05:00
TheEssem 75051d03c3 Added some spacing to caption 2020-04-03 09:23:26 -05:00
TheEssem ead0ab8546 Added caption2 2020-03-31 09:25:45 -05:00
TheEssem fe58a6a370 Updated eslint parser to use ES2019, allow using backspace before comma in meme/motivate 2020-03-30 09:02:51 -05:00
TheEssem 279d73feb8 Do what I did to eval with exec as well 2020-03-27 08:25:04 -05:00
TheEssem 12abe9156d Added slow 2020-03-26 21:10:59 -05:00
TheEssem 2823fb2fd3 Removed unnecessary logs, fixed voice commands not working, made eval send a file if the output is too long 2020-03-22 07:56:50 -05:00
Essem 729192dfe7
Forgot to re-add the background color in motivate 2020-03-15 18:54:57 -05:00
TheEssem 6dfba281ef Fixed gifvs not having proper delay 2020-03-15 12:54:51 -05:00
TheEssem 93a7b3fa0d Replace twit with my own module, node-tweet 2020-03-14 18:03:45 -05:00
TheEssem 02df085580 Converted multiple functions to ES6 syntax, moved from collections to maps for storing commands 2020-03-10 17:24:57 -05:00
TheEssem 1da0d24602 Condensed some commands, fixed a bug with motivate, updated packages 2020-03-09 07:39:46 -05:00
TheEssem f87b1afb38 Reverted caption, allow using a plain text username with userinfo 2020-03-05 09:28:10 -06:00
Essem c28c575b48
Fixed sizing for caption 2020-03-04 10:38:46 -06:00
TheEssem b4c8d243a8 Upgraded to ImageMagick 7, modified many commands to use fx operators instead of identify 2020-03-03 15:20:03 -06:00
TheEssem 0ff784089b Optimized some things, fixed ifunny not properly appending to image 2020-03-02 17:10:29 -06:00
TheEssem 6963c44e60 Properly sanitize text on motivate 2020-03-02 10:13:49 -06:00
TheEssem f0c9dd8c6d Fixed layers issue with sonic 2020-02-28 11:34:55 -06:00
TheEssem 903130dce1 Added warn 2020-02-27 09:49:32 -06:00
TheEssem a839b3b9c8 Removed unnecessary logs, added alternative URL for screenshot 2020-02-26 14:58:38 -06:00
TheEssem b7aeacdf66 Removed format argument from jpeg, modified bufferPromise function a bit 2020-02-26 13:23:18 -06:00
Essem d1792d8885
Fixed jpeg command to use proper image format 2020-02-26 11:56:14 -06:00
TheEssem 5455b2682c Removed duplicate type parameter, made image commands use a promisified version of the default toBuffer method 2020-02-25 14:45:47 -06:00
TheEssem 1e259ab312 Removed node version check, promisified many gm calls 2020-02-20 18:26:49 -06:00
TheEssem 1c9d40041b Added a small hack to make sonic work again 2020-02-20 15:08:48 -06:00
TheEssem 1ecae70c41 Changed request IP for screenshot 2020-02-20 11:39:39 -06:00