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


libraryDependencies += "net.katsstuff" %%% "ackcord-data" % "0.17.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.


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

Contains all the requests in AckCord.


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

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


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

Contains all the code for the voice stuff in AckCord.


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

The commands API module.


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

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


libraryDependencies += "net.katsstuff" %% "ackcord-lavaplayer-core" % "0.17.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.


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

The high level API, includes all the other modules.