Minimal Discord Bot which uses plugins to extend it's capabilities
Be very careful when adding plugins to the bot. The plugins have the same rights as the bot on your server and could cause some trouble. We are not responsible for plugins made by the community.
- Music - A plugin to make the bot play music in a voice channel.
- more to come...
Just use the command mvn install -pl :Bot -am
. A file Bot-{version}-jar-with-dependencies.jar has been created in
Bot/out/ and it has been installed in the local repo.
Run the command mvn install -pl :artifactId -am
for each plugin after replacing artifactId
by the corresponding
plugin's artifactId. The artifactId
of each plugin can be found in the <artifactId>
tag of each plugin's pom.xml.
After running the bot, the directory plugins
must have been created. Place the plugins' jar file in it. Your plugins
are installed. Bost will load them when you start it.
Start by creating a Maven project. Install the bot in the local repo by following Compile the bot then add Bost as a dependency to your project. Here's an example of pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<packaging>jar</packaging>
<version>1.0</version>
<modelVersion>4.0.0</modelVersion>
<groupId>your.groupid</groupId>
<artifactId>yourArtifactId</artifactId>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>fr.paragoumba.bost</groupId>
<artifactId>Bot</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
</project>
Your main class must extend Plugin. The entrypoint of each plugin is onEnable. For your plugin to be valid, there must be a file named plugin.yml containing at least the name of your plugin and the name of the main class with its package. Here's an example of plugin.yml:
name: YourPlugin
main: your.package.MainClassOfYourPlugin
version: "0.1"
author: Paragoumba
You can validate your file plugin.yml with the JSON schema bost-plugin-schema.json.