2
1

line-bot-sdk-python v3 で位置情報メッセージの送受信がうまく行かない!

Posted at

はじめに

line-bot-sdk-pythonversion3 になってからのドキュメントや記事などが少なく、ユーザが送信した位置情報メッセージのハンドリングに詰まったので解決策を共有します。

環境

  • Python3.11
  • line-bot-sdk 3.9.0
  • Flask 2.3.3

発生したこと

Flaskを利用してLINE Botを作成する際に,ユーザから送信されたメッセージの種類によって処理を変えたい場合, @handler.add を利用するが,LINE Bot SDKがv3よりも前の方法だとうまくできませんでした.

解決した方法

ドキュメントなどに記載がなかったので line-bot-sdk のGithubをたどりました.

その結果, LocationActionLocationMessageContentが従来とは異なる場所に配置されてました.
以下,修正したimport方法を共有します.(line-bot-sdkのlocation部分のみ抜粋)

v3より前の場合

from linebot.models import LocationMessage, LocationAction

v3以降

from linebot.v3.webhooks import LocationMessageContent
from linebot.v3.messaging.models.location_action import LocationAction

おわりに

line-bot-sdkのバージョンが3になってからの記事がまだあまり出ていないので,位置情報以外にも画像や音声などのメッセージをハンドリングする方法もまとめて記事にしようと思います.

参考文献

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1