Skip to content

webhook

Tatsuya Koishi edited this page Jul 6, 2019 · 11 revisions

拙作tomato-tootからの移植。
webhookのURLに短文のPOSTを行うと、その短文をトゥートすることができる。

Slackのwebhookと互換性あり。(サブセット)

以下、利用の手順。

アプリケーションの認証

/mulukhiya/app/auth (例えばhttps://mstdn.example.com/mulukhiya/app/auth)を開き、アプリケーションの認証を行う。 認証後、アクセストークンの登録手順が表示されるので、指示に従う。

アクセストークン登録後、最終的には以下のようなコマンドトゥートを実行。

command: user_config
webhook:
  token: your_token
  visibility: unlisted

visibilityは省略可能。

webhookのURLを取得

アクセストークン登録のコマンドトゥートを実行すると、webhookのURLが表示される。
webhookのURLは、以下のコマンドトゥートでも確認可能。

command: webhook_url

https://mstdn.example.com/mulukhiya/webhook/xxxx 形式のURLが返されるはず。
webhookのURLは公開せず、パスワード同様の厳重な管理をすること。

webhookへPOST

JSONの書式は、Slackのサブセット。
curlを例にすると、以下の様なPOSTで実際にトゥート出来る。

テキストのみのトゥート

curl -H 'Content-Type: application/json' -X POST -d '{"text":"敵が増えてきた時に仕掛けてくるフラッシュ攻撃には気をつけろ!"}' https://mstdn.example.com/mulukhiya/webhook/xxxx

添付画像を含むトゥート

attachments要素に注目。

curl -H 'Content-Type: application/json' -X POST -d '{"text":"つかみ男につかまれると、体力ゲージが減少していく。","attachments":[{"image_url": "https://image.example.com/image.png"}]}' https://mstdn.example.com/mulukhiya/webhook/xxxx
Clone this wiki locally
You can’t perform that action at this time.