HoYoRandom

GitHub commit activity GitHub Repo stars GitHub forks

一个使用 node.js 编写的随机 API:

包括原神&崩坏 3 精选图片、音乐、视频以及一言.
喜欢的话麻烦点个Star吧ヾ(≧▽≦\*)o 欢迎贡献!

链接

默认的资源存储在DreamOfIce/HoYoRandomResources
详细文档位于DreamOfIce/HoYoRandom-docs
使用 PHP 编写的旧版本:HoYoRandom-php(不再更新)

TODO

API 端点

我提供的公共 API,服务器位于美国,目前没有速率限制:

本站已启用HSTS,并加入Preload List,故仅支持 https 调用 https://api.dreamofice.cn/hoyorandom/


接口

支持的参数列表请见参数一节

以下为默认的 API 接口,你可以自行部署不同的接口

图片

返回示例:

音乐

返回示例:

视频

返回示例:

一言

返回示例:

document
  .querySeletor('#hitokoto')
  .innerText(
    '你不明白「牺牲是无法避免的」意味着什么,真正可怕的,并不是这个世界夺走了多少人的性命,而是它让多少人对失去生命这件事,习以为常',
  );

参数

目前支持三种方式传入参数:

优先级为从上到下递减

Media

参数名 简写 默认值 合法值 描述 备注
category c all all & 有效的类型值(ys,bh3)或其组成的数组 资源类型,all代指所有
tag t all all & 有效的标签或其组成的数组 资源的标签(tag)(开发中) 输入多个值时随机返回符合任意一个条件的资源
format f raw raw,json 返回的格式 具体示例参见接口-图片一节的返回示例部分
encoding e utf-8 任意支持的字符编码 format=json时,返回文本的编码

Hitokoto

参数名 简写 默认值 合法值 描述 备注
category c all all或有效的类型字符串(ys,bh3)或其组成的数组 资源类型,all代指所有
tag t all all或有效的标签或其组成的数组 (开发中) 一言的标签(tag) 输入多个值时随机返回符合任意一个条件的资源
format f json js,json,text 返回的格式 具体示例参见接口-一言的返回示例部分部分
encoding e utf-8 任意支持的字符编码 返回文本的编码
seletor s #hitokoto format=js时,要插入一言的元素的CSS 选择器

常见问题(FAQ)

  1. 分类(category)和标签(tag)有什么区别?

    category是从某一个方面对所有资源进行归类(例如所属的游戏),而tag是一个资源包含的种种特征(例如:是风景画或人物画?是否包含某个角色?是官方还是同人?...).换言之,一个对象只能属于一个分类,但可以拥有多个标签.

  2. 你说的这么好,那标签功能什么时候实装?

    在做了,在做了 o((>ω< ))o

License

MIT