Skip to content

mesalytic/MesalyticBot

Repository files navigation

Mesalytic (Helixus JDA)

GitHub Made In Java 18 Gradle

Mesalytic is the new version of the Helixus Discord bot, written in Java.

It is still in active development, with a release ETA of late october 2022.

SelfHost

Disclaimer

A prepared JAR is available at download in the Release tab.

If you want to modify the source code itself to make it fit your needs:

  • You are required to have at least some Java knowledge, know how MariaDB databases work, and how Maven works.
  • No support will be given for self-host issues, you should know what you are doing before starting.

Requirements

You need to have the Oracle JDK (or the OpenJDK) in version 18 or later.

You also need to have a MariaDB/MySQL database set up. See here for the schemas.

  • If you want to use Music Functionalities, you should need a Lavalink Instance, see Third Party.
  • If you want to use the Twitter Notifier feature, you need to have a Twitter Consumer Key/Secret, and a Access Token/Secret. See this example to know how to get the Access keys.

Database Schemas

In order for the bot to properly store user and server settings, we use the MariaDB database.

The database itself contains tables, that are essentials for the bot to properly run.

The database schemas can be found here.

Environements Variables

There should be a .env file present on the root of the directory alongside the JAR file.

Here are the variables that should be set :

  • TOKEN : The token of the bot.
  • TOKENBETA (OPTIONAL): The token of the bot (when ran with -Ddev=true flag)
  • LAVALINKURI (OPTIONAL) : The URI of the Lavalink instance. See here for more info
  • LAVALINKPWD (OPTIONAL) : The password of the Lavalink instance. See here for more info
  • TWITTER_CONSUMER_KEY (OPTIONAL): The Consumer Key of your Twitter App.
  • TWITTER_CONSUMER_SECRET (OPTIONAL): The Consumer Secret of your Twitter App.
  • TWITTER_ACCESS_TOKEN (OPTIONAL): The Access Token of a Twitter Account connected with your Twitter App. See here for more info.
  • TWITTER_ACCESS_SECRET (OPTIONAL): The Access Secret of a Twitter Account connected with your Twitter App. See here for more info.
  • DISCORD_STATUS_WEBHOOKURL : The Discord Webhook URL that will report any Gateway Status linked to your bot.
  • DISCORD_ERROR_WEBHOOKURL : The Discord Webhook URL that will report any errors to a channel.
  • DISCORD_CMD_WEBHOOKURL : The Discord Webhook URL that will report any commands used. Must be used for debugging and safety reasons only. Should not be used to store user data.

License

Mesalytic is an open-sourced software licensed under the Apache License 2.0

Third Party

Mesalytic relies on the following projects:

Used code from

Name License
Twemoji.java (SkyBot) GNU Affero General Public License v3.0

Services

Name License
Lavalink MIT License
LavaSrc Apache License 2.0

Third Party Dependencies

Name License
JDA (Java Discord API) Apache License 2.0
DotEnv Java Apache License 2.0
Lavalink Client (forked from KittyBot-Org) MIT License
Reflections Apache License 2.0
MariaDB Connector/J GNU Lesser General Public License v2.1
Json Simple Apache License 2.0
Apache Common Lang Apache License 2.0
OkHTTP Client 3 Apache License 2.0
Exp4J Apache License 2.0
JLatexMath Apache License 2.0
Discord Webhooks Apache License 2.0
Logback Classic Eclipse Public License v1.0 & GNU Lesser General Public License v2.1
Twitter4J Apache License 2.0
HikariCP Apache License 2.0
emoji-java MIT License

About

Mesalytic is a Discord bot written in Java.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages