fb3c08fc41
Add basic love calculator message command
2022-12-28 05:41:22 +01:00
c9ff329cbb
Make magicball support slash commands too
2022-12-28 05:41:22 +01:00
8f4f341aab
Improve magic ball answers
2022-12-28 05:41:22 +01:00
a030821197
Implement magic ball message command
2022-12-28 05:41:22 +01:00
b033763704
Improve diceroll looks, implement limits to avoid abuse
2022-12-28 05:41:21 +01:00
982902fc6d
Ignore bots interacting with hideko
2022-12-28 05:41:16 +01:00
00441f089f
Remove unneeded todo
2022-12-28 05:41:11 +01:00
1f6f23e917
Make clear command also delete the sender's message
2022-12-28 05:41:06 +01:00
1a8409994c
Implement basic functional diceroll command
2022-12-28 05:40:56 +01:00
b0a1381589
Fix command label being passed as arg in case of no args
2022-12-28 05:40:51 +01:00
9504921f27
Fallback to 0 instead of 1
2022-12-28 05:40:45 +01:00
c9528848bc
Fix console error when int parsing fails in clear message
2022-12-28 05:40:39 +01:00
2d1f6699ba
Re-register accidentally removed invite command
2022-12-28 05:40:34 +01:00
32ea099690
Fix messages with newlines not being handled for commands
2022-12-28 05:40:17 +01:00
1410e4e8af
Make say support both slash and message commands
2022-12-28 05:40:11 +01:00
c486630adb
Make avatar support both slash and message commands
2022-12-28 05:37:26 +01:00
50ccda214f
Finish command completion listener implementation
...
continuous-integration/drone/push Build is passing
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
ff084cf8e8
Rename datasource package
continuous-integration/drone/push Build is passing
2022-11-22 23:44:34 +01:00
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
b43b882cab
Add coinflip slash command
continuous-integration/drone/push Build is passing
2022-11-20 03:07:43 +01:00
fb69dcd863
Implement basic slash commands support
continuous-integration/drone/push Build is passing
2022-11-20 03:01:46 +01:00
add9dc0632
Update a comment
continuous-integration/drone/push Build is passing
2022-08-26 20:57:23 +02:00
8b2fee6aec
Optimize args extraction
continuous-integration/drone/push Build is passing
2022-08-26 20:43:49 +02:00
ff4ffba45d
Implement verbosity-changer command at runtime
continuous-integration/drone/push Build is passing
2022-08-26 20:43:12 +02:00
d085a671c5
Update pause message
continuous-integration/drone/push Build is passing
2022-08-26 20:29:29 +02:00
3cf8a1c92a
Lower invite-link logging delay
2022-08-26 20:29:10 +02:00
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
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
70570624e1
Move shutdown log to delayed actions
continuous-integration/drone/push Build is passing
2022-08-26 03:50:43 +02:00
d15132e6d6
Add shutdown event to logs
continuous-integration/drone/push Build is passing
2022-08-26 03:48:55 +02:00
3416c13f10
Add small delay before shutdown
continuous-integration/drone/push Build is passing
2022-08-26 03:48:15 +02:00
ffab94f525
Add basic shutdown command
continuous-integration/drone/push Build is passing
2022-08-26 03:46:36 +02:00
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
e4ecd15867
Add simple greeting message
continuous-integration/drone/push Build is passing
2022-08-26 01:47:01 +02:00
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
76c2c9e171
Move logger's anonymous runnable to lambda
continuous-integration/drone/push Build is passing
2022-08-26 01:15:57 +02:00
59c5e09f14
Add demo clear-chat command
...
continuous-integration/drone/push Build is passing
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
a875053435
Make the bot play Project DIVA
continuous-integration/drone/push Build is passing
2022-08-26 00:39:55 +02:00
00e30bd073
Add support for attachments in message logger
continuous-integration/drone/push Build is passing
2022-08-26 00:20:29 +02:00
7d068892e2
Include user tag in message logger
continuous-integration/drone/push Build is passing
2022-08-26 00:15:47 +02:00
a48daf7c8d
Add coin-flip with random utils class and allow verbosity as arg
continuous-integration/drone/push Build is passing
2022-08-26 00:13:31 +02:00
a032712450
Add verbose message logger
2022-08-26 00:13:06 +02:00
59a63b724a
Add basic ping response
continuous-integration/drone/push Build is passing
2022-08-25 23:20:51 +02:00
1cff5890bf
Fix user-id and invite-link messages sometimes being swapped in logs
continuous-integration/drone/push Build is passing
2022-08-25 23:03:33 +02:00
7bbb22535a
Make minor changes
continuous-integration/drone/push Build is passing
2022-08-25 22:59:47 +02:00
1f12dcbb1c
Add basic README and ASCII logo
continuous-integration/drone/push Build is passing
2022-08-25 22:54:08 +02:00
94c126e32b
Fix logger timestamp not showing time
continuous-integration/drone/push Build is passing
2022-08-25 22:43:04 +02:00
188eafa2ee
Add a delayed log method
continuous-integration/drone/push Build is passing
2022-08-25 22:37:32 +02:00
4853e7e07c
Add invite-link generation and logging
...
continuous-integration/drone/push Build is passing
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
58963d2653
Make bot token a startup argument
continuous-integration/drone/push Build is passing
2022-08-25 22:20:05 +02:00
d75aa7ad19
Add playing state
continuous-integration/drone/push Build is passing
2022-08-25 22:18:36 +02:00