The many modules of AckCord

While the modules listed at the start are the main modules you want to depend on, AckCord has many more if you feel that you don’t need the full package.

Here is a map of all the modules, and how they depend on each other

      +----> voice ------> lavaplayer-core -+ 
      |                           ^         |   
      |                           |         v   
 data +----> gateway --> core ----+----> ackcord
      |                   ^                 ^   
      |                   |                 |
      +----> requests ----+-> commands -----+

Make sure to add the following line to your SBT file if you’re using Lavaplayer:

resolvers += Resolver.JCenterRepository

ackcord-data

libraryDependencies += "net.katsstuff" %%% "ackcord-data" % "0.18.1"

Provides access to all the data objects, encoders and decoders used by AckCord. This module is also crosscompiled for Scala.Js. Wonderful if you want to build a web panel for your bot in Scala, and don’t want to redefine all the data objects.

ackcord-requests

libraryDependencies += "net.katsstuff" %% "ackcord-requests" % "0.18.1"

Contains all the requests in AckCord.

ackcord-gateway

libraryDependencies += "net.katsstuff" %% "ackcord-gateway" % "0.18.1"

Contains the code for the AckCord gateway implementation. Depend on this if you want to build custom logic from the gateway and on.

ackcord-voice

libraryDependencies += "net.katsstuff" %% "ackcord-voice" % "0.18.1"

Contains all the code for the voice stuff in AckCord.

ackcord-commands

libraryDependencies += "net.katsstuff" %% "ackcord-commands" % "0.18.1"

The commands API module.

ackcord-core

libraryDependencies += "net.katsstuff" %% "ackcord-core" % "0.18.1"

The low level API module of AckCord. Provides the in memory cache.

ackcord-lavaplayer-core

libraryDependencies += "net.katsstuff" %% "ackcord-lavaplayer-core" % "0.18.1"

Provides an implementation to the the voice module using lavaplayer and core.

To use, first create an instance of the LavaplayerHandler actor. This actor should be shared for an entire guild. Check the objects in the companion object of LavaplayerHandler for the valid messages you can send it.

ackcord

libraryDependencies += "net.katsstuff" %% "ackcord" % "0.18.1"

The high level API, includes all the other modules.