Commit Graph
100 Commits
Author SHA1 Message Date
bea 244e8ace76 Remove redundant API command fetcher
continuous-integration/drone/push Build is passing
We have our own command listener now, so we don't need to rely on Discord's slow API.
2022-11-22 14:53:46 +01:00
bea 526880e1f1 Start implementing message-base commands
continuous-integration/drone/push Build is passing
Slash commands can't be used for everything, so we need something to fall back on.
2022-11-22 14:40:44 +01:00
bea 882c695484 Make slash commands interface and load them dynamically
continuous-integration/drone/push Build is passing
Slash commands are now loaded dynamically by implementing a SlashCommand interface and storing them in a loaded commands map.
2022-11-22 14:32:22 +01:00
bea 7ae4790d5c Add bot owner info to botinfo command
continuous-integration/drone/push Build is passing
2022-11-22 00:45:58 +01:00
bea 51de18206e Refactor clearchat class 2022-11-22 00:35:10 +01:00
bea d3db53a451 Cleanup imports 2022-11-22 00:34:37 +01:00
bea 656dff4b26 Refactor packages
continuous-integration/drone/push Build is passing
2022-11-22 00:31:52 +01:00
bea 8faa9c4677 Refactor datasource classes
continuous-integration/drone/push Build is passing
2022-11-22 00:28:33 +01:00
bea f9e1578899 Fix heartbeat error not always being logged
continuous-integration/drone/push Build is passing
2022-11-22 00:12:24 +01:00
bea 72115cbec2 Bump version
continuous-integration/drone/push Build is passing
2022-11-22 00:08:36 +01:00
bea 0b05f2858f Update README with new bot startup guide 2022-11-22 00:08:19 +01:00
bea 843ee43275 Finish implementing configuration file
continuous-integration/drone/push Build is passing
Configuration file is now fully functional.
Startup arguments for bot token and heartbeat key have now been removed.
2022-11-22 00:04:34 +01:00
bea b6bf366822 Allow reading values from config
continuous-integration/drone/push Build is passing
2022-11-21 23:36:42 +01:00
bea c650caa090 Finish configuration init method
continuous-integration/drone/push Build is passing
This method runs every time the bot starts, and ensures that all values are always present in the config file.
2022-11-21 23:28:33 +01:00
bea f74ae43673 Refactor Config class
continuous-integration/drone/push Build is passing
2022-11-21 20:20:11 +01:00
bea e396ce6417 Start implementing yaml loading
continuous-integration/drone/push Build is failing
2022-11-21 20:20:03 +01:00
bea 66d27fe1fe Start implementing config file 2022-11-21 20:04:28 +01:00
bea d9d0ce3236 Bump version
continuous-integration/drone/push Build is passing
2022-11-21 19:55:04 +01:00
bea a5ddbf0d2e Implement heartbeat for uptime monitoring
continuous-integration/drone/push Build is passing
You can now monitor the bot's uptime via any external tool that supports push heartbeats. The bots sends a GET request every 30 seconds to show that it's online. The URL is hardcoded for the moment, but very easy to change.
2022-11-21 19:54:49 +01:00
bea 0bcb5d58f4 Set message expiration time to 15 seconds
continuous-integration/drone/push Build is passing
2022-11-21 19:11:18 +01:00
bea 531ff66bae Bump version
continuous-integration/drone/push Build is passing
2022-11-21 19:07:49 +01:00
bea da511f2913 Database overhaul to fix #3
continuous-integration/drone/push Build is passing
We are now tracking whether messages are sent privately on in a guild, and acting accordingly.
2022-11-21 19:07:34 +01:00
bea 0aec543a46 Bump version
continuous-integration/drone/push Build is passing
2022-11-21 16:28:31 +01:00
bea 326ad68e38 Add emoji to invite command button
continuous-integration/drone/push Build is passing
2022-11-21 16:24:21 +01:00
bea 163619a7f8 Improve registered commands caching
continuous-integration/drone/push Build is passing
Discord's API is slow in updating and registering new commands, so we set up a runnable to periodically check.
2022-11-21 16:24:09 +01:00
bea b015fddf3c Make invite command nicer
continuous-integration/drone/push Build is passing
2022-11-21 16:11:16 +01:00
bea 5e4e438340 Make minimal text changes 2022-11-21 15:59:27 +01:00
bea b35b962ac6 Implement basic say command
continuous-integration/drone/push Build is passing
2022-11-21 15:37:12 +01:00
bea 4382f7d490 Fix issue tracker link
continuous-integration/drone/push Build is passing
2022-11-21 15:17:03 +01:00
bea 3038be9a28 Actually register help command
continuous-integration/drone/push Build is passing
2022-11-21 15:14:57 +01:00
bea 24bb560d93 Register help command
continuous-integration/drone/push Build is passing
2022-11-21 15:13:32 +01:00
bea 78d5bd6beb Make some messages nicer 2022-11-21 15:07:46 +01:00
bea 3ff154eec6 Rename methods
continuous-integration/drone/push Build is passing
2022-11-21 15:04:12 +01:00
bea e9f475cb59 Refactor code and packages
continuous-integration/drone/push Build is passing
2022-11-21 15:02:40 +01:00
bea cdc45d62f2 Move uptime string generator to config class
continuous-integration/drone/push Build is passing
2022-11-21 15:00:37 +01:00
bea 6998cc92e5 Bump version
continuous-integration/drone/push Build is passing
2022-11-21 14:55:01 +01:00
bea 996cedb154 Finish botinfo command
continuous-integration/drone/push Build is passing
I don't know what else to add, and it looks nice now.
2022-11-21 14:54:45 +01:00
bea 5e08cd748c Update README
continuous-integration/drone/push Build is passing
2022-11-21 14:44:54 +01:00
bea d2caccf080 Finish uptime string generator 2022-11-21 14:44:48 +01:00
bea 79c8f1a95e Start implementing bot info command
continuous-integration/drone/push Build is failing
2022-11-21 12:19:35 +01:00
bea 6e9291c535 Implement messages error handling in database
continuous-integration/drone/push Build is passing
Invalid messages will now be purged from database (if bot was kicked from a guild, if a channel was deleted, ...).
2022-11-21 11:23:52 +01:00
bea 083fef3911 Fix expired coinflip channel id bug
continuous-integration/drone/push Build is passing
2022-11-21 11:19:23 +01:00
bea f73b489844 Bump version
continuous-integration/drone/push Build is passing
2022-11-21 11:15:23 +01:00
bea 0da3eecd29 Restrict reflip button to user who ran the command
continuous-integration/drone/push Build is passing
2022-11-21 11:14:07 +01:00
bea 7562e956bc Remove leftover debug log
continuous-integration/drone/push Build is passing
2022-11-21 00:29:22 +01:00
bea 97980f8ed9 Bump version
continuous-integration/drone/push Build is passing
2022-11-21 00:28:51 +01:00
bea 0d92921b45 Ignore SQLite database
continuous-integration/drone/push Build is passing
2022-11-21 00:28:29 +01:00
bea a9ccfbe0bc Remove SQLite database 2022-11-21 00:28:10 +01:00
bea 5ee7321978 Implement functional reply tracker
Now, with commands that support it, only the user who ran the command/triggered the interaction can use its buttons.
2022-11-21 00:27:57 +01:00
bea 98a162a33b Implement SQLite database solving #1
continuous-integration/drone/push Build is passing
A new basic database has been laid out, with support for message expiry and disabling buttons for old messages.
2022-11-21 00:14:13 +01:00
bea 7ffd3442c2 Remove code duplication in coinflip command 2022-11-20 22:23:26 +01:00
bea 3a5b2a23c1 Add clearchat dismiss button 2022-11-20 22:23:14 +01:00
bea 3d626bb46f Move command handling out of constructor, add coin reflip command
continuous-integration/drone/push Build is passing
Having heavy code run in a constructor is bad practice. We made separate methods for command handling.
2022-11-20 22:09:58 +01:00
bea c44251ddb7 Move avatar resolutions to config class
continuous-integration/drone/push Build is passing
2022-11-20 19:00:27 +01:00
bea 913e8e023a Refactor command packages
continuous-integration/drone/push Build is passing
2022-11-20 18:56:57 +01:00
bea 3474593dc9 Implement command force-refresh arg
continuous-integration/drone/push Build is passing
2022-11-20 18:54:13 +01:00
bea 3578de17c8 Implement avatar resolution autocomplete
continuous-integration/drone/push Build is failing
2022-11-20 18:53:28 +01:00
bea 679d16e1fa Change avatar embed format
continuous-integration/drone/push Build is passing
2022-11-20 18:22:32 +01:00
bea 33d81acc64 Improve internal documentation
continuous-integration/drone/push Build is passing
2022-11-20 18:11:00 +01:00
bea 044445890f Improve avatar command
continuous-integration/drone/push Build is passing
Avatar command now produces an embed with links to all possible resolutions
2022-11-20 18:06:07 +01:00
bea 3e1ba12314 Implement avatar grabber command
continuous-integration/drone/push Build is passing
2022-11-20 17:19:40 +01:00
bea 4817bacf5c Improve invite command
continuous-integration/drone/push Build is passing
2022-11-20 16:20:50 +01:00
bea 18db0282d5 Implement invite link command
continuous-integration/drone/push Build is passing
2022-11-20 16:07:04 +01:00
bea b14850acaa Bump bot version
continuous-integration/drone/push Build is passing
2022-11-20 06:15:14 +01:00
bea e592111d1b Update base JDA version
continuous-integration/drone/push Build is passing
2022-11-20 06:13:52 +01:00
bea cd46d601ec Remove pause feature
continuous-integration/drone/push Build is passing
2022-11-20 06:07:25 +01:00
bea c6ee0f3ae1 Sort commands alphabetically
continuous-integration/drone/push Build is passing
2022-11-20 06:05:07 +01:00
bea f156727413 Optimize imports
continuous-integration/drone/push Build is passing
2022-11-20 06:04:34 +01:00
bea a2c1944a32 Move to class-based command handling
continuous-integration/drone/push Build is passing
Having everything in a single class is bad practice, so different classes for each command were made.
2022-11-20 06:04:00 +01:00
bea dd4ffe252e Add command to stop bot process
continuous-integration/drone/push Build is passing
Previously, anyone could send the keywords in chat and kill the bot. Now, only the set bot owner can run the command.
2022-11-20 05:57:58 +01:00
bea bd76562bcc Remove "flip a coin" message-command
continuous-integration/drone/push Build is passing
We have /coinflip now
2022-11-20 05:48:31 +01:00
bea cc671499cd Fix null argument error in clearchat
continuous-integration/drone/push Build is passing
2022-11-20 05:47:29 +01:00
bea 96953bddcb Make messages prettier
continuous-integration/drone/push Build is passing
2022-11-20 05:43:17 +01:00
bea 7d9c820243 Implement fully functional clearchat command
continuous-integration/drone/push Build is passing
The command now supports potentially-infinite message deletion and exception catching (eg messages older than 2 weeks). No longer limited to 100 messages per run.
2022-11-20 05:33:04 +01:00
bea e1ecc310cc Remove dangerous old clearchat message
continuous-integration/drone/push Build is passing
Previous clearchat message had no permissions set (it was just a demo) and didn't support slash commands.
2022-11-20 03:53:53 +01:00
bea fca7c2d26f Fix command registration
continuous-integration/drone/push Build is passing
2022-11-20 03:52:15 +01:00
bea 813107a2f9 Attempt to fix commands getting unregistered
continuous-integration/drone/push Build is passing
2022-11-20 03:49:53 +01:00
bea bfb4aae2aa Register clear command 2022-11-20 03:42:59 +01:00
bea f2dc70569d Implement basic clear-chat slash command 2022-11-20 03:41:51 +01:00
bea 771e115bbd Update startup method
continuous-integration/drone/push Build is passing
Small changes to improve stability and readability.
2022-11-20 03:25:51 +01:00
bea fddabae3c3 Make commands util class grab API instance
continuous-integration/drone/push Build is passing
Instead of passing it as an argument, let the class grab the instance itself.
2022-11-20 03:18:14 +01:00
bea 8b9ce25684 Add shutdown interrupt signal listener
This way, we can nicely close the API connection and perform general cleanup.
2022-11-20 03:17:37 +01:00
bea b43b882cab Add coinflip slash command
continuous-integration/drone/push Build is passing
2022-11-20 03:07:43 +01:00
bea fb69dcd863 Implement basic slash commands support
continuous-integration/drone/push Build is passing
2022-11-20 03:01:46 +01:00
bea add9dc0632 Update a comment
continuous-integration/drone/push Build is passing
2022-08-26 20:57:23 +02:00
bea 8b2fee6aec Optimize args extraction
continuous-integration/drone/push Build is passing
2022-08-26 20:43:49 +02:00
bea ff4ffba45d Implement verbosity-changer command at runtime
continuous-integration/drone/push Build is passing
2022-08-26 20:43:12 +02:00
bea d085a671c5 Update pause message
continuous-integration/drone/push Build is passing
2022-08-26 20:29:29 +02:00
bea 3cf8a1c92a Lower invite-link logging delay 2022-08-26 20:29:10 +02:00
bea a18b34b784 Add pause command to halt processing
continuous-integration/drone/push Build is passing
Useful for now since I have two instances of the bot running in the same servers and I don't want both of them to respond.
2022-08-26 20:27:46 +02:00
bea 2443adfccc Document verbose startup argument
continuous-integration/drone/push Build is passing
2022-08-26 16:30:56 +02:00
bea b3429f9203 Enable JavaDocs generation in Drone CI
continuous-integration/drone/push Build is passing
2022-08-26 16:27:04 +02:00
bea aa223df480 Implement JavaDocs
continuous-integration/drone/push Build is passing
JavaDocs can be generated with mvn javadoc:javadoc and will be available in target/site/apidocs.
2022-08-26 16:25:41 +02:00
bea 70570624e1 Move shutdown log to delayed actions
continuous-integration/drone/push Build is passing
2022-08-26 03:50:43 +02:00
bea d15132e6d6 Add shutdown event to logs
continuous-integration/drone/push Build is passing
2022-08-26 03:48:55 +02:00
bea 3416c13f10 Add small delay before shutdown
continuous-integration/drone/push Build is passing
2022-08-26 03:48:15 +02:00
bea ffab94f525 Add basic shutdown command
continuous-integration/drone/push Build is passing
2022-08-26 03:46:36 +02:00
bea 0c09a03255 Improve message deletion command
continuous-integration/drone/push Build is passing
It's now supported on all TextChannels, not only GuildMessageChannels
2022-08-26 03:39:57 +02:00
bea e4ecd15867 Add simple greeting message
continuous-integration/drone/push Build is passing
2022-08-26 01:47:01 +02:00
bea 63bed66073 Improve message deletion command
continuous-integration/drone/push Build is passing
Now you can specify how many messages to clear, and we aren't spamming Discord's API.
2022-08-26 01:44:53 +02:00