f7923c19cb
Added a very basic image API authentication system
2021-08-06 17:13:29 -05:00
f2ace6ee52
Fixed durations
2021-08-06 15:39:04 -05:00
dea160c73b
Make pagination only apply when there's more than a single page
2021-08-06 12:12:59 -05:00
c0974e2d49
Fixed clean
2021-08-05 13:03:44 -05:00
49ae7578fe
Removed MongoDB support
2021-08-04 13:31:29 -05:00
77ca0fd344
Improved error handling
2021-07-31 13:36:00 -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
samhza
833ac924d5
fix prometheus metric names ( #142 )
...
> A metric name should have a (single-word) application prefix relevant to the
> domain the metric belongs to.
https://prometheus.io/docs/practices/naming/
2021-07-14 18:42:19 -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
8059fd1b77
Fixed misplaced closing bracket in command parser
2021-07-12 21:56:53 -05:00
e640cc8f77
Ignore underscore argument
2021-07-11 15:40:31 -05:00
bc2826ccbb
Removed quote detection from normal arguments
2021-07-08 21:03:19 -05:00
0483e68016
Sound playback is pain
2021-07-06 09:23:27 -05:00
75801687a4
Re-add Prometheus metrics
2021-07-06 09:22:51 -05:00
11a77df700
maybe this fixes the audio message deleting?
2021-07-06 08:25:12 -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
a52b05d8b7
Fix some command parser issues
2021-07-02 10:52:44 -05:00
ecc6d98aec
Added sqlite database support, connect new argument parser to message handler
2021-07-01 23:42:12 -05:00
714e4a451c
Fixed databasenot properly caching disabled channels
2021-07-01 08:01:00 -05:00
b24e99d8e8
Fixed paginator not removing reactions on end
2021-06-30 11:56:45 -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
0fbc165154
Delete unfinished jobs on connection close
2021-06-27 17:06:52 -05:00
137120b4b7
Make connect into an async function
2021-06-26 20:58:22 -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
da8c676320
Changed image size limit
2021-06-19 15:11:34 -05:00
4d3e1655e0
A little bit more image work
2021-06-18 19:10:13 -05:00
a0a32c31b9
Switched image API from raw TCP to websockets, removed selective image reading code
2021-06-18 00:10:11 -05:00
c2e13c26b6
More command parser stuff
2021-06-14 22:19:10 -05:00
52d91b752d
Added snapchat, prevent image queue packet from being sent twice
2021-06-14 22:03:48 -05:00
8b07524e6b
Command parser changes
2021-06-05 19:55:40 -05:00
bd221d5909
Make command error logs more verbose, image server connection/job error handling changes
2021-06-01 20:27:28 -05:00
32a470aec3
Change "close" connection event to "end"
2021-05-23 17:22:31 -05:00
96f8ec6353
Make soundreload apply to all clusters
2021-05-22 10:10:42 -05:00
7aa684eae6
Export jobs, removed unused opcode
2021-05-17 22:37:40 -05:00
753bf84f78
Updated flags, fix true/false being censored in cleaned output
2021-05-17 19:09:30 -05:00
cb6e1b5f36
Try another method for handling broken connections
2021-05-17 19:08:06 -05:00
c92b9a7b25
Lint command parser
2021-05-17 16:49:21 -05:00
b748e54437
Delete jobs when disconnecting from image servers
2021-05-17 15:39:22 -05:00
82ab3f672f
Trying to reduce cannot call write errors
2021-05-17 14:23:29 -05:00
21f4a5a51a
Added options to pagination edit calls
2021-05-17 10:17:43 -05:00
21a98e216d
Acccount for cases where Content-Range doesn't exist
2021-05-14 22:02:50 -05:00
787eb347f6
Changed Tenor API url, account for ratelimits, switch Member#permission to Member#permissions
2021-05-14 09:31:12 -05:00
79bc36759c
Added support for DEBUG environment variable with image runner, make freeze use a similar method to speed
2021-05-13 17:11:13 -05:00
61758fa3bb
Pass an image buffer into the native functions instead of a URL
2021-05-11 14:25:02 -05:00
d5c7b38b57
None of these were needed in the first place
2021-05-11 12:11:54 -05:00
c4b57ac617
Re-add a form of size limit
2021-05-11 11:22:27 -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
2b810c7c86
Re-add image job timeout, split dockerfiles, removed api from docker-compose, more fixes
2021-05-10 22:59:19 -05:00
198b6dbcac
Fixed potential issue where all jobs could be deleted
2021-05-06 16:58:35 -05:00
e8834c072a
Properly handle closing an image server connection, switch some "on" instances to "once"
2021-05-06 16:40:05 -05:00
8e7764fc57
Add extra giphy media URL
2021-05-06 16:12:44 -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
19922858f2
Fixed some issues regarding eris-sharder and newer eris versions
2021-04-29 16:56:32 -05:00
6cecd4b9d6
Make all native image functions synchronous
2021-04-24 17:54:47 -05:00
ebfab817d7
Added support for multiple processing emojis, fixed issue with local image processing
2021-04-23 15:03:48 -05:00
b5253cf8e3
Potential giphy fix
2021-04-21 17:37:05 -05:00
2a22c73654
Made image detection start with replies
2021-04-19 22:06:40 -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
7cc8ac7b6b
Reduced prefix/disabled channel cache to 512, made API delete images if they haven't been requested after 5 minutes
2021-04-14 18:02:03 -05:00
cc82d32840
Fixed slow, changed clean to handle all env variables, changed database handling
2021-04-14 16:37:40 -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
48fb0c98c8
Fixed postgres not properly getting command count on newly registered commands
2021-03-31 22:16:23 -05:00
4fb379474b
Port pagination fix from class-commands, replaced a playing message
2021-03-30 17:00:07 -05:00
162bc7c093
I literally can not fix pagination
2021-03-19 15:10:15 -05:00
07e1fa8dc2
Allow user/reply mentions
2021-03-18 21:24:37 -05:00
9f300f763a
Switch to postgres in docker compose
2021-03-18 11:19:08 -05:00
5d2e2b5274
Upgraded retrotext and DBL posting packages, fixed mention prefixes and DM commands
2021-03-18 09:29:03 -05:00
03ddf5c88c
Fixed mention prefix
2021-03-16 15:45:10 -05:00
b0313bc041
wow thanks eris for not blocking these by default
2021-03-16 10:33:16 -05:00
4c83c55344
supposedly async promises are bad lmao
2021-03-15 22:29:48 -05:00
03aa3b3a2b
Removed Twitter bot
2021-03-08 10:37:43 -06:00
7cf9bcca4e
write stable audio queue code challenge (instantly failed)
2021-03-05 22:13:58 -06:00
4419d73d97
soundplayer crash prevention
2021-03-05 15:32:37 -06:00
f6bec828d7
Fixed database thing
2021-03-05 15:20:15 -06:00
f0c685d8c4
Make soundreload more useful
2021-03-05 15:13:54 -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
4d5ef3c24f
Added edit date to help page, fixed image command quote
2021-03-04 22:33:03 -06:00
e7ffa23411
Some assorted fixes
2021-02-07 11:08:55 -06:00
adroitwhiz
7167956a76
Stop using ffprobe to read GIF frame delay ( #57 )
...
* Stop using ffprobe to read GIF delay
* Default image delay to 0
2021-01-26 20:30:04 -06:00
62346cbae4
Rework image API again, replaced many calls to replace with replaceAll
2021-01-18 14:11:28 -06:00
b2b8fd643a
Add proper support for gfycat gifs, attempt to handle image errors "better", added some new activity messages
2021-01-17 20:40:52 -06:00
116ed94ca3
Attempt to fix a crash with pagination reaction removal
2021-01-16 23:46:07 -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
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
9f2bd1fecb
Make the bot itself get the image file type again
2021-01-04 20:53:34 -06:00
87e2e56ef0
Fixed help page generator still attempting to register moderation commands
2021-01-04 14:35:24 -06:00
2a3f84f628
Properly request only the first 1024 bytes when getting image type
2021-01-04 11:10:57 -06:00
dd114e27b5
Added more activity messages, updated packages, allow any public Lavalink instance to be used via the "local" parameter, added clearer error message for API timeouts
2021-01-04 10:29:18 -06:00
3730691ba2
Final fixes
2020-12-29 20:33:51 -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
7a254a5139
Added load-based api node selection
2020-12-25 20:27:45 -06:00
Tzlil
9ada79d1e5
add parseCommand so it shows me on the esmbot github ( #34 )
2020-12-25 18:14:10 -06:00
9b4861ae4a
Fixed database stop crash, made playing status use the current bot username
2020-12-18 18:57:41 -06:00
5fa5f21289
Moved database driver-specific code to their own files
2020-12-18 18:50:25 -06:00
d47c7cacbb
Changed DB config settings
2020-12-18 16:05:43 -06:00
3594c4d353
Added proper config options for PostgreSQL
2020-12-18 15:42:34 -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
a1c24ea30d
Allow sound player to start even if some nodes are down, docker maintenance
2020-12-11 16:46:05 -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
59dec7f857
Made image functions run on a worker thread when the API is disabled
2020-11-26 11:48:19 -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
ad149156ad
Switched to an image API implementation by Terradice
2020-11-17 08:52:12 -06:00
6761e39d70
A little bit of cleanup
2020-11-09 22:09:57 -06:00
Samuel Hernandez
66cf9dc518
utils/image.js: fix getType on local files
2020-11-07 20:50:32 -05:00
0600cf230f
Caption now supports more unicode characters, more api work, fixed multiple bugs
2020-11-05 15:40:18 -06:00
a03d3a5e79
Fixed GIF commands for real (lol)
2020-10-19 20:24:53 -05:00
5e34e45ac4
Fixed GIF-only commands
2020-10-19 18:48:43 -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
7047081f98
Fixed some music player stuff
2020-09-22 15:33:07 -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
4caec5aefa
Fixed characters not being properly encoded, fixed images not being properly appended, more fixes
2020-09-09 21:36:20 -05:00
91b8735203
Attempt to fix clean replacing empty text
2020-09-05 16:33:21 -05:00
1c686016bb
Allow changing default prefix in config
2020-09-03 17:48:28 -05:00
e0d7ea7a57
Added ability to disable tags for a server, added way to remove warnings
2020-09-03 14:26:39 -05:00
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
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
6eee7c6058
Moved back to MongoDB, added some extra flags to flag
2020-07-26 19:52:13 -05:00
9555406229
Final Magick++ ports, removed gm module
2020-07-23 15:49:34 -05:00
78dbeabd39
Ported even more commands to Magick++
2020-07-22 13:12:38 -05:00
710dfdcf84
Prevent using images larger than 25MB, automatically cancel request after 15 seconds
2020-07-16 19:53:44 -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
2a67b76169
Migrated database to PostgreSQL, updated packages
2020-07-10 12:07:24 -05:00
0760136ded
Attempt workaround for Twitter errors crashing the bot, fixed lavalink memory leak
2020-07-07 14:28:16 -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
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
119fd36a6c
Docker image maintenance, added new activity line
2020-05-25 15:36:53 -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