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

96 lines
4.5 KiB
Kotlin

package nl.voidcorp.dbot
import net.dv8tion.jda.core.OnlineStatus
import net.dv8tion.jda.core.Permission
import net.dv8tion.jda.core.events.guild.voice.GuildVoiceLeaveEvent
import net.dv8tion.jda.core.events.message.MessageReceivedEvent
import net.dv8tion.jda.core.hooks.ListenerAdapter
import nl.voidcorp.dbot.commands.GSM
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.message.contentRaw.contains("@random") and
(event.author != event.jda.selfUser) and
(GSM.getSettings(event.guild).adminRoles.any { it in event.member.roles.map { role -> role.idLong } }
or event.member.hasPermission(Permission.ADMINISTRATOR))
) {
val mem = event.textChannel.members.filter { !it.user.isBot }
.filter { it.onlineStatus in mutableListOf(OnlineStatus.ONLINE, OnlineStatus.IDLE) }
.filter { it.user.idLong != event.author.idLong }.random()
event.channel.sendMessage("Hey, ${mem.asMention} look here ^").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 onGuildVoiceLeave(event: GuildVoiceLeaveEvent) {
if (event.channelLeft.members.size == 1) {
guildMusicMap[event.guild.idLong]?.clearQueue()
}
}
}