Skip to content

Repository files navigation

twicas-api

TwiCas API v2 向けの軽量 TypeScript クライアントです。

インストール

pnpm add twicas-api

使い方

クライアントの作成

アクセストークンまたは、クライアントIDとクライアントシークレットを使ってクライアントを作成します。

アクセストークンを使う場合

const client = new TwiCasClient({
  accessToken: process.env.TWITCASTING_ACCESS_TOKEN!,
});

クライアントIDとクライアントシークレットを使う場合

const client = new TwiCasClient({
  clientId: "YOUR_CLIENT_ID",
  clientSecret: "YOUR_CLIENT_SECRET",
});

リクエストを送る

作成したTwiCasClientインスタンスのメソッドを使ってリクエストを送信できます。

例:ライブ配信を検索

const result = await client.searchLiveMovies({
  limit: 10,
  type: "word",
  context: "雑談",
  lang: "ja",
});

レスポンスを処理する

TwiCasClientインスタンスのメソッドは以下の振る舞いをします。

  • リクエストが成功した場合: TwiCasAPIEndpointFnReturn型を返します。
  • リクエストが失敗した場合: TwiCasAPIErrorをスローします。

例:ライブのテロップを設定する

try {
  const result = await client.setCurrentLiveSubtitle({
    subtitle: "テスト",
  });

  const movieId = result.data.movie_id;
} catch (error) {
  if (error instanceof TwiCasAPIError) {
    console.error(`エラーコード:${error.code}, メッセージ:${error.message}`);
  }
  throw error;
}

WebHookを受け取る

express

import express from "express";
import { TwiCasWebHookReceiver } from "twicas-api/express";

const app = express();
const port = 3000;

const signature = "the_webhook_signature";
const receiver = new TwiCasWebHookReceiver(signature);
receiver.on("received", (data) => {
  console.log(data);
});

app.get("/webhook", receiver.handleRequest);

app.listen(port, () => {
  console.log(`WebHook Receiver running on http://localhost:${port}/webhook`);
});

hono

import { Hono } from "hono";
import { TwiCasWebHookReceiver } from "twicas-api/hono";

const app = new Hono();

const signature = "the_webhook_signature";
const receiver = new TwiCasWebHookReceiver(signature);
receiver.on("received", (data) => {
  console.log(data);
});

app.get("/webhook", receiver.handleRequest);

export default app;

ライセンス

このプロジェクトは MIT ライセンスの下で公開されています。詳細は LICENSE を参照してください。

その他

詳細な API リファレンスは TwitCasting API v2 の公式ドキュメントを参照してください。

About

TypeScript client for the TwitCasting API v2.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages