Commit 61bbc821 authored by Him188moe's avatar Him188moe

Improved message, demo

parent de487839
package net.mamoe.mirai.event.events.group;
import net.mamoe.mirai.Bot;
import net.mamoe.mirai.contact.Group;
import net.mamoe.mirai.contact.QQ;
import net.mamoe.mirai.message.defaults.MessageChain;
import org.jetbrains.annotations.NotNull;
/**
* @author Him188moe
*/
public final class GroupMessageEvent extends GroupEvent {
public final QQ sender;
public final MessageChain chain;
public final String message;
public GroupMessageEvent(@NotNull Bot bot, @NotNull Group group, @NotNull QQ sender, @NotNull MessageChain chain) {
super(bot, group);
this.sender = sender;
this.chain = chain;
this.message = chain.toString();
}
@NotNull
public MessageChain getChain() {
return chain;
}
@NotNull
public String getMessage() {
return message;
}
@NotNull
public QQ getSender() {
return sender;
}
}
package net.mamoe.mirai.event.events.group
import net.mamoe.mirai.Bot
import net.mamoe.mirai.contact.Group
import net.mamoe.mirai.contact.QQ
import net.mamoe.mirai.message.Message
import net.mamoe.mirai.message.defaults.MessageChain
/**
* @author Him188moe
*/
class GroupMessageEvent(bot: Bot, group: Group, val sender: QQ, val message: MessageChain) : GroupEvent(bot, group) {
@JvmSynthetic
suspend fun reply(message: Message) = group.sendMessage(message)
@JvmSynthetic
suspend fun reply(message: String) = group.sendMessage(message)
@JvmSynthetic
suspend fun reply(message: List<Message>) = group.sendMessage(message)
@JvmSynthetic
suspend fun reply(message: MessageChain) = group.sendMessage(message)
}
package net.mamoe.mirai.event.events.qq;
import net.mamoe.mirai.Bot;
import net.mamoe.mirai.contact.QQ;
import net.mamoe.mirai.message.defaults.MessageChain;
import org.jetbrains.annotations.NotNull;
import java.util.Objects;
/**
* @author Him188moe
*/
public final class FriendMessageEvent extends FriendEvent {
public final MessageChain message;
public FriendMessageEvent(@NotNull Bot bot, @NotNull QQ sender, @NotNull MessageChain message) {
super(bot, sender);
this.message = Objects.requireNonNull(message);
}
@NotNull
public MessageChain message() {
return message;
}
}
package net.mamoe.mirai.event.events.qq
import net.mamoe.mirai.Bot
import net.mamoe.mirai.contact.QQ
import net.mamoe.mirai.message.Message
import net.mamoe.mirai.message.defaults.MessageChain
/**
* @author Him188moe
*/
class FriendMessageEvent(bot: Bot, sender: QQ, val message: MessageChain) : FriendEvent(bot, sender) {
@JvmSynthetic
suspend fun reply(message: Message) = sender.sendMessage(message)
@JvmSynthetic
suspend fun reply(message: String) = sender.sendMessage(message)
@JvmSynthetic
suspend fun reply(message: List<Message>) = sender.sendMessage(message)
@JvmSynthetic
suspend fun reply(message: MessageChain) = sender.sendMessage(message)
}
......@@ -34,10 +34,10 @@ fun main() {
when {
it.message eq "你好" -> it.sender.sendMessage("你好!")
"复读" in it.message -> it.sender.sendMessage(it.message())
"复读" in it.message -> it.sender.sendMessage(it.message)
"发群" in it.message -> {
it.message().list.toMutableList().let { messages ->
it.message.list.toMutableList().let { messages ->
messages.removeAt(0)
Group(bot, 580266363).sendMessage(messages)
}
......@@ -53,13 +53,13 @@ fun main() {
image.upload(session, it.sender).get()
})*/
it.message eq "发图片2" -> it.sender.sendMessage(PlainText("test") + Image("{7AA4B3AA-8C3C-0F45-2D9B-7F302A0ACEAA}.jpg"))
it.message eq "发图片2" -> it.reply(PlainText("test") + Image("{7AA4B3AA-8C3C-0F45-2D9B-7F302A0ACEAA}.jpg"))
}
}
GroupMessageEvent::class.hookAlways {
when {
it.message.contains("复读") -> it.group.sendMessage(it.chain)
it.message.contains("复读") -> it.reply(it.message)
}
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment