Webhook

ページ名:Webhook

Habiticaは、アカウントで発生する可能性がある特定のアクション(たとえば、タスクを完了したとき、または所属しているギルドに誰かがメッセージを投稿したとき)に「ウェブフック」を提供します。そのようなアクションが発生するとWebhookがトリガーされ、アクションに関する情報が別のWebサイトのスクリプトまたはその他のツールに送信されます。

目次

詳細な技術情報

HabiticaはPOSTリクエストでWebhook URLを呼び出します。

HabiticaのWebhookから情報を受信するスクリプトを指定するには、HabiticaのWebサイトにログインし、[ユーザーアイコン]> [設定]> [API]に移動します。

詳細については、HabiticaのAPIドキュメントのWebhooksセクションをご覧ください。

誤ったURLを指定すると、Habiticaでエラーまたは速度低下が発生する可能性があるため、Webhookの動作が不明な場合は、この機能を使用しないことをお勧めします。Webhookは、タイムアウトエラーがトリガーされるまでに、2xx HTTPコードの応答に30秒かかります。最適解は、200 HTTPコードと空ではない応答(例:非常に小さいjson、またはHtmlService.createHtmlOutput()を使用)を含むリクエストを受信したらすぐにHabiticaサーバーに応答することです。これにより、Habiticaサーバーが必要最低限​​の時間(応答を送信した後にデータを処理できます)でWebhookに接続されたままになり、30秒のタイムアウト制限に達するリスクがなくなります。月に10回以上失敗したWebhookは自動的に無効になります。

Webhookに応答するスクリプトの開発についてサポートが必要な場合は、Aspiring Comradesギルドで他の開発者にアドバイスを求めてください。

Webhook開発の認知度を高めたい場合は、en:Guidance for Comrades(未翻訳)で詳細を確認してください。

Python Flaskの例

次のスクリプトは、Python Flaskを使用してWebhookの処理を実装しています。HabiticaのWebサイトに入力するURLは次のようになります。http://:/taskevent

Flaskはデフォルトでポート5000を監視しますが、で示される別のポートを指定できます。

スクリプトがファイアウォールの背後でホストされている場合は、ポート転送を使用するか、ファイアウォールを介したポートへのアクセスを許可する必要があります。

from flask import Flask, requestapp = Flask(__name__) # URI for receiving inbound webhook request@app.route('/taskevent', methods=['POST'])def webhook(): # Request contains data as shown at https://habitica.com/apidoc/#api-Webhook # .json converts request to Python dictionary print(request.json) # type: dict # return '', 200 # Return 200 code to the sending webserver if __name__ == "__main__": app.run(host='0.0.0.0', port='')

Google Apps Scriptの例

次のスクリプトは、Google Apps Scriptを使用してHabitica Webhookを監視します。スクリプトは、「バージョンの管理」を使用して編集するたびに新しいバージョンとして保存する必要があります。新しいバージョンを有効にするには、「Webアプリ」としてデプロイし、スクリプトを「As Yourself」で実行して、「everyone, even anonymous」にアクセスを許可する必要があります。

次の例は、クエストの招待を即座に自動承諾します。

