Commit graph

384 commits

Author SHA1 Message Date
b2c7a43baa
Convert database handler into service, fix skip issue with sound player 2021-08-10 16:34:29 -05:00
4dc1b9f5a9
Removed link from image title, handle undefined guilds 2021-08-09 11:12:47 -05:00
cbc2918228
Fixed deepfry 2021-08-08 22:46:10 -05:00
14855f2a07
Fixed restart 2021-08-07 15:50:47 -05:00
e44f5ba59d
Added font flag to caption 2021-08-06 22:27:50 -05:00
4ee7f65a04
how do I keep making these mistakes 2021-08-06 15:42:43 -05:00
f2ace6ee52
Fixed durations 2021-08-06 15:39:04 -05:00
ac1242f74b
Revert "well crap"
This reverts commit 2ba46172b8.
2021-08-06 12:06:49 -05:00
2ba46172b8
well crap 2021-08-06 12:05:19 -05:00
e4e633beff
Allow owner to use music commands in production, make cache request to 8MB images 2021-08-06 12:03:44 -05:00
a1e4920c4d
Added image timeout message 2021-08-05 20:41:30 -05:00
b24982a298
my suffering never ends 2021-08-01 07:16:43 -05:00
65c4dbae6a
Reverted the last revert and actually fixed the issues with the timestamp format 2021-08-01 06:42:42 -05:00
ac1ff1e923
Reverted timestamp changes 2021-08-01 06:31:11 -05:00
7b07f82285
Added broadcast 2021-07-31 00:04:38 -05:00
5fa457958b
Added ancient (thanks to ioletsgo for the idea and the image collection) 2021-07-30 12:07:57 -05:00
f77def1c0e
Added permission check to help, increase image safesearch level 2021-07-26 14:43:10 -05:00
7f0f2fb789
Replaced raw date text with Discord formatted dates, added flag info to help, added note to cat 2021-07-23 11:13:43 -05:00
ef0e1bcf95
Fixed getting users 2021-07-17 18:48:07 -05:00
d03967212e
Added more command flags, start documenting command flags, removed args argument from params function 2021-07-14 17:23:50 -05:00
08e49537f9
Added whisper 2021-07-12 16:02:00 -05:00
e725c4d1eb
Merge branch 'fleet' 2021-07-08 21:21:54 -05:00
a91720c598
Some fixes 2021-07-06 07:53:09 -05:00
bbc9e99737
Add tags create as alias for tags add 2021-07-05 20:01:52 -05:00
97050f0cf1
Attempt to move image processing to an eris-fleet service 2021-07-05 19:20:21 -05:00
299663adf8
Port to eris-fleet 2021-07-04 23:15:27 -05:00
0af6533276
Fixed info/stats not properly getting owner 2021-07-03 23:33:28 -05:00
93d2b0e5ce
Renamed gif to raw and fixed message, removed GOOGLE variable from .env.example 2021-07-03 22:05:00 -05:00
ecc6d98aec
Added sqlite database support, connect new argument parser to message handler 2021-07-01 23:42:12 -05:00
2da505a778
Added deepfry, make jpeg work on GIFs 2021-06-29 17:26:22 -05:00
ae8b121d03
Added server/user count to stats, fixed message not showing on tenor/large image errors 2021-06-29 14:10:22 -05:00
41c8be04cf Added gif, detect if any image servers are disconnected 2021-06-28 17:59:05 -05:00
4cdd59dfcd
Made youtube use searx for results, fall back to dummy db when none is specified, added cluster to stats, more QOL changes 2021-06-26 15:56:02 -05:00
b7a847b612
Add instance owner info to stats/info commands 2021-06-21 17:12:17 -05:00
4d3e1655e0
A little bit more image work 2021-06-18 19:10:13 -05:00
52d91b752d
Added snapchat, prevent image queue packet from being sent twice 2021-06-14 22:03:48 -05:00
5afff62677
Fixed speed issue 2021-06-09 22:50:14 -05:00
03ed19d239
how did I overlook this 2021-05-24 14:31:44 -05:00
97012f4087
Eh, why not 2021-05-23 22:46:36 -05:00
3935a7490a
Switched image result provider from DuckDuckGo to Searx 2021-05-22 11:05:21 -05:00
96f8ec6353
Make soundreload apply to all clusters 2021-05-22 10:10:42 -05:00
b4320303ce
Fixed youtube 2021-05-17 10:13:29 -05:00
787eb347f6
Changed Tenor API url, account for ratelimits, switch Member#permission to Member#permissions 2021-05-14 09:31:12 -05:00
ad87722fd2
Changed blurple to reflect the new Discord rebrand 2021-05-13 17:19:28 -05:00
364d8bf006 Made command outputs post as replies, fixed status changing on cluster restart, extra stuff 2021-05-11 11:12:01 -05:00
e8834c072a Properly handle closing an image server connection, switch some "on" instances to "once" 2021-05-06 16:40:05 -05:00
11ab4ad1d4 Fixed flag returning an error on a nonexistent flag 2021-05-06 15:17:34 -05:00
073c337d3d Added uncaption, removed unncecessary log 2021-05-04 16:28:34 -05:00
e5d9388952 Added command counts to Prometheus metrics 2021-05-03 08:49:55 -05:00
56113a1cf8 Fixed some DM command issues, made reload and restart use IPC 2021-04-30 12:31:53 -05:00
e0e0c9c7d4 More hotfixing 2021-04-29 19:03:03 -05:00
19922858f2 Fixed some issues regarding eris-sharder and newer eris versions 2021-04-29 16:56:32 -05:00
b7fe04c82b Added reddit, catch any errors in native functions 2021-04-26 09:47:03 -05:00
7db1aa880c Added argument support to slow/speed, made video detection also detect images 2021-04-19 20:15:32 -05:00
e00671f0d5 Added argument to freeze for setting the end frame, speed is now aware of variable framerates 2021-04-19 11:04:24 -05:00
c67499af9d Added initial support for detecting videos, prevent music messages from showing on soundboard commands, fixed(?) permission checking 2021-04-19 09:31:39 -05:00
888660434b Changed database used by cat to a custom, dm4catbot-derived database 2021-04-16 17:35:27 -05:00
d1036eb369 Added kinemaster 2021-04-15 17:55:05 -05:00
51e06c256a Some fixes 2021-04-12 16:54:44 -05:00
40223ec8b5
Class commands, improved sharding, and many other changes (#88)
* Load commands recursively

* Sort commands

* Missed a couple of spots

* missed even more spots apparently

* Ported commands in "fun" category to new class-based format, added babel eslint plugin

* Ported general commands, removed old/unneeded stuff, replaced moment with day, many more fixes I lost track of

* Missed a spot

* Removed unnecessary abort-controller package, add deprecation warning for mongo database

* Added imagereload, clarified premature end message

* Fixed docker-compose path issue, added total bot uptime to stats, more fixes for various parts

* Converted image commands into classes, fixed reload, ignore another WS event, cleaned up command handler and image runner

* Converted music/soundboard commands to class format

* Cleanup unnecessary logs

* awful tag command class port

* I literally somehow just learned that you can leave out the constructor in classes

* Pass client directly to commands/events, cleaned up command handler

* Migrated bot to eris-sharder, fixed some error handling stuff

* Remove unused modules

* Fixed type returning

* Switched back to Eris stable

* Some fixes and cleanup

* might wanna correct this

* Implement image command ratelimiting

* Added Bot token prefix, added imagestats, added running endpoint to API
2021-04-12 11:16:12 -05:00
2d5eef2c8c Replaced retro with New And Improved™ variant 2021-03-31 21:04:58 -05:00
Lewis Crichton
3dd7fa4ed8
Make processing emoji an environment variable (#83) 2021-03-19 10:26:17 -05:00
5d2e2b5274 Upgraded retrotext and DBL posting packages, fixed mention prefixes and DM commands 2021-03-18 09:29:03 -05:00
74baa29684 Send unsanitized content to commands via content parameter, fixed emote command, removed another async promise 2021-03-16 13:24:21 -05:00
03aa3b3a2b Removed Twitter bot 2021-03-08 10:37:43 -06:00
8c760a527d Removed status section from userinfo 2021-03-08 09:10:31 -06:00
2499fb2a3b Don't rely on lavacord eris helper package, another pagination fix attempt, make cowsay use a different lib 2021-03-05 12:06:22 -06:00
a8db0a1204 Fixed qrread not being properly sanitized 2021-03-04 08:42:45 -06:00
adroitwhiz
dabf02eb5f
Fix flag command erroring when no flag provided (#67) 2021-02-25 15:10:03 -06:00
443da54298 Updated to Eris 0.14, removed spam, removed unused font 2021-01-27 22:57:13 -06:00
31712edf79 Added YouTube API rate limit message 2021-01-27 11:17:11 -06:00
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
c2bd68263b Made image API node chooser sort by job amount instead of CPU usage, added soundreload 2021-01-08 12:08:10 -06:00
9f2bd1fecb Make the bot itself get the image file type again 2021-01-04 20:53:34 -06:00
9ab13f5389 Added "sphere" as an alias for globe 2021-01-03 12:04:41 -06:00
c4c358dcd9 Fixed pango test escape issues 2020-12-30 11:37:41 -06:00
ae1406b518 *final* final changes 2020-12-29 22:26:45 -06:00
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
873b3f59bc More caching stuff, changed info command a bit 2020-12-18 14:46:59 -06:00
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
69d8100f23 Actually made screenshot owner-only, made image API interaction more secure 2020-12-14 12:39:18 -06:00
78ae47dbbb Handle API errors more gracefully, fixed sharpen, restrict screenshot to the bot owner 2020-12-14 10:58:31 -06:00
0566dca06d Some tweaks to music player commands, added loop, renamed existing loop command to unfreeze 2020-12-11 13:52:02 -06:00
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
ca6cffa67c Some security fixes 2020-11-20 15:16:52 -06:00
a03d3a5e79 Fixed GIF commands for real (lol) 2020-10-19 20:24:53 -05:00
cf5c649384 Heavy work on the image detection code, fixed mention prefixes not being properly registered 2020-10-18 16:53:35 -05:00
ac4e1f5dd8 Simplified and fixed image API, updated packages 2020-10-06 14:48:22 -05:00
f1404a8393 Fixed compatibility with Eris 0.13, get patron list dynamically 2020-10-06 10:18:33 -05:00
6e8473d784 Only delete messages if they exist, removes errors in console 2020-09-23 14:12:39 -05:00
925eb387dd Fixed issue with skip vote counts, added headless chrome IP to config, other fixes 2020-09-18 19:54:52 -05:00
17b347761d Reverted qrread native module 2020-09-11 15:22:25 -05:00
4caec5aefa Fixed characters not being properly encoded, fixed images not being properly appended, more fixes 2020-09-09 21:36:20 -05:00
e0d7ea7a57 Added ability to disable tags for a server, added way to remove warnings 2020-09-03 14:26:39 -05:00
c471bd8af8 Preliminary DM support, update URLs to point to new repo link 2020-09-01 17:10:19 -05:00
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
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
ba664fd19a Reject feedback messages if they contain links, increased image request timeout, some other fixes 2020-08-13 08:47:41 -05:00
b8527067d9 Fixed issue with lengthen, added new activity messages 2020-08-06 14:21:48 -05:00
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
f9c8d6b26d A bit of cleanup 2020-07-28 09:38:55 -05:00
a11fee5ff1 Move QR code decoding to c++ module 2020-07-27 18:02:59 -05:00
6eee7c6058 Moved back to MongoDB, added some extra flags to flag 2020-07-26 19:52:13 -05:00
0ebd0a0cee Added crop and loop, fixed database not properly adding new commands 2020-07-23 17:43:39 -05:00
10e934e722 I thought I fixed this issue with avatar but apparently not 2020-07-23 16:10:24 -05:00
fea07b47ce Merged hackban with ban 2020-07-23 15:56:03 -05:00
9555406229 Final Magick++ ports, removed gm module 2020-07-23 15:49:34 -05:00
e860aee986 Even more Magick++ ports 2020-07-22 19:54:58 -05:00
78dbeabd39 Ported even more commands to Magick++ 2020-07-22 13:12:38 -05:00
950ce00a80 Added extra pm2 and sigint handling 2020-07-21 20:29:32 -05:00
bf19e24063 Ported homebrew, fixed explode 2020-07-21 09:03:08 -05:00
264bcf5425 Magick++ ports wave 3, fixed issues with avatar and globe 2020-07-20 17:10:04 -05:00
d3f46edfa6 Added globe, Magick++ ports wave 2 2020-07-16 09:31:48 -05:00
617cf01090 Allow server admins to delete tags, don't run ready functions more than needed 2020-07-16 09:28:09 -05:00
bf14371b52 Ported more commands to Magick++, cleaned up a bit 2020-07-14 09:53:51 -05:00
bdb15aee3f Native module migration wave 1, fixed issue with avatar 2020-07-12 10:14:39 -05:00
2a67b76169 Migrated database to PostgreSQL, updated packages 2020-07-10 12:07:24 -05:00
8e5c0aa2ac More music/sound work 2020-07-06 16:39:56 -05:00
59c2c230fb Added initial music commands and category, moved lavalink node config to separate file 2020-07-06 15:19:30 -05:00
111b177968 Moved gm extensions and lavalink connection to start of ready, removed unused variable in stats 2020-07-02 10:33:27 -05:00
c141540a2a Added pixelate, made play use the new system 2020-06-27 17:17:57 -05:00
7dbf6fdf2a Automatically disable voice commands if Lavalink is missing 2020-06-27 16:34:31 -05:00
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
56faea8d59 Adjusted flag sizing some more, removed fortnite, added some database connection args 2020-06-26 09:36:03 -05:00
6056e49728 Changed source of flags, added new activity message 2020-06-21 12:12:58 -05:00
2f1c37579e Added flag, fixed the command count issue (for real) 2020-06-18 14:02:35 -05:00
8dbf0a3396 Increased sharpen effectiveness 2020-06-17 11:59:45 -05:00
6e7dcc679f Fix spin I guess 2020-06-08 17:04:26 -05:00
addb16fcd0 Fixed wikihow request URL and headers, removed unnecessary optimization from motivate 2020-06-04 18:18:16 -05:00
9fbb5dfe64
did I really forget to coalesce caption2 2020-05-23 08:55:18 -05:00
53b4f80848 Added soos 2020-05-20 13:52:37 -05:00
8d9859ea72 Fixed qrcreate, added help page URL to help command title 2020-05-17 18:02:30 -05:00
78778e54d7 Removed unnecessary logs 2020-04-26 17:20:07 -05:00
c65a8115aa Added count, added some new playing lines, fixed security issue with hackban 2020-04-26 16:55:33 -05:00
e9f4109f43 Switched source for avatar command, added alias to motivate 2020-04-24 23:21:05 -05:00
88dd0c6172 Use lean() method on read-only database calls 2020-04-24 15:25:27 -05:00
af8bce1d3e Made image use DuckDuckGo instead of Google Custom Search 2020-04-23 20:54:57 -05:00
18330d3db9 Remove image URL from arguments of image commands 2020-04-23 17:38:01 -05:00
67be772998 Added freeze 2020-04-23 17:08:53 -05:00
56e6419c02 Fixed glaring oversight in channel 2020-04-12 15:59:23 -05:00
f6425dc294 Refactored image/embed handling to prepare for something, don't use fuzz with sonic 2020-04-12 14:51:48 -05:00
71a4ca7b22 Replace many instances of resize with scale 2020-04-09 22:03:03 -05:00
628a002205 Added channel, allow using a mention on hackban and snowflake 2020-04-09 21:40:52 -05:00
56b382fce3 Fixed error when there are no more frames to remove in speed 2020-04-03 17:51:05 -05:00
75051d03c3 Added some spacing to caption 2020-04-03 09:23:26 -05:00
ead0ab8546 Added caption2 2020-03-31 09:25:45 -05:00
fe58a6a370 Updated eslint parser to use ES2019, allow using backspace before comma in meme/motivate 2020-03-30 09:02:51 -05:00
279d73feb8 Do what I did to eval with exec as well 2020-03-27 08:25:04 -05:00
12abe9156d Added slow 2020-03-26 21:10:59 -05:00
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
729192dfe7
Forgot to re-add the background color in motivate 2020-03-15 18:54:57 -05:00
6dfba281ef Fixed gifvs not having proper delay 2020-03-15 12:54:51 -05:00
93a7b3fa0d Replace twit with my own module, node-tweet 2020-03-14 18:03:45 -05:00
02df085580 Converted multiple functions to ES6 syntax, moved from collections to maps for storing commands 2020-03-10 17:24:57 -05:00
1da0d24602 Condensed some commands, fixed a bug with motivate, updated packages 2020-03-09 07:39:46 -05:00
f87b1afb38 Reverted caption, allow using a plain text username with userinfo 2020-03-05 09:28:10 -06:00
c28c575b48
Fixed sizing for caption 2020-03-04 10:38:46 -06:00
b4c8d243a8 Upgraded to ImageMagick 7, modified many commands to use fx operators instead of identify 2020-03-03 15:20:03 -06:00
0ff784089b Optimized some things, fixed ifunny not properly appending to image 2020-03-02 17:10:29 -06:00
6963c44e60 Properly sanitize text on motivate 2020-03-02 10:13:49 -06:00
f0c9dd8c6d Fixed layers issue with sonic 2020-02-28 11:34:55 -06:00
903130dce1 Added warn 2020-02-27 09:49:32 -06:00
a839b3b9c8 Removed unnecessary logs, added alternative URL for screenshot 2020-02-26 14:58:38 -06:00
b7aeacdf66 Removed format argument from jpeg, modified bufferPromise function a bit 2020-02-26 13:23:18 -06:00
d1792d8885
Fixed jpeg command to use proper image format 2020-02-26 11:56:14 -06:00
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
1e259ab312 Removed node version check, promisified many gm calls 2020-02-20 18:26:49 -06:00
1c9d40041b Added a small hack to make sonic work again 2020-02-20 15:08:48 -06:00
1ecae70c41 Changed request IP for screenshot 2020-02-20 11:39:39 -06:00
8051e8c201 Changed screenshot category 2020-02-20 11:23:13 -06:00
328d36d1ea Added -layers optimize to every image command 2020-02-20 08:22:05 -06:00
a7746cc865 Changed some requires 2020-02-19 16:46:50 -06:00
dd699b459e Added reverse 2020-02-19 08:29:48 -06:00
e2a32a8c89 One of the commits from a few days ago was a mistake 2020-02-19 08:25:45 -06:00
777b86e480 Added support for "gifv"s, fixed embed issue with image 2020-02-18 14:44:39 -06:00
5e394d101d Added screenshot, fixed coalesce issue with gamexplain 2020-02-17 16:21:24 -06:00
94fcfcf190 Create buffers directly inside createMessage 2020-02-13 14:31:40 -06:00
32bef7f815 Added motivate and speed 2020-02-13 13:29:42 -06:00
c745bd3ae2 Added donate, made blur and sharpen use ImageMagick 2020-02-10 19:49:35 -06:00
97f2f38d47 Added pagination and proper HTML entity decoding to youtube 2020-02-06 09:00:10 -06:00
f2d5066d2c Added message for when daily search limit goes over quota 2020-02-05 18:22:43 -06:00
d71fcb5ea3 Fixed issues with haah, hooh, waaw, and woow relating to gifs 2020-02-04 12:46:00 -06:00
77b3ddbc94 More userinfo stuff 2020-01-30 12:55:26 -06:00
37f463d4db Fixed issue with userinfo 2020-01-30 12:50:45 -06:00
f4830db1ec Fixed some more bugs related to meme 2020-01-28 10:03:22 -06:00
92bfb59eff Security fix for meme 2020-01-27 16:04:10 -06:00
f2bf5297a8 Completely rewrote meme, removed old help page 2020-01-27 15:27:33 -06:00
318c30846d Added tags owner, fixed bug where the bot owner couldn't delete tags 2020-01-27 07:41:13 -06:00
fd3bd96ae6 Added the message content as a parameter to command.run, re-added message to ban 2020-01-13 10:31:01 -06:00
35cec45196 Fixed bug with emote, removed admin section from help 2020-01-12 12:27:16 -06:00
a534e7c4cf Added optimization to many image commands, updated packages 2020-01-10 13:40:25 -06:00
c70f7dee5e Modified image commands to work completely with animated GIF files, fixed oversight with caption and help 2020-01-08 19:10:26 -06:00
4fb8eb4989 Added support for GIFs in image commands, added caption 2020-01-07 19:17:04 -06:00
d97496ef25 Fixed oversight in snowflake, reject image if width is over 10000 in wide 2020-01-07 09:38:13 -06:00
8d03ddadb3 Fixed Discord API errors with purge and pagination 2020-01-06 20:22:55 -06:00
77ca68f39b Turn meme stderr string into an error 2020-01-05 18:02:24 -06:00
2ff250ecc7 Return meme stderr as string 2020-01-05 18:01:42 -06:00
6c50af8445 Revert meme 2019-12-29 11:01:00 -06:00
6446cfd9bd Tweaked a few things, temporarily disabled yoda due to some issues 2019-12-29 10:56:32 -06:00