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
c0f64c9c6a
Fixed bug with tags random
2019-12-21 20:34:07 -06:00
3e9d4164aa
Fixed bug with NODE_ENV on tags
2019-12-19 10:36:33 -06:00
1e8c7a6497
Updated readme, check if bot has permissions to send messages
2019-12-16 17:14:29 -06:00
3a02efef70
Updated links to point to new GitHub repo name
2019-12-16 15:32:47 -06:00
903f5eebf0
Removed XP system, fixed a few more bugs
2019-12-16 12:13:38 -06:00
29cd75ac3d
Added stretch and wide, added notice to tags list, changed ping messages
2019-12-13 22:13:35 -06:00
08ec2ca9ea
Removed unnecessary comments, replaced instances of console.error with a throw
2019-12-10 09:53:43 -06:00
346312f006
Removed unnecessary try/catch block from pagination, fixed font coloring with sonic
2019-12-10 08:24:13 -06:00
c1f2eadf88
Added name input to avatar, added alias for help, other changes
2019-12-09 15:33:06 -06:00
7eb9bfeef4
Fixed bug with emote, added toggle for most dev branding, added version to info
2019-12-09 14:52:33 -06:00
ba4ded7b72
Added version to stats and workaround for #1
2019-12-06 20:04:17 -06:00
f1fb72294d
Removed googleapis package, added twitter to info, fixed bug with tags
2019-12-06 12:47:40 -06:00
38fa8c4629
Fix sanitization with homebrew, changed links to point to the new help link
2019-12-06 08:55:30 -06:00
3836ecb69b
Added tag commands descriptions
2019-12-05 18:15:28 -06:00
b6a2dd275a
Added homebrew and emote, added command params to help and a help webpage generator, updated packages/readme
2019-12-05 10:58:46 -06:00
3d225f6547
Added new help command and command metadata, various changes
2019-12-02 14:47:22 -06:00
c9f0ff3827
Revert gmbuffer.js, improved tags a bit more, some more pagination work
2019-11-30 09:48:05 -06:00
16927d8667
Don't load commands if env variable doesn't exist, removed catfact/dogfact, many other changes
2019-11-29 20:00:14 -06:00
0920c459d5
Improved twitter bot a bit more, replaced all indexOf checks, fixed xp message bug
2019-11-23 17:23:28 -06:00
e1347fcf52
Added proper license, removed unused stuff, more twitter bot work
2019-11-17 19:57:12 -06:00
143319a7e2
this commit is the equivalent of putting tape on a water leak
2019-11-15 11:37:26 -06:00
f7756f1b52
Added basic twitter bot and spin, updated readme, other various changes
2019-11-15 10:59:50 -06:00
d661b58271
Added leak and exec, moved from a config.json file to a .env file, other changes
2019-11-12 18:09:06 -06:00
ef071a39d4
Removed extra image request for image commands, various other tweaks
2019-11-11 14:54:19 -06:00
4439fca6d3
Added hackban
2019-11-06 11:31:31 -06:00
e0bae52309
Added proper reason messages for ban/kick
2019-11-06 11:19:24 -06:00
171253c52c
Added snowflake and experimental xp system, made logger easier to use
2019-11-05 09:52:46 -06:00
606c1ea1dc
Moved from Enmap/SQLite to MongoDB
2019-10-28 15:21:06 -05:00
7d1ca165b7
Added gamexplain and yoda, replaced many unneeded packages
2019-10-28 11:02:00 -05:00
346c40d492
Added some more commands, updated packages
2019-10-24 15:35:06 -05:00
d78bb8dff7
Added more commands, added an auto-delete mechanism for a 12-year-old's spam, various fixes
2019-10-24 13:54:23 -05:00
51c2547fd5
Added swirl, tags, and an example config
2019-09-28 22:32:43 -05:00
5a08ed57cc
Added stats, fixed some bugs, removed unneeded dependencies
2019-09-14 23:22:29 -05:00
c33a86eb4c
Initial commit
2019-09-13 15:02:41 -05:00