Improve nudge:

- Introduce common UserOrBot.nudge for User and Bot
- Update docs
This commit is contained in:
Him188 2020-12-16 19:48:06 +08:00
parent fa983e38cf
commit 8fa6189138
6 changed files with 24 additions and 13 deletions

View File

@ -188,7 +188,7 @@ public abstract class Bot internal constructor(
* @see MemberNudge.sendTo 发送这个戳一戳消息
*/
@MiraiExperimentalApi
public fun nudge(): BotNudge = BotNudge(this)
public override fun nudge(): BotNudge = BotNudge(this)
/**
* 关闭这个 [Bot], 立即取消 [Bot] [SupervisorJob].

View File

@ -21,6 +21,7 @@ import net.mamoe.mirai.event.events.FriendMessagePreSendEvent
import net.mamoe.mirai.message.MessageReceipt
import net.mamoe.mirai.message.MessageReceipt.Companion.recall
import net.mamoe.mirai.message.action.FriendNudge
import net.mamoe.mirai.message.action.Nudge
import net.mamoe.mirai.message.data.Message
import net.mamoe.mirai.message.data.isContentEmpty
import net.mamoe.mirai.message.data.toPlainText
@ -86,7 +87,7 @@ public interface Friend : User, CoroutineScope {
/**
* 创建一个 "戳一戳" 消息
*
* @see FriendNudge.sendTo 发送这个戳一戳消息
* @see Nudge.sendTo 发送这个戳一戳消息
*/
@MiraiExperimentalApi
public override fun nudge(): FriendNudge = FriendNudge(this)

View File

@ -170,10 +170,10 @@ public interface Member : User {
/**
* 创建一个 "戳一戳" 消息
*
* @see MemberNudge.sendTo 发送这个戳一戳消息
* @see Nudge.sendTo 发送这个戳一戳消息
*/
@MiraiExperimentalApi
public override fun nudge(): Nudge = MemberNudge(this)
public override fun nudge(): MemberNudge = MemberNudge(this)
}
/**

View File

@ -17,8 +17,8 @@ import net.mamoe.mirai.Bot
import net.mamoe.mirai.event.events.*
import net.mamoe.mirai.message.MessageReceipt
import net.mamoe.mirai.message.MessageReceipt.Companion.recall
import net.mamoe.mirai.message.action.FriendNudge
import net.mamoe.mirai.message.action.Nudge
import net.mamoe.mirai.message.action.UserNudge
import net.mamoe.mirai.message.data.Image
import net.mamoe.mirai.message.data.Message
import net.mamoe.mirai.message.data.isContentEmpty
@ -94,10 +94,10 @@ public interface User : Contact, UserOrBot, CoroutineScope {
/**
* 创建一个 "戳一戳" 消息
*
* @see FriendNudge.sendTo 发送这个戳一戳消息
* @see Nudge.sendTo 发送这个戳一戳消息
*/
@MiraiExperimentalApi
public fun nudge(): Nudge
public override fun nudge(): UserNudge
/**
* 上传一个图片以备发送.

View File

@ -10,6 +10,8 @@
package net.mamoe.mirai.contact
import net.mamoe.mirai.Bot
import net.mamoe.mirai.message.action.Nudge
import net.mamoe.mirai.utils.MiraiExperimentalApi
/**
* @see User
@ -17,4 +19,12 @@ import net.mamoe.mirai.Bot
*
* @see ContactOrBot
*/
public interface UserOrBot : ContactOrBot
public interface UserOrBot : ContactOrBot {
/**
* 创建一个 "戳一戳" 消息
*
* @see Nudge.sendTo 发送这个戳一戳消息
*/
@MiraiExperimentalApi
public fun nudge(): Nudge
}

View File

@ -31,7 +31,7 @@ public sealed class Nudge {
/**
* 戳的对象. "A 戳了 B" 中的 "B".
*/
public abstract val target: ContactOrBot // User or Bot
public abstract val target: UserOrBot // User or Bot
/**
* 发送戳一戳该成员的消息.
@ -79,7 +79,7 @@ public sealed class Nudge {
*/
@MiraiExperimentalApi
public data class BotNudge(
public override val target: Bot
public override val target: UserOrBot
) : Nudge()
/**
@ -88,7 +88,7 @@ public data class BotNudge(
*/
@MiraiExperimentalApi
public sealed class UserNudge : Nudge() {
public abstract override val target: User
public abstract override val target: UserOrBot
}
/**
@ -97,7 +97,7 @@ public sealed class UserNudge : Nudge() {
*/
@MiraiExperimentalApi
public data class MemberNudge(
public override val target: Member
public override val target: UserOrBot
) : UserNudge()
/**
@ -106,5 +106,5 @@ public data class MemberNudge(
*/
@MiraiExperimentalApi
public data class FriendNudge(
public override val target: Friend
public override val target: UserOrBot
) : UserNudge()