takoochiki
https://scrapbox.io/files/68dd214e3cf3a9fa7bcce897.png
code: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",
onClick: async () => {
if (!window.get_nicovideo_thumbnail) {
alert("UserScriptが入ってなさそうです?")
return
}
const rawURL = prompt("視聴ページのURLを入力してください").trim()
if (rawURL === null) return;
// 最低限のチェック
const m = rawURL.match(/nicovideo.jp\/watch\/((sm|nm|so)\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 nicoIds = rawURL.match(/(sm|nm|so)\d+/);
const title = res.response.title;
const shortTitle = title.replace(/ - ニコニコ動画$/, "");
insertText({ text: ${shortTitle}\n#音MAD\n[${rawURL} ${thumbnailUrl}#.png]\n ${nicoId} })
} catch (e) {
console.error(e)
alert("画像URLの取得に失敗しました")
return
}
}
})