diff --git a/src/main/kotlin/cn/rtast/fancybot/commands/lookup/WikipediaCommand.kt b/src/main/kotlin/cn/rtast/fancybot/commands/lookup/WikipediaCommand.kt index 16b6ae2..bbd1720 100644 --- a/src/main/kotlin/cn/rtast/fancybot/commands/lookup/WikipediaCommand.kt +++ b/src/main/kotlin/cn/rtast/fancybot/commands/lookup/WikipediaCommand.kt @@ -34,32 +34,39 @@ class WikipediaCommand : BaseCommand() { message.reply(msg) } val title = args.first() - val response = Http.get( - wikipediaAPI, - mapOf( - "action" to "query", - "list" to "search", - "srsearch" to title, - "format" to "json" - ) - ).query.search.first() - val fullUrl = Http.get( - wikipediaAPI, - mapOf( - "action" to "query", - "prop" to "info", - "pageids" to response.pageId, - "inprop" to "url", - "format" to "json" - ) - ).query.pages.values.first().fullUrl - val msg = MessageChain.Builder() - .addText("标题: ${response.title} 内容片段如下") - .addNewLine() - .addText(response.snippet.extractPlainTextFromHtml()) - .addNewLine(2) - .addText(fullUrl) - .build() - message.reply(msg) + try { + val response = Http.get( + wikipediaAPI, + mapOf( + "action" to "query", + "list" to "search", + "srsearch" to title, + "format" to "json" + ) + ).query.search.first() + val fullUrl = Http.get( + wikipediaAPI, + mapOf( + "action" to "query", + "prop" to "info", + "pageids" to response.pageId, + "inprop" to "url", + "format" to "json" + ) + ).query.pages.values.first().fullUrl + val msg = MessageChain.Builder() + .addText("标题: ${response.title} 内容片段如下") + .addNewLine() + .addText(response.snippet.extractPlainTextFromHtml()) + .addNewLine(2) + .addText(fullUrl) + .build() + message.reply(msg) + } catch (_: NoSuchElementException) { + val msg = MessageChain.Builder() + .addText("没有查询到指定的wiki页面呢 >>> $title") + .build() + message.reply(msg) + } } } \ No newline at end of file