" />

PC関連

【Lark】Lark Botを作成し、Webhookを利用してメッセージを受信

📌 Lark Botの作成 & Webhookサーバー構築手順(完全ガイド)

🔹 1. 必要なもの

Larkアカウントhttps://www.larksuite.com/ で作成)
Python(3.11以上)https://www.python.org/downloads/ からインストール)
Ngrok(トンネルツール)https://ngrok.com/download からダウンロード)
Flask(PythonのWebフレームワーク)(後でインストール)


🔹 2. Lark Developer ConsoleでBotを作成

  1. Lark Developer Console にログイン(https://open.larksuite.com/)
  2. 「アプリを作成」 をクリックし、Botの名前を入力
  3. 「ボット」機能を追加
  4. 「アクセス許可とスコープ」 を設定(以下を追加)
    • im:message.receive_v1(メッセージ受信)
    • im:message.send_v1(メッセージ送信)
    • event:im.message.receive_v1(イベント購読)
  5. 「イベントとコールバック」 でWebhookを設定(後ほどNgrokのURLを入力)
  6. 「バージョン管理とリリース」 から 公開 する

🔹 3. PythonでWebhookサーバーを構築

① 必要なパッケージをインストール

sh
pip install flask

② WebhookサーバーのPythonコード

webhook.py というファイルを作成し、以下のコードを記述:

python
from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route("/lark-webhook", methods=["POST"])
def lark_webhook():
data = request.json
if "challenge" in data:
return jsonify({"challenge": data["challenge"]}) # Lark認証
print("Received message:", data)
return jsonify({"status": "ok"})

if __name__ == "__main__":
app.run(port=5000)

  • LarkからのChallenge認証を処理
  • 受信メッセージをターミナルに表示

③ Webhookサーバーを起動

sh
python webhook.py
  • http://127.0.0.1:5000 で動作

🔹 4. Ngrokを使ってWebhookの公開URLを取得

① Ngrokをインストール

  1. ダウンロードhttps://ngrok.com/download)
  2. 解凍して C:\ngrok に配置
  3. 環境変数に追加
sh
[System.Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\ngrok", [System.EnvironmentVariableTarget]::User)

② Ngrokを認証

sh
ngrok config add-authtoken YOUR_AUTH_TOKEN

(※ YOUR_AUTH_TOKENhttps://dashboard.ngrok.com/get-started/your-authtoken で取得)

③ WebhookのURLを取得

sh
ngrok http 5000

すると、以下のようなURLが表示される:

nginx
Forwarding https://xxxx.ngrok.io -> http://localhost:5000

🔹 5. LarkにWebhook URLを設定

  1. Lark Developer Console「イベントとコールバック」 を開く
  2. 「イベント送信URL」https://xxxx.ngrok.io/lark-webhook を入力
  3. 「イベントを追加」im.message.receive_v1 を選択)
  4. 「保存」ボタンを押す

🔹 6. 動作確認

  1. PythonのWebhookサーバーを実行
    sh
    python webhook.py
  2. NgrokでURLを公開
    sh
    ngrok http 5000
  3. LarkのBotにメッセージを送信
  4. ターミナルにメッセージが表示される
    sh
    Received message: "Hello, Bot!"

🔹 7. よくあるトラブルと対処法

❌ 404エラーになる

エンドポイントが正しいか確認
https://xxxx.ngrok.io/ ではなく https://xxxx.ngrok.io/lark-webhook を設定

Webhookサーバーが動いているか確認

sh
python webhook.py

を実行して http://127.0.0.1:5000 でアクセスできるかチェック

Ngrokが動いているか確認

sh
ngrok http 5000

で新しいURLを取得し、Larkの「イベントとコールバック」のURLを更新


❌ Ngrokの認証エラー

正しいAuthtokenを使っているか確認

sh
ngrok config add-authtoken YOUR_AUTH_TOKEN

(Ngrokのダッシュボードで確認)

Ngrokが適切にインストールされているか確認

sh
ngrok --version

エラーが出る場合、環境変数に C:\ngrok が追加されているか確認


🔹 8. まとめ

Lark Developer ConsoleでBotを作成
PythonでWebhookサーバーを構築(Flask)
Ngrokで外部公開URLを取得
LarkにWebhookのURLを設定
LarkのBotがメッセージを受信できることを確認


🎯 これでLarkのBotがWebhookを通じて動作するようになります!

これを基に、Lark Botをさらに高度な機能に拡張することもできます。例えば:

  • BotがLarkに返信する
  • 特定のワードを検知して通知
  • データベースと連携
  • Larkのメッセージを外部サービスに転送

-PC関連