package social.gensokyo.discordbot
import listeners.Reactions
import ackcord._
import slick.jdbc.JdbcBackend.Database
import scala.concurrent.ExecutionContext.Implicits.global
import social.gensokyo.discordbot.listeners.Messages
class GensokyoBot(token: String)(implicit db: Database) {
val clientSettings: ClientSettings = ClientSettings(token)
clientSettings.createClient().map(client => {
client.onEventSideEffectsIgnore {
case APIMessage.Ready(_, _, _) => println("Now Ready")
case _ =>
}
val reactionListeners = new Reactions(client.requests)(client)
val messageListeners = new Messages(client.requests)(client)
client.registerListener(reactionListeners.onUserReactAddRole)
client.registerListener(reactionListeners.onUserReactRemoveRole)
client.registerListener(messageListeners.onUserMessage)
client.login();
})
}