Suk-Ws Services 的 API 文档总览

欢迎前往,这里是 Suk-Ws Services 的 API 手册集中发布地。目前已经发布的手册:

此处的文档早已过时,而新版文档还未推送,还请耐心等待。

Suka Talk

Sukazyo 自制仿一言系统

功能介绍

通过调用链接,获得本系统收录的一句话和其各种属性。

使用HTTP GET方法调用,返回的格式为json

调用方法

API 链接:https://srv.sukazyo.cc/api/suka-talk/

在其后面加入GET参数来进行输出调整

目前可用的属性有:

属性 默认值 介绍
type all 类型选择,详细说明见下方介绍
encode false 编码,false为unicode字符串,true为使用UTF-8文字
all false 输出全部,false为从选择中随机一句,true为输出全部已

type 属性介绍

Suka Talk 给每一句话都设置了一个类别,这些类别可以使用type=xxx来选择,目前有以下几种类别(不一定实时更新)

all 全部类别
ltcat 龙腾猫跃的“名言”,(感谢 @Pd2 的提供)
pd2 Pd2 群组的收藏金句
suk-ws Sukazyo Workshop 标题使用的句子
other 其它未分类或者不知道怎么分类的东西

类别可以通过,分隔符来添加多个。

由于 Suka Talk 使用的是选择池式系统,所以,以上类别可以被反复添加,例如:type=all,ltcat,ltcat,ltcat。类别的意义即为:在选择池中添加all类别的句子一次,添加ltcat类别的句子 3 次,然后从中随机(或者全部输出)。

通过这个方法,你可以调配各个类别的句子的权重。

eg: pd2suk-ws类别中输出一个句子,pd2句子的权重为 33.3%,suk-ws句子的权重为 66.6%:
type=pd2,suk-ws,suk-ws

NOTICE 按照选择池的描述,这里的权重为单个句子的权重,并不是有 33.3% 的概率会出现pd2的句子。关于类型权重,未来可能会更新。

输出格式

以下为一个最为基本的输出(已格式化):

[
	{
		"type":"ltcat",
		"text":"\u5dee\u4e0d\u591a\u4e86\u5427=\u3002=",
		"source":"N\/A",
		"speaker":"LTCat",
		"additional":"LTCat"
	}
]

以上面的输出为例,我们发现,输出的根格式为一个数组,其内部有一个“一句话”对象。一句话对象中的内容含义如下:

{
	"type":"所属类型",
	"text":"正文,默认为unicode编码后",
	"source":"来源",
	"speaker":"作者",
	"additional":"目前定义为: Sukazyo Workshop 使用的“--”后内容"
}

如果你开启了encode=all,那么上面的非英文字符将会成为 UTF-8 字符,以上面的例子为例:

[
	{
		"type":"ltcat",
		"text":"差不多了吧=。=",
		"source":"N\/A",
		"speaker":"LTCat",
		"additional":"LTCat"
	}
]

如果你开启了all=true,那么输出将会把已选择的类型内的内容(即选择池中的内容)全部输出,像是这个样子的(为了阅读考虑,省略句子对象内容):

[
	{
		...
	},{
		...
	},{
		...
	},{
		...
	},{
		...
	},{
		...
	}
]

即,这一个数组将会包含所有的句子对象。

错误格式

如果系统出现了一些它无法处理的错误,那么将会报告出一个错误信息。

错误信息将会作为根数组的对象加入进输出中,标准格式如下:

[
	{
		"error":[
			{
				"code":"错误 1 名称",
				"info":"错误 1 的信息"
			},{
				"code":"错误 2 名称",
				"info":"错误 2 的信息"
			}
		]
	}
]

TypeNotFoundException

这个错误表示您输入错了类型。

例如如果您使用了type=whatisit作为类型(很显然不可能有 whatisit 类型),那么系统将会抛出以下的错误:

{
	"code":"TypeNotFoundException",
	"info":"choosing type: \"whatisit\" not found in server data."
}

其中的choosing type: \"whatisit\" not found in server data.就是系统在提醒你,whatisit 不是一个可用的类型。

其它可能发生的错误

如果您遇见了这样的报错:

{
	"error":[
		{
			"code":"NoApiException",
			"info":"path: \"suka-talk\/type=ltcat\" is not a avaliable api path."
		}
	]
}

拜托~链接输错了吧

这个错误并不是 Suka Talk 的问题,而是 API 系统报出的错误,具体含义就是链接错误。如果出现了以下问题,请再看一遍上面给出的链接和 HTTP GET 规范。

如果上面的所有内容都帮不到你,联系 Sukazyo(email or Discord)吧。

如果你对 Sukazyo 的东西有兴趣(怎么可能),同样欢迎来 Discord 玩哦~
疯狂宣传