0016b5de30
Force using config enum class instead of direct entry path
continuous-integration/drone/push Build is passing
2022-11-22 23:42:21 +01:00
6480795368
Discontinue config.yml file in favor of class mapping
...
continuous-integration/drone/push Build is passing
The configuration entries are now mapped in an enum that transfers very well to SnakeYaml's YAML parsing. This is better because we no longer run the risk of entries getting mistyped in classes, or renamed without replacing them everywhere...
2022-11-22 23:40:44 +01:00
40aac28e34
Make bot version consistent with Maven
...
continuous-integration/drone/push Build is passing
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
70578d2ffc
Bump version to 0.4.0
...
continuous-integration/drone/push Build is passing
The new thread update deserves a decent version bump
2022-11-22 22:00:59 +01:00
5f73c4069b
Make bot commands run in separate threads by default
continuous-integration/drone/push Build is passing
2022-11-22 21:59:58 +01:00
b681acdbca
Make bot announce its prefix
continuous-integration/drone/push Build is passing
2022-11-22 21:48:13 +01:00
19100758cb
Bump version
continuous-integration/drone/push Build is passing
2022-11-22 21:42:46 +01:00
b2a62d754e
Make invite support both slash and message commands
continuous-integration/drone/push Build is passing
2022-11-22 21:42:35 +01:00
c186c9c576
Improve bot info page
continuous-integration/drone/push Build is passing
2022-11-22 21:32:20 +01:00
c7208eef84
Make botinfo support both slash and message commands
continuous-integration/drone/push Build is passing
2022-11-22 21:02:48 +01:00
89fc2aa0a6
Bump version to 0.3.1
...
continuous-integration/drone/push Build is passing
The bot is now in a semi-stable state, although still very lacking in terms of features.
2022-11-22 20:51:23 +01:00
96ea29b103
Reduce bot name to just Hideko
continuous-integration/drone/push Build is passing
2022-11-22 20:50:53 +01:00
4015aecc99
Make coinflip support both slash and message commands
continuous-integration/drone/push Build is passing
2022-11-22 20:50:37 +01:00
ff80e754ff
Add comment
2022-11-22 20:42:47 +01:00
3f1835e059
Move clearchat command to base class
...
continuous-integration/drone/push Build is passing
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
ecdb0c73e8
Add tiny comment
continuous-integration/drone/push Build is passing
2022-11-22 17:27:56 +01:00
655840dc82
Implement basic permission check for message commands
continuous-integration/drone/push Build is passing
2022-11-22 17:08:31 +01:00
11e4a07698
Refactor objects package
continuous-integration/drone/push Build is passing
2022-11-22 16:41:08 +01:00
a7ac446b0b
Remove the need to register slash commands separately
...
continuous-integration/drone/push Build is passing
We modified the slash command interface to allow getting command data, and created a generic implementation of it that automatically retrieves data from the command data. The interface should not be used now. Instead, extending the implementation is preferred as it provides a semi-working command already.
2022-11-22 16:40:02 +01:00
ee263a1297
Bump version to 0.3.0
...
continuous-integration/drone/push Build is passing
We finally reached a good status for the bot's internal structure, and can actually focus on features now. We also dropped the -slash tag because it's not restricted to slash commands anymore.
2022-11-22 16:20:28 +01:00
a9790b3525
Complete message command parser and listener
...
continuous-integration/drone/push Build is passing
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
501b1bc71c
Bump version
...
continuous-integration/drone/push Build is passing
Up to 0.2.8 because we are close to 0.3.0 since we made slash commands interfaces and a better command listener. However, we're still missing interface for command auto-completion and we should probably also register commands on discord's api from our interface instead of storing them again in a separate class.
2022-11-22 14:55:47 +01:00
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
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
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
7ae4790d5c
Add bot owner info to botinfo command
continuous-integration/drone/push Build is passing
2022-11-22 00:45:58 +01:00
51de18206e
Refactor clearchat class
2022-11-22 00:35:10 +01:00
d3db53a451
Cleanup imports
2022-11-22 00:34:37 +01:00
656dff4b26
Refactor packages
continuous-integration/drone/push Build is passing
2022-11-22 00:31:52 +01:00
8faa9c4677
Refactor datasource classes
continuous-integration/drone/push Build is passing
2022-11-22 00:28:33 +01:00
f9e1578899
Fix heartbeat error not always being logged
continuous-integration/drone/push Build is passing
2022-11-22 00:12:24 +01:00
72115cbec2
Bump version
continuous-integration/drone/push Build is passing
2022-11-22 00:08:36 +01:00
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
b6bf366822
Allow reading values from config
continuous-integration/drone/push Build is passing
2022-11-21 23:36:42 +01:00
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
f74ae43673
Refactor Config class
continuous-integration/drone/push Build is passing
2022-11-21 20:20:11 +01:00
e396ce6417
Start implementing yaml loading
continuous-integration/drone/push Build is failing
2022-11-21 20:20:03 +01:00
66d27fe1fe
Start implementing config file
2022-11-21 20:04:28 +01:00
d9d0ce3236
Bump version
continuous-integration/drone/push Build is passing
2022-11-21 19:55:04 +01:00
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
0bcb5d58f4
Set message expiration time to 15 seconds
continuous-integration/drone/push Build is passing
2022-11-21 19:11:18 +01:00
531ff66bae
Bump version
continuous-integration/drone/push Build is passing
2022-11-21 19:07:49 +01:00
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
0aec543a46
Bump version
continuous-integration/drone/push Build is passing
2022-11-21 16:28:31 +01:00
326ad68e38
Add emoji to invite command button
continuous-integration/drone/push Build is passing
2022-11-21 16:24:21 +01:00
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
b015fddf3c
Make invite command nicer
continuous-integration/drone/push Build is passing
2022-11-21 16:11:16 +01:00
5e4e438340
Make minimal text changes
2022-11-21 15:59:27 +01:00
b35b962ac6
Implement basic say command
continuous-integration/drone/push Build is passing
2022-11-21 15:37:12 +01:00
4382f7d490
Fix issue tracker link
continuous-integration/drone/push Build is passing
2022-11-21 15:17:03 +01:00
3038be9a28
Actually register help command
continuous-integration/drone/push Build is passing
2022-11-21 15:14:57 +01:00
24bb560d93
Register help command
continuous-integration/drone/push Build is passing
2022-11-21 15:13:32 +01:00
78d5bd6beb
Make some messages nicer
2022-11-21 15:07:46 +01:00
3ff154eec6
Rename methods
continuous-integration/drone/push Build is passing
2022-11-21 15:04:12 +01:00
e9f475cb59
Refactor code and packages
continuous-integration/drone/push Build is passing
2022-11-21 15:02:40 +01:00
cdc45d62f2
Move uptime string generator to config class
continuous-integration/drone/push Build is passing
2022-11-21 15:00:37 +01:00
6998cc92e5
Bump version
continuous-integration/drone/push Build is passing
2022-11-21 14:55:01 +01:00
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
d2caccf080
Finish uptime string generator
2022-11-21 14:44:48 +01:00
79c8f1a95e
Start implementing bot info command
continuous-integration/drone/push Build is failing
2022-11-21 12:19:35 +01:00
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
083fef3911
Fix expired coinflip channel id bug
continuous-integration/drone/push Build is passing
2022-11-21 11:19:23 +01:00
f73b489844
Bump version
continuous-integration/drone/push Build is passing
2022-11-21 11:15:23 +01:00
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
7562e956bc
Remove leftover debug log
continuous-integration/drone/push Build is passing
2022-11-21 00:29:22 +01:00
97980f8ed9
Bump version
continuous-integration/drone/push Build is passing
2022-11-21 00:28:51 +01:00
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
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
7ffd3442c2
Remove code duplication in coinflip command
2022-11-20 22:23:26 +01:00
3a5b2a23c1
Add clearchat dismiss button
2022-11-20 22:23:14 +01:00
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
c44251ddb7
Move avatar resolutions to config class
continuous-integration/drone/push Build is passing
2022-11-20 19:00:27 +01:00
913e8e023a
Refactor command packages
continuous-integration/drone/push Build is passing
2022-11-20 18:56:57 +01:00
3474593dc9
Implement command force-refresh arg
continuous-integration/drone/push Build is passing
2022-11-20 18:54:13 +01:00
3578de17c8
Implement avatar resolution autocomplete
continuous-integration/drone/push Build is failing
2022-11-20 18:53:28 +01:00
679d16e1fa
Change avatar embed format
continuous-integration/drone/push Build is passing
2022-11-20 18:22:32 +01:00
33d81acc64
Improve internal documentation
continuous-integration/drone/push Build is passing
2022-11-20 18:11:00 +01:00
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
3e1ba12314
Implement avatar grabber command
continuous-integration/drone/push Build is passing
2022-11-20 17:19:40 +01:00
4817bacf5c
Improve invite command
continuous-integration/drone/push Build is passing
2022-11-20 16:20:50 +01:00
18db0282d5
Implement invite link command
continuous-integration/drone/push Build is passing
2022-11-20 16:07:04 +01:00
b14850acaa
Bump bot version
continuous-integration/drone/push Build is passing
2022-11-20 06:15:14 +01:00
e592111d1b
Update base JDA version
continuous-integration/drone/push Build is passing
2022-11-20 06:13:52 +01:00
cd46d601ec
Remove pause feature
continuous-integration/drone/push Build is passing
2022-11-20 06:07:25 +01:00
c6ee0f3ae1
Sort commands alphabetically
continuous-integration/drone/push Build is passing
2022-11-20 06:05:07 +01:00
f156727413
Optimize imports
continuous-integration/drone/push Build is passing
2022-11-20 06:04:34 +01:00
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
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
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
cc671499cd
Fix null argument error in clearchat
continuous-integration/drone/push Build is passing
2022-11-20 05:47:29 +01:00
96953bddcb
Make messages prettier
continuous-integration/drone/push Build is passing
2022-11-20 05:43:17 +01:00
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
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
fca7c2d26f
Fix command registration
continuous-integration/drone/push Build is passing
2022-11-20 03:52:15 +01:00
813107a2f9
Attempt to fix commands getting unregistered
continuous-integration/drone/push Build is passing
2022-11-20 03:49:53 +01:00
bfb4aae2aa
Register clear command
2022-11-20 03:42:59 +01:00
f2dc70569d
Implement basic clear-chat slash command
2022-11-20 03:41:51 +01:00
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
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
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