質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
LINE Messaging API

LINE Messaging APIは、メッセージの送信・返信ができるAPIです。Web APIを経由しアプリケーションサーバとLINEのAPIでやり取りが可能。複数のメッセージタイプや分かりやすいAPIリファレンスを持ち、グループチャットにも対応しています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

1600閲覧

Python LINE

raspypy

総合スコア247

LINE Messaging API

LINE Messaging APIは、メッセージの送信・返信ができるAPIです。Web APIを経由しアプリケーションサーバとLINEのAPIでやり取りが可能。複数のメッセージタイプや分かりやすいAPIリファレンスを持ち、グループチャットにも対応しています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2020/09/12 06:56

編集2020/09/12 14:35

##やろうとしていること

次のプログラムのコードを実行するとエラーが出てしまいます。

実行している内容は、
LINE画面にボタンを配置し、ボタンに応じたメッセージを返すというプログラムです。
何が原因か分からず困っております。

text

1[ERROR] AttributeError: 'dict' object has no attribute 'reply_token' 2Traceback (most recent call last): 3 File "/var/task/lambda_function.py", line 96, in lambda_handler 4 handler.handle(body, signature) 5 File "/var/task/linebot/webhook.py", line 256, in handle 6 self.__invoke_func(func, event, payload) 7 File "/var/task/linebot/webhook.py", line 268, in __invoke_func 8 func(event) 9 File "/var/task/lambda_function.py", line 66, in message 10 line_bot_api.reply_message(event.reply_token, template_message)

##プログラムコード

python

1 handler.handle(body, signature) 2 except LineBotApiError as e: 3 logger.error("Got exception from LINE Messaging API: %s\n" % e.message) 4 for m in e.error.details: 5 logger.error(" %s: %s" % (m.property, m.message)) 6 return error_json 7 except InvalidSignatureError: 8 return error_json 9 10 return ok_json

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

reply_token を持っているのは event ではなく line_event ではないですか?

@handler.add(MessageEvent, message=TextMessage) def message(line_event): text = line_event.message.text #botは停止中 (bot動作は確認済) #line_bot_api.reply_message(line_event.reply_token, TextSendMessage(text=text)) if text == 'password': buttons_template = ButtonsTemplate( title='Title', text='選択してください。', actions=[ PostbackTemplateAction(label='A', data='AAA'), PostbackTemplateAction(label='B', data='BBB'), PostbackTemplateAction(label='C', data='CCC'), PostbackTemplateAction(label='D', data='DDD'), ]) template_message = TemplateSendMessage( alt_text='Buttons alt text', template=buttons_template) line_bot_api.reply_message(line_event.reply_token, template_message) #???????????????? else: line_bot_api.reply_message( line_event.reply_token, TextSendMessage(text='正しいパスワードを入力して下さい。')) #????????????????

投稿2020/09/12 07:10

unhappychoice

総合スコア1531

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

raspypy

2020/09/12 07:19

早速の回答ありがとうございます。ご指摘の通りミスを犯しておりました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問