Initial commit: Discord bot with XP system, voice channels, moderation logs, and member counter

This commit is contained in:
loki5512344 2026-05-11 13:55:12 +02:00
commit 0f664e317e
132 changed files with 12415 additions and 0 deletions

75
build.gradle Normal file
View file

@ -0,0 +1,75 @@
plugins {
id 'java'
id 'application'
}
group = 'creator.loki'
version = '1.0.0'
repositories {
mavenCentral()
}
dependencies {
// JDA - Discord API
implementation('net.dv8tion:JDA:5.0.0-beta.20') {
exclude module: 'opus-java'
}
// LavaPlayer для голосового TTS
implementation 'dev.arbjerg:lavaplayer:2.2.2'
// dotenv для загрузки .env
implementation 'io.github.cdimascio:dotenv-java:3.0.0'
// Logging
implementation 'org.slf4j:slf4j-api:2.0.12'
implementation 'ch.qos.logback:logback-classic:1.5.3'
// JSON
implementation 'com.google.code.gson:gson:2.10.1'
// Caffeine Cache
implementation 'com.github.ben-manes.caffeine:caffeine:3.1.8'
// Google Guice - Dependency Injection
implementation 'com.google.inject:guice:7.0.0'
// SQLite Database
implementation 'org.xerial:sqlite-jdbc:3.45.1.0'
// Testing
testImplementation 'org.junit.jupiter:junit-jupiter:5.10.2'
testImplementation 'org.mockito:mockito-core:5.11.0'
testImplementation 'org.mockito:mockito-junit-jupiter:5.11.0'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}
java {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
test {
useJUnitPlatform()
}
application {
mainClass = 'creator.loki.App'
}
jar {
manifest {
attributes(
'Main-Class': 'creator.loki.App'
)
}
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
from {
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
}
}