Discord

 avatar
unknown
scala
2 years ago
1.3 kB
7
Indexable
package io.ffuel.facade.services

import com.sbuslab.sbus.Sbus
import com.sbuslab.utils.{FutureHelpers, Logging}
import com.typesafe.config.Config
import discord4j.core.DiscordClient
import discord4j.core.event.domain.message.MessageCreateEvent

class DiscordListener(sbus: Sbus,
                      config: Config) extends Logging with FutureHelpers {
  private val token = "token"
  private val channelId = "channel_id"

  def subscribeOnEventsInDiscordServer(): Unit = {
    DiscordClient.create(token)
      .withGateway(client => {
        val event = client.getEventDispatcher.on(classOf[MessageCreateEvent])
        event.subscribe((event: MessageCreateEvent) => {
          val message = event.getMessage.getContent
          val channel = event.getMessage.getChannel.block.getId.asString
          if (channel.equals(channelId)) {
            if (message.equals("/balances")) {
              sbus.command("discord.bot-webhook", "/balances")
            }
            if (message.equals("/overdrafts")) {
              sbus.command("discord.bot-webhook", "/overdrafts")
            }
            if (message.equals("/packs")) {
              sbus.command("discord.bot-webhook", "/packs")
            }
          }
        })

        event
      }).block()
  }
}
Editor is loading...
Leave a Comment