-
Notifications
You must be signed in to change notification settings - Fork 1
webhook
Tatsuya Koishi edited this page Dec 13, 2020
·
43 revisions
拙作tomato-shriekerからの移植。
webhookのURLに短文のPOSTを行うと、その短文を投稿することができる。Slack Incoming Webhooksと下位互換。
モロヘイヤHOMEから「トークンの登録」を行い、利用開始する。
以下のようなコマンドトゥートで、手動でアクセストークンを登録することも可能。
command: user_config
webhook:
token: your_token
webhookのURLは、モロヘイヤHOMEで確認する。
webhookのURLは公開せず、パスワード同様の厳重な管理をすること。
JSONの書式は、Slack Incoming Webhooksのサブセット。curlを例にすると、以下の様なPOSTで実際に投稿出来る。
いずれも、実在しないフックダイジェスト(ID)には404
を、JSONに適切な投稿本文が含まれていない場合等は422
を返す。
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
{
"spoiler_text": "ネタバレ注意",
"text": "つかみ男につかまれると、体力ゲージが減少していく。",
"attachments": [
{
"image_url": "https://image.example.com/image.png"
}
]
}
- 通常用途にはこちらを推奨。
-
attachments
やspoiler_text
は省略可能。
Slack Incoming Webhooksとの互換性の為に、通常の形式とは別にこちらも利用可。
元々の仕様 https://api.slack.com/reference/messaging/payload
以下の様に、モロヘイヤではSlack Incoming Webhooksの一部の必須項目を省略してよい。
{
"blocks": [
{
"type": "header",
"text": {
"text": "ネタバレ注意"
}
},
{
"type": "section",
"text": {
"text": "つかみ男につかまれると、体力ゲージが減少していく。"
}
},
{
"type": "image",
"image_url": "https://image.example.com/image.png"
}
]
}