OttoBot/src/main/kotlin/nl/voidcorp/dbot/Events.kt

118 lines
5.4 KiB
Kotlin

package nl.voidcorp.dbot
import net.dv8tion.jda.core.events.guild.voice.GuildVoiceLeaveEvent
import net.dv8tion.jda.core.events.message.MessageReceivedEvent
import net.dv8tion.jda.core.events.message.react.MessageReactionAddEvent
import net.dv8tion.jda.core.events.message.react.MessageReactionRemoveEvent
import net.dv8tion.jda.core.hooks.ListenerAdapter
import nl.voidcorp.dbot.music.guildMusicMap
object Events : ListenerAdapter() {
override fun onMessageReceived(event: MessageReceivedEvent) {
if ((event.message.contentStripped.toLowerCase().contains("fraud"))
and (event.author != event.jda.selfUser)
) {
val e = event.message.guild.getEmotesByName("fr00d", true).firstOrNull()
if (e != null)
event.message.addReaction(e).queue()
}
/*if (event.message.voiceChannel.idLong == 499628388659625995) {
if (event.message.mentionedMembers.contains(event.guild.getMember(event.jda.selfUser)) and (event.message.author != event.jda.selfUser)) {
if (event.message.contentStripped.toLowerCase().contains("hello")) {
val i = Random.nextInt(10)
if (i > 8) {
event.voiceChannel.sendMessage("Can you speak up or I'll throw you a microphone").queue()
} else {
event.voiceChannel.sendMessage("Hello, ${event.author.asMention}").queue()
}
} else {
event.voiceChannel.sendMessage("We'll discuss that later").queue()
}
}
}*/
if (event.author.idLong == 168743656738521088 && event.message.mentionedMembers.contains(
event.guild.getMember(
event.jda.selfUser
)
)
) {
/*if (event.message.contentStripped.contains("hide")) {
if (event.message.mentionedChannels.isNotEmpty()) {
val override = event.message.mentionedChannels[0].getPermissionOverride(event.guild.getRoleById(499512961103167498))
override.denied.add(Permission.MESSAGE_READ)
override.allowed.remove(Permission.MESSAGE_READ)
}
}
if (event.message.contentStripped.contains("show")) {
if (event.message.mentionedChannels.isNotEmpty()) {
val override = event.message.mentionedChannels[0].getPermissionOverride(event.guild.getRoleById(499512961103167498))
override.allowed.add(Permission.MESSAGE_READ)
override.denied.remove(Permission.MESSAGE_READ)
}
}*/
/*event.voiceChannel.getMessageById(499929881883181064).queue {
it.editMessage("yote").queue()
it.addReaction("\uD83C\uDFB5").queue()
it.addReaction("\uD83D\uDCBE").queue()
it.addReaction("\uD83D\uDCF8").queue()
it.addReaction("\uD83C\uDFA8").queue()
it.addReaction("\uD83D\uDD0D").queue()
it.editMessage(MessageBuilder().append("**Pick a role:**\n").append(event.message.guild.getRoleById(499925623188488192)).append(
": \uD83C\uDFB5\n").append(event.guild.getRoleById(499525260912361472)).append(": \uD83D\uDCBE\n")
.append(event.guild.getRoleById(499525337034653707)).append(": \uD83D\uDCF8\n")
.append(event.guild.getRoleById(499525305405276181)).append(": \uD83C\uDFA8\n")
.append(event.guild.getRoleById(499525364708540416)).append(": \uD83D\uDD0D\n").build()
).queue()
}*/
}
}
override fun onMessageReactionAdd(event: MessageReactionAddEvent) {
if (event.channel.idLong == 499523462449201162 && event.messageIdLong == 499929881883181064) {
event.guild.controller.addSingleRoleToMember(
event.member, event.guild.getRoleById(
when (event.reactionEmote.name) {
"\uD83C\uDFB5" -> 499925623188488192
"\uD83D\uDCBE" -> 499525260912361472
"\uD83D\uDCF8" -> 499525337034653707
"\uD83C\uDFA8" -> 499525305405276181
"\uD83D\uDD0D" -> 499525364708540416
else -> 499938201444810782
}
)
).queue()
}
}
override fun onMessageReactionRemove(event: MessageReactionRemoveEvent) {
if (event.channel.idLong == 499523462449201162 && event.messageIdLong == 499929881883181064) {
event.guild.controller.removeSingleRoleFromMember(
event.member, event.guild.getRoleById(
when (event.reactionEmote.name) {
"\uD83C\uDFB5" -> 499925623188488192
"\uD83D\uDCBE" -> 499525260912361472
"\uD83D\uDCF8" -> 499525337034653707
"\uD83C\uDFA8" -> 499525305405276181
"\uD83D\uDD0D" -> 499525364708540416
else -> 499938201444810782
}
)
).queue()
}
}
override fun onGuildVoiceLeave(event: GuildVoiceLeaveEvent) {
if (event.channelLeft.members.size == 1) {
guildMusicMap[event.guild.idLong]?.clearQueue()
}
}
}