function doPost(e) { var habiticaUserId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"; // your Habitica UserId var habiticaApiToken = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"; // your Habitica API-Token (don't share, = password!) try { var dataContents = JSON.parse(e.postData.contents); var type = dataContents.type; } catch (err) {} if (type == 'questInvited') { var params = { "method": "post", "headers" : { "x-client": habiticaUserId + "-Webhook Script questInvited", "x-api-user": habiticaUserId, "x-api-key": habiticaApiToken } } var url = "https://habitica.com/api/v3/groups/party/quests/accept"; UrlFetchApp.fetch(url, params); } return HtmlService.createHtmlOutput();}

詳細:Google Apps ScriptによるWebhook処理

Webhookのサードパーティツール

現在、Webhookを作成および編集するためのHabiticaの独自のインターフェースは制限されていますが、HabiticaのAPIはより詳細な制御を提供します。つまり、以下にリストされているようなWebhookのセットアップにサードパーティツールを使用できます。拡張機能・アドオン・カスタマイズページに他のページが表示される場合があります。サードパーティのツールと同様に、使用に適しているかどうかを慎重に評価する必要があります。Habiticaのスタッフは、ツールを直接サポートしたり、ツールを保証したりしません。

翻訳アイコン.png注意:Webhookは Habitica Wiki の翻訳版の一部です。

英語版のWebhooksの情報を正確に反映していることを保証しません。
翻訳に時間を要するため、最新の情報ではない場合があります。
このページは、未実装、未翻訳、すでにゲームには存在しないコンテンツにリンクしている可能性があります。
翻訳に参加したい場合は、Habitica 日本語訳ギルド へお越しください。



特に記載のない限り、コミュニティのコンテンツはCC BY-SAライセンスの下で利用可能です。

シェアボタン: このページをSNSに投稿するのに便利です。


最近更新されたページ

左メニュー

左メニューサンプル左メニューはヘッダーメニューの【編集】>【左メニューを編集する】をクリックすると編集できます。ご自由に編集してください。掲示板雑談・質問・相談掲示板更新履歴最近のコメントカウン...

魔道士

これは特集記事です!このページはWiki Wednesdayシリーズの一環で特集されました。Habiticaのスタッフは月に1回、生産性・健康・最適化などHabiticaの使い方についてヒントを載せた...

魔のウーパールーパー

魔のウーパールーパーHP500強さ1.5巻物魔のウーパールーパーは クエスト名と同じ名前のモンスターがボスのクエストです。 このボスを倒すとウーパールーパのクエストペットがアンロックされます。クエスト...

食器の惨事!

食器の惨事!コレクションクエストクエストの巻物画像食器の惨事!は日常の攻撃シリーズクエストの最初のクエストで、コレクションクエストです。完了するとクエストのオーナーにはクエストの続編でモンスター、「オ...

霜の鳥

フロストペンギンHP400強さ1.5巻物霜の鳥は 「フロストペンギン」という名のモンスターがボスのクエストです。 このボスを倒すとペンギンのクエストペットがアンロックされます。クエストの巻物は市場で4...

雷雄羊

雷雄羊HP300強さ1.5巻物雷雄羊は クエスト名と同じ名前のモンスターがボスのクエストです。 このボスを倒すと羊のクエストペットがアンロックされます。クエストの巻物は市場で4ジェムで購入可能です。雷...

難易度

難易度は習慣、日課、またはTo Doがあなたにとってどれだけ完了するのが難しいかを表します(例えば、家をペイントするのは歯磨きをするより困難です)。難易度のレベルはちょろい、かんたん、ふつう、むずかし...

集中宇宙の旅

キモソゾロイドHP1500強さ2.5巻物集中宇宙の旅はHabiticaのボスクエストです。このクエストをクリアすると太陽系の魔法のたまごがえしの薬が市場で購入できるようになります。太陽系のたまごがえし...

防御の薬

防御の薬‏‎すべてのタスクを初期値(黄色)に戻し、体力を全快します。購入額4 防御の薬‏‎は、チャレンジではないタスクの値をすべて初期値(黄色)に戻し、プレイヤーの体力を全快します。 本効果は即時に現...

銅頭鉄額の甲虫との戦い

銅頭鉄額の甲虫HP800強さ2巻物このクエストは「銅頭鉄額の甲虫」という名のモンスターがボスのクエストです。 このボスを倒すと銅の魔法のたまごがえしの薬がアンロックされます。クエストの巻物は市場で4ジ...

銀液を解き明かす

銀液を解き明かすコレクションクエストクエストの巻物画像銀液を解き明かすはHabiticaで2番目にリリースされた魔法の薬のクエストです。このクエストをクリアすると銀の魔法のたまごがえしの薬が市場で購入...

鉄の騎士

鉄の騎士HP1700強さ3.5巻物鉄の騎士は黄金騎士シリーズクエストの最終パートのボスクエストです。第2部の金の騎士を完了することでクエストオーナーはこのクエストの巻物を受け取れます。レベル40かそれ...

金の騎士

金の騎士HP1000強さ3巻物金の騎士 is the second part of the 黄金騎士シリーズの第2部の装備シリーズクエスト でボスは金の騎士です。クエストシリーズを完了すると究極の報酬...

連続実行

連続実行は日課を予定通り完了した回数や、カウンターのリセットまでの間に習慣を行った回数を記録しています。目次1 連続実行回数の増加と消失2 連続実行実績3 連続実行回数を調整する4 過去の連続実行回数...

転生のオーブ

これは特集記事です!このページはWiki Wednesdayシリーズの一環で特集されました。Habiticaのスタッフは月に1回、生産性・健康・最適化などHabiticaの使い方についてヒントを載せた...

貢献者へのごほうび

96c696a0-7f8f-11e2-9bf9-5e67f9e4ed85.gif Habiticaでは、メンバーからの貢献に感謝して、ごほうびを授与しています! このページでは獲得できるごほうびを紹介...

豊穣の妖精を探し出せ

豊穣の妖精を探し出せコレクションクエストクエストの巻物画像豊穣の妖精を探し出せはタスクの森の恐怖の装備シリーズクエストの第2部で、コレクションクエストです。ゴールドで購入できるクエストでクエストショッ...

謎のタイムトラベラー

謎のタイムトラベラー謎のタイムトラベラーは、三か月以上有料会員を継続し、神秘の砂時計を受け取ったプレイヤーが呼び出すことができます。目次1 有料会員の特典2 スチームパンクセット3 スチームパンクな背...

試練

これは特集記事です!このページはWiki Wednesdayシリーズの一環で特集されました。Habiticaのスタッフは月に1回、生産性・健康・最適化などHabiticaの使い方についてヒントを載せた...