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 { var msg = stringtoSend val msgs = mutableListOf() 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 }