GithubHelp home page GithubHelp logo

shennoter / apexranklookup Goto Github PK

View Code? Open in Web Editor NEW
65.0 65.0 8.0 3.39 MB

一个mirai-console插件,用于查询Apex英雄玩家信息、地图轮换、复制器轮换、猎杀门槛、官方新闻等

License: GNU Affero General Public License v3.0

Kotlin 100.00%

apexranklookup's Introduction

EL PSY KONGROO

Noob of Information Security

🏠 Count

Shennoter

🥇 Top Langs

Top Langs

💻 Stats

Shennoter's GitHub stats

apexranklookup's People

Contributors

shennoter avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

apexranklookup's Issues

新版本ApexLookUp - v1.4.0-pre的使用情况

1.在使用/apexadd id svipnb12138后使用/apexremove id svipnb12138,并没有取消对svipnb12138的监听,控制台每隔15分钟依旧显示“完成一次对svipnb12138的监听”。
2.、config.yml中mapRotationReminder: true,在群里输入/apexadd map后,确实显示“已添加对群号xxxxxxxxx的地图轮换提醒”,但是过了三个小时,群里并没有提醒

可否将apex和apexid命令合并起来?

有个建议,如果调用/apexbd命令绑定后的QQ账号,可以在调用/apexid的命令时不填入id参数,机器人将自动查询已绑定的账号的信息。不需要额外学习调用命令/apex。这样对用户来说也许也比较方便

无法使用查询玩家战绩命令

java版本:17
MCL版本:2.1.0
插件版本:1.4.1
出错命令:/apexid
2022-05-28 17:45:47 W/ApexLookUp: Exception in executing command [mirai:source:[1393],[1506089929]]/apexid vangams233
java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at kotlin.reflect.jvm.internal.calls.CallerImpl$Method.callMethod(CallerImpl.kt:97)
at kotlin.reflect.jvm.internal.calls.CallerImpl$Method$Instance.call(CallerImpl.kt:113)
at kotlin.reflect.jvm.internal.KCallableImpl.call(KCallableImpl.kt:108)
at kotlin.reflect.jvm.internal.KCallableImpl.callDefaultMethod$kotlin_reflection(KCallableImpl.kt:159)
at kotlin.reflect.full.KCallables.callSuspendBy(KCallables.kt:74)
at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invokeSuspend(CommandReflector.kt:329)
at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invoke(CommandReflector.kt)
at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invoke(CommandReflector.kt)
at net.mamoe.mirai.console.command.descriptor.CommandSignatureFromKFunctionImpl.call$suspendImpl(CommandSignature.kt:88)
at net.mamoe.mirai.console.command.descriptor.CommandSignatureFromKFunctionImpl.call(CommandSignature.kt)
at net.mamoe.mirai.console.internal.command.CommandManagerImplKt.executeCommandImpl(CommandManagerImpl.kt:168)
at net.mamoe.mirai.console.command.CommandManager.executeCommand$suspendImpl(CommandManager.kt:130)
at net.mamoe.mirai.console.command.CommandManager.executeCommand(CommandManager.kt)
at net.mamoe.mirai.console.command.CommandManager$INSTANCE.executeCommand(CommandManager.kt)
at net.mamoe.mirai.console.command.CommandManager.executeCommand$default(CommandManager.kt:125)
at chat-command-0.5.1.jar//net.mamoe.mirai.console.plugins.chat.command.PluginMain.handleCommand(PluginMain.kt:86)
at chat-command-0.5.1.jar//net.mamoe.mirai.console.plugins.chat.command.PluginMain$onEnable$2$1.invokeSuspend(PluginMain.kt:69)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:749)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
Caused by: javax.imageio.IIOException: Can't get input stream from URL!
at java.desktop/javax.imageio.ImageIO.read(ImageIO.java:1407)
at ranklookup-1.4.1.mirai.jar//pers.shennoter.ApexImageKt.ImageCache(ApexImage.kt:28)
at ranklookup-1.4.1.mirai.jar//PlayerStatKt.playerPicturMode(PlayerStat.kt:46)
at ranklookup-1.4.1.mirai.jar//PlayerStatKt.playerStat(PlayerStat.kt:34)
at ranklookup-1.4.1.mirai.jar//Player.apexPlayerInfo(Commands.kt:22)
... 27 more
Caused by: java.io.FileNotFoundException: https://api.mozambiquehe.re/assets/banners/newcastle.jpg
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1920)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1520)
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:250)
at java.base/java.net.URL.openStream(URL.java:1165)
at java.desktop/javax.imageio.ImageIO.read(ImageIO.java:1405)
... 31 more

