Commit Graph

52 Commits

Author SHA1 Message Date
Bea 50ccda214f Finish command completion listener implementation
continuous-integration/drone/push Build is passing Details
Very similarly to how the slash command interface works, now a slash command auto-completion interface also exists, with its respective listener.
2022-11-23 00:01:05 +01:00
Bea ff084cf8e8 Rename datasource package
continuous-integration/drone/push Build is passing Details
2022-11-22 23:44:34 +01:00
Bea 40aac28e34 Make bot version consistent with Maven
continuous-integration/drone/push Build is passing Details
A new internal properties file has been added. Maven will scan this file and replace any value it finds.
2022-11-22 23:28:59 +01:00
Bea b2a62d754e Make invite support both slash and message commands
continuous-integration/drone/push Build is passing Details
2022-11-22 21:42:35 +01:00
Bea c7208eef84 Make botinfo support both slash and message commands
continuous-integration/drone/push Build is passing Details
2022-11-22 21:02:48 +01:00
Bea 4015aecc99 Make coinflip support both slash and message commands
continuous-integration/drone/push Build is passing Details
2022-11-22 20:50:37 +01:00
Bea 3f1835e059 Move clearchat command to base class
continuous-integration/drone/push Build is passing Details
The "clear" command now supports both slash commands and message commands, having identical behavior in both situations.
2022-11-22 20:39:55 +01:00
Bea a9790b3525 Complete message command parser and listener
continuous-integration/drone/push Build is passing Details
The message command listener is now completed and the bot now also supports message-based commands with multiple aliases.
2022-11-22 16:19:08 +01:00
Bea 244e8ace76 Remove redundant API command fetcher
continuous-integration/drone/push Build is passing Details
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 882c695484 Make slash commands interface and load them dynamically
continuous-integration/drone/push Build is passing Details
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 d3db53a451 Cleanup imports 2022-11-22 00:34:37 +01:00
Bea 656dff4b26 Refactor packages
continuous-integration/drone/push Build is passing Details
2022-11-22 00:31:52 +01:00
Bea 8faa9c4677 Refactor datasource classes
continuous-integration/drone/push Build is passing Details
2022-11-22 00:28:33 +01:00
Bea 843ee43275 Finish implementing configuration file
continuous-integration/drone/push Build is passing Details
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 Details
2022-11-21 23:36:42 +01:00
Bea c650caa090 Finish configuration init method
continuous-integration/drone/push Build is passing Details
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 Details
2022-11-21 20:20:11 +01:00
Bea a5ddbf0d2e Implement heartbeat for uptime monitoring
continuous-integration/drone/push Build is passing Details
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 163619a7f8 Improve registered commands caching
continuous-integration/drone/push Build is passing Details
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 e9f475cb59 Refactor code and packages
continuous-integration/drone/push Build is passing Details
2022-11-21 15:02:40 +01:00
Bea 79c8f1a95e Start implementing bot info command
continuous-integration/drone/push Build is failing Details
2022-11-21 12:19:35 +01:00
Bea f73b489844 Bump version
continuous-integration/drone/push Build is passing Details
2022-11-21 11:15:23 +01:00
Bea 97980f8ed9 Bump version
continuous-integration/drone/push Build is passing Details
2022-11-21 00:28:51 +01:00
Bea 98a162a33b Implement SQLite database solving #1
continuous-integration/drone/push Build is passing Details
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 3d626bb46f Move command handling out of constructor, add coin reflip command
continuous-integration/drone/push Build is passing Details
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 913e8e023a Refactor command packages
continuous-integration/drone/push Build is passing Details
2022-11-20 18:56:57 +01:00
Bea 3474593dc9 Implement command force-refresh arg
continuous-integration/drone/push Build is passing Details
2022-11-20 18:54:13 +01:00
Bea 33d81acc64 Improve internal documentation
continuous-integration/drone/push Build is passing Details
2022-11-20 18:11:00 +01:00
Bea 18db0282d5 Implement invite link command
continuous-integration/drone/push Build is passing Details
2022-11-20 16:07:04 +01:00
Bea b14850acaa Bump bot version
continuous-integration/drone/push Build is passing Details
2022-11-20 06:15:14 +01:00
Bea e592111d1b Update base JDA version
continuous-integration/drone/push Build is passing Details
2022-11-20 06:13:52 +01:00
Bea 771e115bbd Update startup method
continuous-integration/drone/push Build is passing Details
Small changes to improve stability and readability.
2022-11-20 03:25:51 +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 fb69dcd863 Implement basic slash commands support
continuous-integration/drone/push Build is passing Details
2022-11-20 03:01:46 +01:00
Bea add9dc0632 Update a comment
continuous-integration/drone/push Build is passing Details
2022-08-26 20:57:23 +02:00
Bea 8b2fee6aec Optimize args extraction
continuous-integration/drone/push Build is passing Details
2022-08-26 20:43:49 +02:00
Bea ff4ffba45d Implement verbosity-changer command at runtime
continuous-integration/drone/push Build is passing Details
2022-08-26 20:43:12 +02:00
Bea 3cf8a1c92a Lower invite-link logging delay 2022-08-26 20:29:10 +02:00
Bea 59c5e09f14 Add demo clear-chat command
continuous-integration/drone/push Build is passing Details
This command is very unoptimized (spawning 12 threads) and sometimes hits 429 errors, but it works until things get more serious. Also it's hardcoded to only delete 10 messages.
2022-08-26 01:15:10 +02:00
Bea a875053435 Make the bot play Project DIVA
continuous-integration/drone/push Build is passing Details
2022-08-26 00:39:55 +02:00
Bea a48daf7c8d Add coin-flip with random utils class and allow verbosity as arg
continuous-integration/drone/push Build is passing Details
2022-08-26 00:13:31 +02:00
Bea 59a63b724a Add basic ping response
continuous-integration/drone/push Build is passing Details
2022-08-25 23:20:51 +02:00
Bea 1cff5890bf Fix user-id and invite-link messages sometimes being swapped in logs
continuous-integration/drone/push Build is passing Details
2022-08-25 23:03:33 +02:00
Bea 7bbb22535a Make minor changes
continuous-integration/drone/push Build is passing Details
2022-08-25 22:59:47 +02:00
Bea 1f12dcbb1c Add basic README and ASCII logo
continuous-integration/drone/push Build is passing Details
2022-08-25 22:54:08 +02:00
Bea 94c126e32b Fix logger timestamp not showing time
continuous-integration/drone/push Build is passing Details
2022-08-25 22:43:04 +02:00
Bea 188eafa2ee Add a delayed log method
continuous-integration/drone/push Build is passing Details
2022-08-25 22:37:32 +02:00
Bea 4853e7e07c Add invite-link generation and logging
continuous-integration/drone/push Build is passing Details
The bot will now automatically find its own user-id and generate an invite link, then it will log the link.
2022-08-25 22:29:14 +02:00
Bea 58963d2653 Make bot token a startup argument
continuous-integration/drone/push Build is passing Details
2022-08-25 22:20:05 +02:00
Bea d75aa7ad19 Add playing state
continuous-integration/drone/push Build is passing Details
2022-08-25 22:18:36 +02:00