///
///
/// @ts-check
serein.registerPlugin('一言', 'v1.1', 'Zaitonn', '需要安装`MsgHelper.js`前置');
let httpClient;
init();
serein.setListener('onPluginsReload', () => httpClient.Dispose());
serein.setListener('onPluginsLoaded', () => {
/** @type {regHandler} */
const MHregHandler = serein.imports('MsgHelper.regHandler');
if (!MHregHandler || typeof (MHregHandler) != 'function')
throw new Error('你需要安装`MsgHelper.js`');
serein.safeCall(MHregHandler,
{
name: '一言',
descriptions: ['发送“一言”随机回复一句话', 'api源:Hitokoto'],
author: 'Zaitonn',
version: 'v1.1',
triggers: [
{
type: 'fullmatch',
params: ['一言'],
callback: oneword
}
]
});
});
function init() {
try {
httpClient = new System.Net.Http.HttpClient();
} catch (error) {
serein.log(error);
serein.setPreLoadConfig(['System.Net.Http']);
throw new Error('请重新加载此插件');
}
}
function oneword() {
return JSON.parse(get('https://v1.hitokoto.cn/')).hitokoto
}
/**
* get请求
* @param {string} url 链接
*/
function get(url) {
return httpClient.GetAsync(url).GetAwaiter().GetResult().Content.ReadAsStringAsync().GetAwaiter().GetResult();
}