Todo

  • 删除/apex绑定id的功能
  • 对于/apexbd/apexubd,使用正则表达式过滤参数
  • 添加解绑所有id的功能
  • 删除额外apikey,超时处理改为重试
  • 竞技场分数播报
  • 将背景图片改为jar包内置
  • 修复id带-无法识别的问题
  • 模拟开箱功能
  • 修复连续添加订阅后会提醒多次,取消订阅仍会提醒的问题

[Bug]取消地图提醒后仍会提醒

image

image

image

这个Bug复现一次太麻烦了,至少要等一个半小时,所以我没再尝试复现。
可能的复现步骤:

  1. 订阅提醒
  2. 等提醒后退出Mirai
  3. 重启Mirai并取消订阅

可以正常加载但无法查询,提示"java.lang.NoClassDefFoundError: Could not initialize class java.awt.Toolkit"

环境

系统版本:腾讯云Ubuntu 20.04LTS
java版本:17
MCL版本:1.2.3
插件版本:1.1.0
出错命令:/apexmap

问题描述

插件载入没问题,但是使用命令时mcl控制台会提示如下信息
E/console: java.lang.reflect.InvocationTargetException java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at kotlin.reflect.jvm.internal.calls.CallerImpl$Method.callMethod(CallerImpl.kt:97) at kotlin.reflect.jvm.internal.calls.CallerImpl$Method$Instance.call(CallerImpl.kt:113) at kotlin.reflect.jvm.internal.KCallableImpl.call(KCallableImpl.kt:108) at kotlin.reflect.jvm.internal.KCallableImpl.callDefaultMethod$kotlin_reflection(KCallableImpl.kt:159) at kotlin.reflect.full.KCallables.callSuspendBy(KCallables.kt:74) at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invokeSuspend(CommandReflector.kt:305) at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invoke(CommandReflector.kt) at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invoke(CommandReflector.kt) at net.mamoe.mirai.console.command.descriptor.CommandSignatureFromKFunctionImpl.call$suspendImpl(CommandSignature.kt:88) at net.mamoe.mirai.console.command.descriptor.CommandSignatureFromKFunctionImpl.call(CommandSignature.kt) at net.mamoe.mirai.console.internal.command.CommandManagerImplKt.executeCommandImpl(CommandManagerImpl.kt:167) at net.mamoe.mirai.console.command.CommandManager.executeCommand(CommandManager.kt:131) at net.mamoe.mirai.console.command.CommandManager$INSTANCE.executeCommand(CommandManager.kt) at net.mamoe.mirai.console.terminal.ConsoleThreadKt$startupConsoleThread$3.invokeSuspend(ConsoleThread.kt:191) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665) Caused by: java.lang.NoClassDefFoundError: Could not initialize class java.awt.Toolkit at java.desktop/sun.awt.AppContext$2.run(AppContext.java:273) at java.desktop/sun.awt.AppContext$2.run(AppContext.java:262) at java.base/java.security.AccessController.doPrivileged(AccessController.java:318) at java.desktop/sun.awt.AppContext.initMainAppContext(AppContext.java:262) at java.desktop/sun.awt.AppContext$3.run(AppContext.java:315) at java.desktop/sun.awt.AppContext$3.run(AppContext.java:298) at java.base/java.security.AccessController.doPrivileged(AccessController.java:318) at java.desktop/sun.awt.AppContext.getAppContext(AppContext.java:297) at java.desktop/javax.imageio.spi.IIORegistry.getDefaultInstance(IIORegistry.java:129) at java.desktop/javax.imageio.ImageIO.<clinit>(ImageIO.java:66) at pers.shennoter.MapStatKt.mapPictureMode(MapStat.kt:45) at pers.shennoter.MapStatKt.mapStat(MapStat.kt:34) at pers.shennoter.Map.apexMapInfo(RankLookUp.kt:75) ... 24 more

插件配置

ApiKey: WzhVrcA61fElDD12lSG0 mode: pic

做过的尝试

[x]重装不同java版本
[x]切换headless和普通版java软件包
[x]重装不同版本mcl
[√]百度后添加环境变量
export JAVA_TOOL_OPTIONS="-Djava.awt.headless=true"

目前状况

添加环境变量后,目前可以正常查询并发送图片

关于图片缓存可用的改进方案

图片缓存目前全部存储于/data/pers.shennoter.ranklookup目录下,图片缓存也有可能过期或者失效,因此可以新增一个可选的手动清除缓存的指令来清空/data/pers.shennoter.ranklookup目录以实现清理图片缓存以避免未来可能出现的一些缓存问题。

作者有空的话可以给每个图片记录缓存时间并在某段时间后进行自动删除

[Bug]地图轮换提醒错误

问题描述

image

如图,当配置设置如上时,应该跳过风暴点的提醒,但实际上跳过的是风暴点的下一张地图的提醒(奥林匹斯)。

