No description
  • Kotlin 98.9%
  • Dockerfile 1.1%
Find a file
2026-07-23 01:20:13 +02:00
gradle/wrapper init nouvelle base de code 2026-03-21 09:06:44 +01:00
src/main Modified code to wait for lavalink to start 2026-07-23 01:20:13 +02:00
.dockerignore added dockerfile and dockerignore 2026-04-11 20:03:19 +02:00
.gitignore added dockerfile and dockerignore 2026-04-11 20:03:19 +02:00
application.yml Changed libs for more kotlin-based ones 2026-07-22 17:54:32 +02:00
build.gradle.kts Implemented Loop and Stop command 2026-07-23 00:26:11 +02:00
docker-compose.dev.yml Updated Readme, renamed compose file and changed version 2026-07-23 00:43:29 +02:00
Dockerfile Changed libs for more kotlin-based ones 2026-07-22 17:54:32 +02:00
gradle.properties init nouvelle base de code 2026-03-21 09:06:44 +01:00
gradlew init nouvelle base de code 2026-03-21 09:06:44 +01:00
gradlew.bat init nouvelle base de code 2026-03-21 09:06:44 +01:00
LICENSE init des libs, ajout readme et lisence 2026-03-21 09:28:47 +01:00
README.md Modified docker and code in order to wait for lavalink to start 2026-07-23 01:14:05 +02:00
settings.gradle.kts init nouvelle base de code 2026-03-21 09:06:44 +01:00

ANTHONUS-bot

Personal Discord bot using Kotlin and Kord.

Prerequisites

  • Java 25
  • Gradle

Installation and Startup

Development

ENV variables you'll have to set up :

  • token : Your discord bot token ENV variables you can set up but optional :
  • lavakord_url
  • lavakord_port
  • lavakord_password

Default configuration for Lavalink is present in the application.yml file

Docker compose file for launching an instance of lavalink is in docker-compose.dev.yml

Production with Docker Compose

Docker compose file:

services:
  anthonus-bot:
    image: git.anthonus.fr/anthonus/anthonus-bot:latest
    container_name: anthonus-bot
    restart: unless-stopped
    depends_on:
      - lavalink
    environment:
      - token=<your_discord_bot_token>
      - lavakord_url=lavalink
      - lavakord_port=2281
      - lavakord_password=youshallnotpass # PLEASE change that
    volumes:
      - ./logs/bot:/app/logs

  lavalink:
    image: ghcr.io/lavalink-devs/lavalink:4
    container_name: lavalink
    restart: unless-stopped
    ports:
      - "2281:2281"
    volumes:
      - ./application.yml:/opt/Lavalink/application.yml
      - ./logs/lavalink:/opt/Lavalink/logs

Put this application.yml at the same level as your compose file :

server:
  port: 2281
  address: 0.0.0.0

lavalink:
  plugins:
    - dependency: "dev.lavalink.youtube:youtube-plugin:1.18.1"
      repository: "https://maven.lavalink.dev/releases"
  server:
    password: "youshallnotpass" # Put the same password as the lavakord_password env variable
    sources:
      youtube: false
      bandcamp: true
      soundcloud: true
      twitch: true
      vimeo: true
      http: true
      local: false
    bufferDurationMs: 400
    frameBufferDurationMs: 5000
    opusEncodingQuality: 10
    resamplingQuality: HIGH
    trackStuckThresholdMs: 10000

metrics:
  prometheus:
    enabled: false

logging:
  file:
    max-history: 30
    max-size: 1GB
  path: ./logs

  level:
    root: INFO
    lavalink: INFO

License

This project is distributed under the GNU GPL v3.0 license.
See the LICENSE file for the full text.