luoxu-bot
luoxu-bot copied to clipboard
搜索时报错:illegal fieldName 和 StringIndexOutOfBoundsException
已经搭建好luoxu和luoxu-bot,测试web版本功能正常,bot输入/list可以返回正确的索引列表 当输入搜索内容时,若搜索内容为中文,报错:
com.alibaba.fastjson2.JSONException: illegal fieldName inputI, offset 1, character I, line 1, column 2, fastjson-version 2.0.17 Invalid char in url query:
b'GET /luoxu/search?q=\xe6\xb5\x8b\xe8\xaf\x95&g=1317151537 HTTP/1.1'
^
at com.alibaba.fastjson2.JSONReaderASCII.readFieldNameHashCode(JSONReaderASCII.java:136)
at com.alibaba.fastjson2.reader.ObjectReaderNoneDefaultConstructor.readObject(ObjectReaderNoneDefaultConstructor.java:223)
at com.alibaba.fastjson2.JSON.parseObject(JSON.java:600)
at methods.AfterSearchKt.afterSearch(afterSearch.kt:77)
at MainKt$main$bot$1$1$3.invoke(Main.kt:21)
at MainKt$main$bot$1$1$3.invoke(Main.kt:21)
at com.github.kotlintelegrambot.dispatcher.handlers.CallbackQueryHandler.handleUpdate(CallbackQueryHandler.kt:38)
at com.github.kotlintelegrambot.dispatcher.Dispatcher.handleUpdate(Dispatcher.kt:66)
at com.github.kotlintelegrambot.dispatcher.Dispatcher.checkQueueUpdates(Dispatcher.kt:35)
at com.github.kotlintelegrambot.dispatcher.Dispatcher.startCheckingUpdates$lambda-0(Dispatcher.kt:28)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
若搜索内容为英文,报错:
java.lang.StringIndexOutOfBoundsException: begin -189, end 187, length 1669
at java.base/java.lang.String.checkBoundsBeginEnd(String.java:3319)
at java.base/java.lang.String.substring(String.java:1874)
at BotUtilsKt.highlight(BotUtils.kt:144)
at BotUtilsKt.highlight$default(BotUtils.kt:128)
at methods.AfterSearchKt.afterSearch(afterSearch.kt:57)
at MainKt$main$bot$1$1$3.invoke(Main.kt:21)
at MainKt$main$bot$1$1$3.invoke(Main.kt:21)
at com.github.kotlintelegrambot.dispatcher.handlers.CallbackQueryHandler.handleUpdate(CallbackQueryHandler.kt:38)
at com.github.kotlintelegrambot.dispatcher.Dispatcher.handleUpdate(Dispatcher.kt:66)
at com.github.kotlintelegrambot.dispatcher.Dispatcher.checkQueueUpdates(Dispatcher.kt:35)
at com.github.kotlintelegrambot.dispatcher.Dispatcher.startCheckingUpdates$lambda-0(Dispatcher.kt:28)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
May 17, 2024 6:19:02 AM okhttp3.internal.platform.Platform log