A Discord bot used by the Official FTB Wiki (mostly me) to accomplish various automated tasks. Kind of experimental as of right now. This is a recreation of the original ESAEBSAD.
Because of some the dependencies no longer being maintained, ESAEBSAD2 is discontinued!
ESAEBSAD pronounced /i.ˈseɪ.bi.sæd.tu/ (e-say-b-sad-two). It stands for Experimental Self Aware Electronic Based Space Analyzing Droid [in the] 2nd-Dimension. Unfortunately, because the bot is stuck in the second dimension, it can't analyze space very well, so instead it just does random tasks that I want it to. Mostly this is just find-replace operations and things like that.
A Discord application token should already be generated, and a bot login and password should be generated (assuming you are using Gamepedia; if another service is used, it's probably just the username and password for the wikiLogin and wikiToken).
A gradle.properties
file must be created with the following properties:
discordToken
: the Discord bot account's token.wikiLogin
: the wiki bot's login. This is NOT the same as the bot's username on Gamepedia. This is viewable on Special:BotPasswords.wikiToken
: the wiki bot's token. This is generated by Special:BotPasswords. Note when generated, it cannot be viewed again, so make sure to put it in the properties file so it isn't lost. If forgotten a new bot password can be created but then you have to update everything.
An example_gradle.properties
will show an example of this configuration (without any confidential information, of course).
You should either have Gradle installed or have your IDE manage it.
After configured, the commands gradle build
will compile the code and grab all of the necessary libraries, and gradle run
will run the bot. If the code is compiled, it doesn't need to be re-compiled, but if changes are made to the code, then it needs to be re-compiled.
For development, I have an Eclipse run configuration that is a Gradle task of the tasks build
and run
.
Just run the command !help
and it will list all of the commands and how to use them. ezpz.
Gradle takes care of all of the dependencies so you don't need to worry about them, but here's what libraries this bot uses:
- Groovy
- Java Discord API 3 (aka JDA3) (not JDA 4, since sdcf4j doesn't support it yet)
- sdcf4j (the core and the JDA3 library)
- jwiki
ESAEBSAD2 is currently in a constant state of development. Current issues are in GitHub Issues. Any problems with the bot should be reported there.