From 1bd1b5a4fdf0efb549e2abca1adc2ede1cca308d Mon Sep 17 00:00:00 2001 From: Him188 Date: Fri, 28 Aug 2020 11:34:46 +0800 Subject: [PATCH] Support parsing an At to a Bot, close #128 --- .../console/command/description/CommandArgParserBuiltins.kt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/backend/mirai-console/src/main/kotlin/net/mamoe/mirai/console/command/description/CommandArgParserBuiltins.kt b/backend/mirai-console/src/main/kotlin/net/mamoe/mirai/console/command/description/CommandArgParserBuiltins.kt index 394015122..8d391f2b3 100644 --- a/backend/mirai-console/src/main/kotlin/net/mamoe/mirai/console/command/description/CommandArgParserBuiltins.kt +++ b/backend/mirai-console/src/main/kotlin/net/mamoe/mirai/console/command/description/CommandArgParserBuiltins.kt @@ -97,6 +97,12 @@ public object ExistingBotArgumentParser : InternalCommandArgumentParserExtension public override fun parse(raw: String, sender: CommandSender): Bot = if (raw == "~") sender.inferBotOrFail() else raw.findBotOrFail() + + public override fun parse(raw: SingleMessage, sender: CommandSender): Bot = + if (raw is At) { + Bot.getInstanceOrNull(raw.target) + ?: illegalArgument("@ 的对象不是一个 Bot") + } else super.parse(raw, sender) } /**