Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ches3/annict-search
AnnictのAPIを使って作品の検索と記録をするライブラリ
https://github.com/ches3/annict-search
annict javascript npm typescript
Last synced: about 2 months ago
JSON representation
AnnictのAPIを使って作品の検索と記録をするライブラリ
- Host: GitHub
- URL: https://github.com/ches3/annict-search
- Owner: ches3
- License: mit
- Created: 2024-10-23T13:45:17.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2024-10-23T19:52:07.000Z (about 2 months ago)
- Last Synced: 2024-10-24T06:52:39.983Z (about 2 months ago)
- Topics: annict, javascript, npm, typescript
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/@ches3/annict-search
- Size: 95.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# @ches3/annict-search
[Annict](https://annict.com/)のAPIを使って作品の検索と記録をするライブラリです。
## インストール
### bun
```bash
bun add @ches3/annict-search
```### npm
```bash
npm i @ches3/annict-search
```## 使い方
### search()
- エピソードの検索
- 以下の形式で検索可能
- `{ workTitle: "作品タイトル", episodeNumber: "話数", episodeTitle: "エピソードタイトル" }`
- `{ workTitle: "作品タイトル", episodeTitle: "話数 エピソードタイトル" }`
- `{ title: "作品タイトル 話数 エピソードタイトル" }````typescript
// { workTitle: "作品タイトル", episodeNumber: "話数", episodeTitle: "エピソードタイトル" } の形式で検索
const result = await search(
{
workTitle: "響け!ユーフォニアム",
episodeNumber: "第一回",
episodeTitle: "ようこそハイスクール",
},
token,
);// { title: "作品タイトル", episodeTitle: "話数 エピソードタイトル" } の形式で検索
const result = await search(
{
workTitle: "響け!ユーフォニアム",
episodeTitle: "第一回 ようこそハイスクール",
},
token,
);// { title: "作品タイトル 話数 エピソードタイトル" } の形式で検索
const result = await search(
{ title: "響け!ユーフォニアム 第一回 ようこそハイスクール" },
token,
);
```### record()
- エピソードの記録
- search()で取得したエピソードのidを指定する
- エピソードがある場合は `result.episode.id`
- 劇場版などのエピソードがない作品は `result.id````typescript
const id = result.episode?.id || result.id;
await record(id, token);
```### isRecorded()
- 指定した日数以内にエピソードが記録済みかどうかを確認
- 重複記録を防ぐために使用```typescript
// 7日以内に記録されていない場合は記録する
if (await isRecorded(id, 7, token)) {
console.log("already recorded");
} else {
await record(id, token);
console.log("recorded");
}
```## ライセンス
[MIT](LICENSE)