// 用于请求的 Ktor HttpClient,如有必要则需要自行引入并选择需要使用的引擎。
// 参考:https://ktor.io/docs/http-client-engines.html
val client = HttpClient(CIO) {
// config...
}
// 鉴权信息
// 'Bot' 后面跟的是bot的token,参考 https://developer.kookapp.cn/doc/reference
val authorization = "Bot xxxxxxxxxx"
// 构建要请求的API,大部分API都有一些可选或必须的参数。
val api = SendChannelMessageApi.create(targetId = "目标ID", content = "消息内容")
// 或其他构建方式
SendChannelMessageApi.create {
content = ""
type = 9
type(SendMessageType.KMARKDOWN)
nonce = "nonce"
quote = "quote"
tempTargetId = "tempTargetId"
}
// 得到结果
val result = api.requestData(client, authorization)
println("result = $result")
println("result.nonce = ${result.nonce}")
println("result.msgId = ${result.msgId}")
println("result.msgTimestamp = ${result.msgTimestamp}")
// 在Java中构建或获取一个 Ktor 的 HttpClient。
// 用于请求的 Ktor HttpClient,如有必要则需要自行引入并选择需要使用的引擎。
// 参考:https://ktor.io/docs/http-client-engines.html
// 此处以 ktor-cio 引擎为例。
var client = HttpClientKt.HttpClient(CIO.INSTANCE, config -> {
// config...
return Unit.INSTANCE;
});
// 鉴权信息
// 'Bot' 后面跟的是bot的token,参考 https://developer.kookapp.cn/doc/reference
var authorization = "Bot xxxxxxxxxx";
// 构建api
var api = SendChannelMessageApi.create("目标ID", "消息内容");
// 或其他重载:
SendChannelMessageApi.create(SendMessageType.KMARKDOWN.getValue(), "目标ID", "消息内容");
SendChannelMessageApi.create(SendMessageType.KMARKDOWN.getValue(), "目标ID", "消息内容", "Quote引用ID", "nonce", "tempTargetId");
// 或使用builder:
SendChannelMessageApi.builder("目标ID", "消息内容")
.type(SendMessageType.KMARKDOWN)
.content("content")
.quote("quote")
.nonce("nonce")
.tempTargetId("tempTargetId").build();
// 请求并得到结果
var result = api.requestDataBlocking(client, authorization);
System.out.println("result.getMsgId() = " + result.getMsgId());
System.out.println("result.getNonce() = " + result.getNonce());
System.out.println("result.getMsgTimestamp() = " + result.getMsgTimestamp());
// 在Java中构建或获取一个 Ktor 的 HttpClient。
// 用于请求的 Ktor HttpClient,如有必要则需要自行引入并选择需要使用的引擎。
// 参考:https://ktor.io/docs/http-client-engines.html
// 此处以 ktor-cio 引擎为例。
var client = HttpClientKt.HttpClient(CIO.INSTANCE, config -> {
// config...
return Unit.INSTANCE;
});
// 鉴权信息
// 'Bot' 后面跟的是bot的token,参考 https://developer.kookapp.cn/doc/reference
var authorization = "Bot xxxxxxxxxx";
// 构建api
var api = SendChannelMessageApi.create("目标ID", "消息内容");
// 或其他重载:
SendChannelMessageApi.create(SendMessageType.KMARKDOWN.getValue(), "目标ID", "消息内容");
SendChannelMessageApi.create(SendMessageType.KMARKDOWN.getValue(), "目标ID", "消息内容", "Quote引用ID", "nonce", "tempTargetId");
// 或使用builder:
SendChannelMessageApi.builder("目标ID", "消息内容")
.type(SendMessageType.KMARKDOWN)
.content("content")
.quote("quote")
.nonce("nonce")
.tempTargetId("tempTargetId").build();
// 请求并得到结果
api.requestDataAsync(client, authorization).thenAccept(result -> {
// 发送后的结果
System.out.println("result = " + result);
System.out.println("result.getMsgId() = " + result.getMsgId());
System.out.println("result.getNonce() = " + result.getNonce());
System.out.println("result.getMsgTimestamp() = " + result.getMsgTimestamp());
});