From 195cfc395c3a7c9a0fb8cfb0ac3c8295d1f80d62 Mon Sep 17 00:00:00 2001 From: Him188 Date: Thu, 30 Apr 2020 14:36:37 +0800 Subject: [PATCH] Add docs --- .../net.mamoe.mirai/event/events/BotEvents.kt | 219 +++++++++--------- .../net.mamoe.mirai/message/data/Image.kt | 3 +- 2 files changed, 114 insertions(+), 108 deletions(-) diff --git a/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/event/events/BotEvents.kt b/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/event/events/BotEvents.kt index 450a15b2f..8418f7fd4 100644 --- a/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/event/events/BotEvents.kt +++ b/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/event/events/BotEvents.kt @@ -91,6 +91,9 @@ data class BotReloginEvent( // region 消息 +/** + * 主动发送消息 + */ sealed class MessageSendEvent : BotEvent, BotActiveEvent, AbstractCancellableEvent() { abstract val target: Contact final override val bot: Bot @@ -105,6 +108,8 @@ sealed class MessageSendEvent : BotEvent, BotActiveEvent, AbstractCancellableEve override val target: Friend, var message: MessageChain ) : MessageSendEvent(), CancellableEvent + + // TODO: 2020/4/30 添加临时会话消息发送事件 } /** @@ -286,7 +291,7 @@ data class BotUnmuteEvent( } /** - * Bot 加入了一个新群 + * Bot 成功加入了一个新群 */ @MiraiExperimentalAPI data class BotJoinGroupEvent( @@ -398,7 +403,7 @@ data class GroupAllowMemberInviteEvent( // region 成员变更 /** - * 成员加入群的事件 + * 成员已经加入群的事件 */ sealed class MemberJoinEvent(override val member: Member) : GroupMemberEvent, BotPassiveEvent, Packet { /** @@ -415,7 +420,7 @@ sealed class MemberJoinEvent(override val member: Member) : GroupMemberEvent, Bo } /** - * 成员离开群的事件. 在事件广播前成员就已经从 [Group.members] 中删除 + * 成员已经离开群的事件. 在事件广播前成员就已经从 [Group.members] 中删除 */ sealed class MemberLeaveEvent : GroupMemberEvent { /** @@ -443,12 +448,112 @@ sealed class MemberLeaveEvent : GroupMemberEvent { } } +/** + * [Bot] 被邀请加入一个群. + */ +@SinceMirai("0.39.4") +data class BotInvitedJoinGroupRequestEvent( + override val bot: Bot, + /** + * 事件唯一识别号 + */ + val eventId: Long, + /** + * 邀请入群的账号的 id + */ + val invitorId: Long, + val groupId: Long, + val groupName: String, + /** + * 邀请人昵称 + */ + val invitorNick: String +) : BotEvent, Packet { + val invitor: Friend = this.bot.getFriend(invitorId) + + @JvmField + internal val responded: MiraiAtomicBoolean = MiraiAtomicBoolean(false) + + @JvmSynthetic + suspend fun accept() = bot.acceptInvitedJoinGroupRequest(this) + + @JvmSynthetic + suspend fun ignore() = bot.ignoreInvitedJoinGroupRequest(this) + + @JavaFriendlyAPI + @JvmName("accept") + fun __acceptBlockingForJava__() = + runBlocking { bot.acceptInvitedJoinGroupRequest(this@BotInvitedJoinGroupRequestEvent) } + + @JavaFriendlyAPI + @JvmName("ignore") + fun __ignoreBlockingForJava__() = + runBlocking { bot.ignoreInvitedJoinGroupRequest(this@BotInvitedJoinGroupRequestEvent) } +} + +/** + * 一个账号请求加入群事件, [Bot] 在此群中是管理员或群主. + */ +@SinceMirai("0.35.0") +data class MemberJoinRequestEvent( + override val bot: Bot, + /** + * 事件唯一识别号 + */ + val eventId: Long, + /** + * 入群申请消息 + */ + val message: String, + /** + * 申请入群的账号的 id + */ + val fromId: Long, + val groupId: Long, + val groupName: String, + /** + * 申请人昵称 + */ + val fromNick: String +) : BotEvent, Packet { + val group: Group = this.bot.getGroup(groupId) + + @JvmField + internal val responded: MiraiAtomicBoolean = MiraiAtomicBoolean(false) + + @JvmSynthetic + suspend fun accept() = bot.acceptMemberJoinRequest(this) + + @JvmSynthetic + suspend fun reject(blackList: Boolean = false) = bot.rejectMemberJoinRequest(this, blackList) + + @JvmSynthetic + suspend fun ignore(blackList: Boolean = false) = bot.ignoreMemberJoinRequest(this, blackList) + + + @JavaFriendlyAPI + @JvmName("accept") + fun __acceptBlockingForJava__() = runBlocking { bot.acceptMemberJoinRequest(this@MemberJoinRequestEvent) } + + @JavaFriendlyAPI + @JvmOverloads + @JvmName("reject") + fun __rejectBlockingForJava__(blackList: Boolean = false) = + runBlocking { bot.rejectMemberJoinRequest(this@MemberJoinRequestEvent, blackList) } + + @JavaFriendlyAPI + @JvmOverloads + @JvmName("ignore") + fun __ignoreBlockingForJava__(blackList: Boolean = false) = + runBlocking { bot.ignoreMemberJoinRequest(this@MemberJoinRequestEvent, blackList) } +} + // endregion // region 名片和头衔 /** - * 群名片改动. 此事件广播前修改就已经完成. + * 成员群名片改动. 此事件广播前修改就已经完成. */ data class MemberCardChangeEvent( /** @@ -473,7 +578,7 @@ data class MemberCardChangeEvent( @Deprecated("operator is always unknown", level = DeprecationLevel.ERROR) GroupOperableEvent /** - * 群头衔改动. 一定为群主操作 + * 成员群头衔改动. 一定为群主操作 */ data class MemberSpecialTitleChangeEvent( /** @@ -544,7 +649,7 @@ data class MemberUnmuteEvent( // endregion -// region 好友、群认证 +// region 好友 /** * 好友昵称改变事件. 目前仅支持解析 (来自 PC 端的修改). @@ -654,104 +759,4 @@ data class NewFriendRequestEvent( runBlocking { reject(blackList) } } -/** - * 一个账号请求加入群事件, [Bot] 在此群中是管理员或群主. - */ -@SinceMirai("0.35.0") -data class MemberJoinRequestEvent( - override val bot: Bot, - /** - * 事件唯一识别号 - */ - val eventId: Long, - /** - * 入群申请消息 - */ - val message: String, - /** - * 申请入群的账号的 id - */ - val fromId: Long, - val groupId: Long, - val groupName: String, - /** - * 申请人昵称 - */ - val fromNick: String -) : BotEvent, Packet { - val group: Group = this.bot.getGroup(groupId) - - @JvmField - internal val responded: MiraiAtomicBoolean = MiraiAtomicBoolean(false) - - @JvmSynthetic - suspend fun accept() = bot.acceptMemberJoinRequest(this) - - @JvmSynthetic - suspend fun reject(blackList: Boolean = false) = bot.rejectMemberJoinRequest(this, blackList) - - @JvmSynthetic - suspend fun ignore(blackList: Boolean = false) = bot.ignoreMemberJoinRequest(this, blackList) - - - @JavaFriendlyAPI - @JvmName("accept") - fun __acceptBlockingForJava__() = runBlocking { bot.acceptMemberJoinRequest(this@MemberJoinRequestEvent) } - - @JavaFriendlyAPI - @JvmOverloads - @JvmName("reject") - fun __rejectBlockingForJava__(blackList: Boolean = false) = - runBlocking { bot.rejectMemberJoinRequest(this@MemberJoinRequestEvent, blackList) } - - @JavaFriendlyAPI - @JvmOverloads - @JvmName("ignore") - fun __ignoreBlockingForJava__(blackList: Boolean = false) = - runBlocking { bot.ignoreMemberJoinRequest(this@MemberJoinRequestEvent, blackList) } -} - -/** - * [Bot] 被邀请加入一个群. - */ -@SinceMirai("0.39.4") -data class BotInvitedJoinGroupRequestEvent( - override val bot: Bot, - /** - * 事件唯一识别号 - */ - val eventId: Long, - /** - * 邀请入群的账号的 id - */ - val invitorId: Long, - val groupId: Long, - val groupName: String, - /** - * 邀请人昵称 - */ - val invitorNick: String -) : BotEvent, Packet { - val invitor: Friend = this.bot.getFriend(invitorId) - - @JvmField - internal val responded: MiraiAtomicBoolean = MiraiAtomicBoolean(false) - - @JvmSynthetic - suspend fun accept() = bot.acceptInvitedJoinGroupRequest(this) - - @JvmSynthetic - suspend fun ignore() = bot.ignoreInvitedJoinGroupRequest(this) - - @JavaFriendlyAPI - @JvmName("accept") - fun __acceptBlockingForJava__() = - runBlocking { bot.acceptInvitedJoinGroupRequest(this@BotInvitedJoinGroupRequestEvent) } - - @JavaFriendlyAPI - @JvmName("ignore") - fun __ignoreBlockingForJava__() = - runBlocking { bot.ignoreInvitedJoinGroupRequest(this@BotInvitedJoinGroupRequestEvent) } -} - -// endregion 好友、群认证 +// endregion 好友 \ No newline at end of file diff --git a/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/data/Image.kt b/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/data/Image.kt index afce9ce72..7c37e0373 100644 --- a/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/data/Image.kt +++ b/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/data/Image.kt @@ -19,6 +19,7 @@ import net.mamoe.mirai.Bot import net.mamoe.mirai.BotImpl import net.mamoe.mirai.contact.Contact import net.mamoe.mirai.contact.Group +import net.mamoe.mirai.utils.ExternalImage import net.mamoe.mirai.utils.MiraiInternalAPI import net.mamoe.mirai.utils.PlannedRemoval import net.mamoe.mirai.utils.SinceMirai @@ -37,7 +38,7 @@ import kotlin.jvm.JvmSynthetic * * ### [toString] 和 [contentToString] * - [toString] 固定返回 `[mirai:image:]` 格式字符串, 其中 `` 代表 [imageId]. - * - [contentToString] 固定返回 ```"[图片]"``` + * - [contentToString] 固定返回 `"[图片]"` * * ### 上传和发送图片 * @see Contact.uploadImage 上传 [图片文件][ExternalImage] 并得到 [Image] 消息