Skip to content
This repository has been archived by the owner on Oct 15, 2023. It is now read-only.

🔭 Annict での今期の視聴状況を SVG 画像として出力するサーバ (WIP)

License

Notifications You must be signed in to change notification settings

SlashNephy/annict-profile-card

Repository files navigation

annict-profile-card

🔭 Annict の視聴状況などを SVG 画像として出力する API サーバ (WIP)

Annict GraphQL API を使用しています。

GitHub release (latest by date) GitHub Workflow Status license issues pull requests

Docker

docker-compose.yml

version: '3.8'

services:
  server:
    container_name: annict-profile-card
    image: ghcr.io/slashnephy/annict-profile-card:master
    restart: always
    ports:
      - 8080:8080/tcp
    environment:
      ANNICT_TOKEN: xxx  # https://annict.jp/settings/tokens/new で発行できます
      RUST_LOG: info,annict_profile_card=debug

GET /watching/{username}

今期視聴しているアニメ一覧を返します。表示される作品は Annict 上で「見てる」を設定したものが対象です。

クエリパラメータ デフォルト値 説明
season 現在のシーズン 表示するシーズンを 2021-summer という形式で指定します。all を指定した場合, すべてのシーズンが対象です。
bg_color 1a1b27 背景の色を hex で指定します。
header_color 70a5fd ヘッダーの色を hex で指定します。
text_color d6e3e1 文字の色を hex で指定します。
icon_color bf91f3 アイコンの色を hex で指定します。
title_color 38bdae タイトルの色を hex で指定します。
limit_works 10 表示する作品数を指定します。
limit_images 3 表示する作品のアイキャッチ画像の数を指定します。
sort satisfaction 作品一覧をソートする方法を指定します。
satisfaction の場合, 満足度 % の値で降順にソートします。
watcher の場合, 視聴者数の数で降順にソートします。
order desc ソートする方向を指定します。
desc の場合は降順で, asc の場合は昇順になります。
expose_image_url false true の場合, SVG 画像内に埋め込まれる画像を外部 URL で埋め込みます。
false の場合, Base64 エンコードされた画像が埋め込まれます。

image

Known Issue

  • GitHub 上に貼り付ける場合 expose_image_url=false が必要 GitHub などのサイトに貼り付ける場合には CORS の関係で画像は Base64 エンコードして埋め込む必要があります。

  • GitHub 上では作品のアイキャッチ画像が表示できない
    GitHub では SVG 画像の長さ制限?があるようでエンコードしても表示できません。limit_images=0 でアイキャッチ画像を無効化できます。