77 lines
1.9 KiB
Kotlin
77 lines
1.9 KiB
Kotlin
package nl.voidcorp.dbot.commands
|
|
|
|
import net.dv8tion.jda.core.JDA
|
|
import net.dv8tion.jda.core.entities.*
|
|
import net.dv8tion.jda.core.events.message.MessageReceivedEvent
|
|
|
|
class UnityCommandEvent(
|
|
val event: MessageReceivedEvent,
|
|
val args: String,
|
|
val client: UnityCommandClient
|
|
) {
|
|
fun splitMessage(stringtoSend: String): MutableList<String> {
|
|
var msg = stringtoSend
|
|
val msgs = mutableListOf<String>()
|
|
msg = msg.trim { it <= ' ' }
|
|
while (msg.length > 2000) {
|
|
val leeway = 2000 - msg.length % 2000
|
|
var index = msg.lastIndexOf("\n", 2000)
|
|
if (index < leeway)
|
|
index = msg.lastIndexOf(" ", 2000)
|
|
if (index < leeway)
|
|
index = 2000
|
|
val temp = msg.substring(0, index).trim { it <= ' ' }
|
|
if (temp != "")
|
|
msgs.add(temp)
|
|
msg = msg.substring(index).trim { it <= ' ' }
|
|
}
|
|
if (msg != "")
|
|
msgs.add(msg)
|
|
return msgs
|
|
}
|
|
|
|
|
|
fun reply(embed: MessageEmbed) {
|
|
event.channel.sendMessage(embed).queue()
|
|
}
|
|
|
|
fun reply(message: Message) {
|
|
event.channel.sendMessage(message).queue()
|
|
}
|
|
|
|
fun reply(message: String) {
|
|
event.channel.sendMessage(message).queue()
|
|
}
|
|
|
|
fun reply(message: String, success: (message: Message) -> Unit) {
|
|
event.channel.sendMessage(message).queue(success)
|
|
}
|
|
|
|
val member: Member
|
|
get() = event.member
|
|
|
|
val guild: Guild
|
|
get() = event.guild
|
|
|
|
val channelType: ChannelType
|
|
get() = event.channelType
|
|
|
|
val textChannel: TextChannel?
|
|
get() = event.textChannel
|
|
|
|
val message: Message
|
|
get() = event.message
|
|
|
|
val selfUser: SelfUser
|
|
get() = jda.selfUser
|
|
|
|
val jda: JDA
|
|
get() = event.jda
|
|
|
|
val selfMember: Member
|
|
get() = guild.selfMember
|
|
|
|
val author: User
|
|
get() = event.author
|
|
|
|
} |