原因分析

MapReminder.kt中:

if(Config.mapToRemind[res.battle_royale.current.map] == true) { //如果地图在提醒列表中则开启协程计时
GlobalScope.launch {
delay(timeToRemind)//计时到轮换时间进行提醒

if判断的是当前地图是否在提醒列表中,但是条件成立后,提醒的却是“当前地图被轮换掉”而非“当前地图开始轮换”。

修改建议

if(Config.mapToRemind[res.battle_royale.current.map] == true) { //如果地图在提醒列表中则开启协程计时

中的res.battle_royale.current.map改为res.battle_royale.next.map

执行指令后发送图片过慢

不管有无挂代理发现图片模式都要花十几秒的时间才能回复,请问有什么好办法加速一下这个进程吗
主要是同时也在使用另一个塔罗牌插件,发现几乎是秒发送250kb左右的图片,也试过用jpg了,apexapi官网查询每次查询时间都不超过60ms,那这个十几秒难道就是在生成图片吗(

1.6.0尝试编译缺少gradle-wrapper.properties文件

终端显示‘ApexRankLookUp-1.6.0\gradle\wrapper\gradle-wrapper.properties' does not exist.
尝试往ApexRankLookUp-1.6.0\gradle\wrapper目录下添加1.5.3的gradle-wrapper.properties文件后编译成功
但显示的jar包名字为“ApexLookUp-1.5.5.mirai2.jar” 而非“ApexLookUp-1.6.0.mirai2.jar”
现在调用 /apexbd 命令和 /apexreg 命令 机器人没有反应,不知道是不是因为这个的缘故

[Bug]查询玩家信息时出错

查询玩家时提示如下,且只有查询玩家相关功能时出错,其他功能(例如地图轮换)正常。
已经尝试删除data/文件夹下所有相关数据并删除插件重新安装,无效。
在插件刚装好(但字体配置有误)时是可以正常使用的。
mirai: 2.11.0
mirai-console: 2.11.0
chat-command: 0.5.1
插件版本: 1.5.1
报错信息:

2022-06-14 22:56:40 W/ApexLookUp: Exception in executing command `[mirai:source:[4596],[1192419039]]/apexid XXXXX`
java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at kotlin.reflect.jvm.internal.calls.CallerImpl$Method.callMethod(CallerImpl.kt:97)
        at kotlin.reflect.jvm.internal.calls.CallerImpl$Method$Instance.call(CallerImpl.kt:113)
        at kotlin.reflect.jvm.internal.KCallableImpl.call(KCallableImpl.kt:108)
        at kotlin.reflect.jvm.internal.KCallableImpl.callDefaultMethod$kotlin_reflection(KCallableImpl.kt:159)
        at kotlin.reflect.full.KCallables.callSuspendBy(KCallables.kt:74)
        at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invokeSuspend(CommandReflector.kt:329)
        at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invoke(CommandReflector.kt)
        at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invoke(CommandReflector.kt)
        at net.mamoe.mirai.console.command.descriptor.CommandSignatureFromKFunctionImpl.call$suspendImpl(CommandSignature.kt:88)
        at net.mamoe.mirai.console.command.descriptor.CommandSignatureFromKFunctionImpl.call(CommandSignature.kt)
        at net.mamoe.mirai.console.internal.command.CommandManagerImplKt.executeCommandImpl(CommandManagerImpl.kt:168)
        at net.mamoe.mirai.console.command.CommandManager.executeCommand$suspendImpl(CommandManager.kt:130)
        at net.mamoe.mirai.console.command.CommandManager.executeCommand(CommandManager.kt)
        at net.mamoe.mirai.console.command.CommandManager$INSTANCE.executeCommand(CommandManager.kt)
        at net.mamoe.mirai.console.command.CommandManager.executeCommand$default(CommandManager.kt:125)
        at chat-command-0.5.1.jar//net.mamoe.mirai.console.plugins.chat.command.PluginMain.handleCommand(PluginMain.kt:86)
        at chat-command-0.5.1.jar//net.mamoe.mirai.console.plugins.chat.command.PluginMain$onEnable$2$1.invokeSuspend(PluginMain.kt:69)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:749)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
Caused by: java.lang.NullPointerException: Cannot invoke "Global.getRank()" because the return value of "ApexResponsePlayer.getGlobal()" is null
        at ranklookup-1.5.1.mirai.jar//PlayerStatKt.playerPicturMode(PlayerStat.kt:44)
        at ranklookup-1.5.1.mirai.jar//PlayerStatKt.playerStat(PlayerStat.kt:34at ranklookup-1.5.1.mirai.jar//Player.apexPlayerInfo(Commands.kt:19)
        ... 27 more

顺便,在查询轮换地图时好像也有问题:

2022-06-14 22:34:08 W/stderr:   at com.google.gson.Gson.fromJson(Gson.java:897)
2022-06-14 22:34:08 W/stderr:   at com.google.gson.Gson.fromJson(Gson.java:846)
2022-06-14 22:34:08 W/stderr:   at com.google.gson.Gson.fromJson(Gson.java:817)
2022-06-14 22:34:08 W/stderr:   at ranklookup-1.5.1.mirai.jar//pers.shennoter.MapReminderKt$mapReminder$mapTask$1.run(MapReminder.kt:63)
2022-06-14 22:34:08 W/stderr:   at java.base/java.util.TimerThread.mainLoop(Timer.java:566)                                                                     
2022-06-14 22:34:08 W/stderr:   at java.base/java.util.TimerThread.run(Timer.java:516)                                                                          
2022-06-14 22:34:08 W/stderr: Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $                        
2022-06-14 22:34:08 W/stderr:   at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:384)                                                           
2022-06-14 22:34:08 W/stderr:   at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:215)               
2022-06-14 22:34:08 W/stderr:   ... 7 more 
  • 对所有返回值进行非Null检查
  • 在查询不到时更换不同平台进行查询

[BUG]查询玩家ID时候控制台报错

2022-03-07 21:09:29 W/RankLookUp: Exception in executing command [mirai:source:[28716],[-58621***]]/rank apexid ***
java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at kotlin.reflect.jvm.internal.calls.CallerImpl$Method.callMethod(CallerImpl.kt:97)
at kotlin.reflect.jvm.internal.calls.CallerImpl$Method$Instance.call(CallerImpl.kt:113)
at kotlin.reflect.jvm.internal.KCallableImpl.call(KCallableImpl.kt:108)
at kotlin.reflect.jvm.internal.KCallableImpl.callDefaultMethod$kotlin_reflection(KCallableImpl.kt:159)
at kotlin.reflect.full.KCallables.callSuspendBy(KCallables.kt:74)
at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invokeSuspend(CommandReflector.kt:305)
at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invoke(CommandReflector.kt)
at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invoke(CommandReflector.kt)
at net.mamoe.mirai.console.command.descriptor.CommandSignatureFromKFunctionImpl.call$suspendImpl(CommandSignature.kt:88)
at net.mamoe.mirai.console.command.descriptor.CommandSignatureFromKFunctionImpl.call(CommandSignature.kt)
at net.mamoe.mirai.console.internal.command.CommandManagerImplKt.executeCommandImpl(CommandManagerImpl.kt:167)
at net.mamoe.mirai.console.command.CommandManager.executeCommand(CommandManager.kt:131)
at net.mamoe.mirai.console.command.CommandManager$INSTANCE.executeCommand(CommandManager.kt)
at net.mamoe.mirai.console.command.CommandManager.executeCommand$default(CommandManager.kt:126)
at net.mamoe.mirai.console.plugins.chat.command.PluginMain.handleCommand(PluginMain.kt:86)
at net.mamoe.mirai.console.plugins.chat.command.PluginMain$onEnable$2$1.invokeSuspend(PluginMain.kt:69)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
Caused by: java.lang.IndexOutOfBoundsException: Index 1 out of bounds for length 1
at java.base/jdk.internal.util.Preconditions.outOfBounds(Unknown Source)
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Unknown Source)
at java.base/jdk.internal.util.Preconditions.checkIndex(Unknown Source)
at java.base/java.util.Objects.checkIndex(Unknown Source)
at java.base/java.util.ArrayList.get(Unknown Source)
at pers.shennoter.PlayerStatKt.playerStat(PlayerStat.kt:46)
at pers.shennoter.MyCommand.apexPlayerInfo(RankLookUp.kt:26)
... 26 more

绑定账号显示API key无权限或不存在

Snipaste_2022-12-10_08-49-17
Snipaste_2022-12-10_08-49-38
2022-12-10 08:45:38 V/Bot.2819569319: [[CN]飞翔服务器-2周年周年庆活动开始!(951358735)] 飞翔到云间(3012287203) -> /apexbd Fx_owner
2022-12-10 08:46:03 V/Bot.2819569319: Group(951358735) <- api key无限限或不存在
2022-12-10 08:46:03 E/ApexLookUp: API key无权限或不存在

错误提示问题

源码逻辑应该默认只有请求过多 Error ,存在冒号时机器人给予失败回复。

使用中存在其他类型的 Error, 如对存在EA账号但是没有玩过Apex的情况,返回
{"Error": "Player exists but has never played Apex Legends"}
但机器人QQ回复仍然是“错误,短时间内请求过多,请稍后再试”。 建议修改一下回复内容,直接贴出api返回值也可。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.