Open15
Twitchの配信開始をIFTTTでmisskey.ioの特定チャンネルに流す
misskey.io であることに注意
権限はノート作成/削除だけ
MisskeyはぜんぶPOST
まずはbashスクリプトで試す。
#!/bin/bash
TOKEN="さっきもらってきたやつ"
API_BASE_URL="https://misskey.io/api/"
API_ENDPOINT="notes/create"
HEADER="Content-Type: application/json"
CHANNEL_ID="チャンネルID"
TEXT="API test"
PARAMS="{\"i\": \"$TOKEN\",\"channelId\": \"$CHANNEL_ID\",\"text\": \"$TEXT\"}"
curl \
--header "$HEADER" \
--data "$PARAMS" \
--request POST \
"$API_BASE_URL$API_ENDPOINT"
できた。
次にIFTTTで試す。
もちろん有料アカウント前提
全体的にはこんな感じ。
Filterのコードはこんな感じ。
// api tokens
const MASTODON_TOKEN = '';
const MISSKEY_TOKEN = '';
// twitch
const twitchUrl = Twitch.newStreamByYou.ChannelUrl;
const twitchGameName = Twitch.newStreamByYou.Game;
const msg = `${twitchGameName} をプレイ中! ${twitchUrl}`;
// mastodon
const visible = 'public';
// misskey
// 適当なチャンネルのIDを入れる
const misskeyChannelId = '';
// request bodys
const r_body_mastodon = `access_token=${MASTODON_TOKEN}&status=${msg}&visibility=${visible}`;
const r_body_misskey = `i=${MISSKEY_TOKEN}&text=${msg}&channelId=${misskeyChannelId}`;
// set request bodys
MakerWebhooks.makeWebRequest1.setBody(r_body_mastodon);
MakerWebhooks.makeWebRequest2.setBody(r_body_misskey);
mastodonとの同時投稿だからmastodonのも入ってるけど気にしない
チャンネルIDの探し方は
チャンネルURLが https://misskey.io/channels/9d4dubqbxf
というURLだった場合、末尾の 9d4dubqbxf
がチャンネルID。