WebAPI - sandtechnology/OtterBot GitHub Wiki
请求方式与鉴权
只接受JSON格式的POST请求,地址为:
/api/?tracker=webapi&qq={0}&token={1}
各个位置参数如下:
{0}
:调用API的QQ{1}
:API的Token(通过/bot token $string
命令向机器人申请)
返回值为JSON格式,鉴权过程的错误返回值如下:
response | rcode | msg | 说明 |
---|---|---|---|
error | 100 | Invalid request | 未提供鉴权参数 |
error | 101 | Invalid API token | API Token认证失败 |
如果成功,则根据POST的JSON内容进入对应的API处理,处理过程中错误返回值如下:
response | rcode | msg | 说明 |
---|---|---|---|
error | -1 | Unhandled Exception: {} | 未捕捉的错误 |
error | 102 | Request not handled | 请求未处理或未实现 |
error | 103 | JSON decode error | JSON请求解码失败 |
error | 104 | KeyError | JSON中必须的key不存在 |
error | 105 | Parameter type error | JSON中参数类型错误 |
天气
请求参数
请求的JSON格式如下:
{
"request": "weather",
"data": {
"territory": "",
"weather": "",
"length": ""
}
}
参数列表为:
参数名 | 格式 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|
territory | str | 是 | 查询的地图名称 | |
weather | str | 否 | 查询的特定天气 | |
length | int | 否 | 10 | 查询的天气长度 |
返回格式
错误返回值如下:
response | rcode | msg | 说明 |
---|---|---|---|
error | 1001 | Territory {} not found | 未找到对应地图 |
error | 1002 | Weather {} not found | 未找到对应天气 |
请求成功返回值如下:
{
"response": "success",
"msg": "",
"rcode": "0",
"data": [
{
"pre_name": "",
"name": "",
"ET": "",
"LT": ""
}
...
]
}
data
中的参数说明如下:
参数名 | 格式 | 说明 |
---|---|---|
pre_name | str | 本天气的前一个天气 |
name | str | 天气名称 |
ET | str | Eorzea Time |
LT | str | Local Time (UTC+8) |
DPS
请求参数
请求的JSON格式如下:
{
"request": "dps",
"data": {
"boss": "",
"job": "",
"day": 1,
"CN": true
}
}
参数列表为:
参数名 | 格式 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|
boss | str | 是 | Boss名称 | |
job | str | 是 | 职业名称 | |
day | int | 否 | 国际服同期 | 第几天的数据 |
CN | boolean | 否 | false | 是否采用国服数据 |
返回格式
错误返回值如下:
response | rcode | msg | 说明 |
---|---|---|---|
error | 1011 | Boss {} not found | 未找到对应Boss |
error | 1012 | Job {} not found | 未找到对应职业 |
error | 1013 | DPS parsing error: {} | DPS解析错误 |
请求成功返回值如下:
{
"response": "success",
"msg": "",
"rcode": "0",
"data": {
"day": 1,
"source": "Intl",
"dps": {
"10": 2443.418,
"25": 2810.515,
"50": 3246.3,
"75": 3638.97,
"95": 4035.47,
"99": 4233.47,
"100": 4737.87
}
}
}
data
中的参数说明如下:
参数名 | 格式 | 说明 |
---|---|---|
day | int | 第几天的数据 |
source | str | 数据来源(“CN”,"Intl") |
dps | dict | 对应水平的dps值 |
物品搜索
请求参数
请求的JSON格式如下:
{
"request": "search",
"data": {
"name": ""
}
}
参数列表为:
参数名 | 格式 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|
name | str | 是 | 搜索的内容 |
返回格式
错误返回值如下:
response | rcode | msg | 说明 |
---|
请求成功返回值如下:
{
"response": "success",
"msg": "",
"rcode": "0",
"data": {
"url": "",
"title": "",
"content": "",
"image": ""
}
}
data
中的参数说明如下:
参数名 | 格式 | 说明 |
---|---|---|
url | str | 对应WIKI网页URL |
title | str | 查询结果标题 |
content | str | 查询结果内容 |
image | str | 查询结果图片URL |
英雄榜
请求参数
请求的JSON格式如下:
{
"request": "raid",
"data": {
"name": "",
"server":""
}
}
参数列表为:
参数名 | 格式 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|
name | str | 是 | 玩家昵称 | |
server | str | 是 | 所在服务器 |
返回格式
错误返回值如下:
response | rcode | msg | 说明 |
---|---|---|---|
error | 1031 | Server {} not found | 未找到对应服务器 |
请求成功返回值如下:
{
"response": "success",
"msg": "",
"rcode": "0",
"data": {
"name": "",
"server": "",
"raid": {
"sigma": {
"Code": 0,
"Message": "成功",
"Attach": {
"Level1": "20180519",
"Level2": "20180519",
"Level3": "20180522",
"Level4": "20180611",
"Fpercent": ""
},
"Success": true
},
"delta": {
"Code": 0,
"Message": "成功",
"Attach": {
"Level1": "20171231",
"Level2": "20180107",
"Level3": "20180212",
"Level4": " ",
"Fpercent": ""
},
"Success": true
}
}
}
}
data
中的参数说明如下:
参数名 | 格式 | 说明 |
---|---|---|
name | str | 玩家昵称 |
server | str | 所在服务器 |
raid | dict | raid数据 |
data["raid"]
中的参数说明如下:
参数名 | 格式 | 说明 |
---|---|---|
sigma | dict | 西格玛零式通关数据 |
delta | dict | 德尔塔零式通关数据 |