generated at
ニコニコ動画のURLからサムネイル画像を貼り付けるUserScript

使い方


インストール
2つのものをインストールする必要がある
1. nicovideo-thumbnail-proxyをインストールする
2. このscript.jsを自分のページに追加する
js
import('/api/code/motoso/ニコニコ動画のURLからサムネイル画像を貼り付けるUserScript/script.js')

このプログラムは何をしているのか
ScrapboxのUserScriptでページに画像を書き込む

他のサービス

課題
soから始まる動画URLに対応していない
Scrapboxが使っているfont awesomeが5なのでbilibiliのアイコンがでない
6なら出る

開発
/programming-notes/url-info-proxyのような感じでlambdaを消せるかも?

変更履歴
2022/8/20 nm始まりの動画にも対応
2022/5/4 02:10 タイトルも表示するようにした

script.js
import { insertText } from "/api/code/customize/scrapbox-insert-text/script.js" cosense.PageMenu.addMenu({ title: "ニコニコ動画を埋め込む", // font awesomeにniconivoがないのでビリビリで我慢。cosenseがfont awesome 6にアプデしたら切り替える // icon: "fab fa-bilibili", image: "https://i.gyazo.com/3de7600c073e31bf6d4d7240f2fc3f4a.png", onClick: async () => { if (!window.get_nicovideo_thumbnail) { alert("UserScriptが入ってなさそうです?") window.open("https://scrapbox.io/motoso/nicovideo-thumbnail-proxy", "blank") return } const rawURL = prompt("視聴ページのURLを入力してください").trim() if (rawURL === null) return; // 最低限のチェック const m = rawURL.match(/nicovideo.jp\/watch\/((sm|nm)\d+)/) if (!m) { alert("無効な形式のURLです") return } try { const res = await window.get_nicovideo_thumbnail(rawURL); if (res.status !== 200) { alert("URL fetch failed(!=200)") return } const thumbnailUrl = res.response.thumbnailUrl; const title = res.response.title; insertText({ text: `[${rawURL} ${thumbnailUrl}#.png]\n ${title}` }) } catch (e) { console.error(e) alert("画像URLの取得に失敗しました") return } } })