如何使用LINE聊天机器人“ reply_message函数”将多条消息回复给用户

时间:2018-09-18 11:00:19

标签: python chatbot

我正在尝试使用 reply_message 函数向用户发送多条消息,但是我遇到了一些麻烦。

在官方SDK文档中,我们知道如何使用Reply_message函数示例:

line_bot_api.reply_message(event.reply_token, TextSendMessage(text = "123"))

然后,如果用户发送消息,Line bot将显示消息“ 123”。

但是在官方的github上,它说“ reply_message”功能可以发送 同时发送5条消息。

官方github截图

official github link

此外,该文档还说请求主体应发回两个参数: replyToken和消息(请参见屏幕截图) offical reply_message SDK document link

the SDK document of reply message function screenshot

它表示将消息对象数组放入message参数。 消息对象的数组如下所示: the SDK document of message object example link

the SDK document of message object screenshot

另一种方式是我发现有人使用PHP通过此功能来实现。

PHP implement method example

但是我仍然找不到如何使用Python在Reply_message函数中发送多条消息的解决方案。

我尝试用Python编写的代码是:

line_bot_api.reply_message({'reply_token' : event.reply_token, 'messages' : [{'type' : 'text', 'text' : '123'}]})

错误消息是:

TypeError:reply_message()缺少1个必需的位置参数:“ messages”

错误消息日志

我尝试了另一种放置参数的方法,但仍然无法正常工作

line_bot_api.reply_message(reply_token = event.reply_token, messages = [{'type' : 'text', 'text' : '123'}])

错误消息是:

AttributeError: 'dict' object has no attribute 'as_json_dict'

这如何在Python中完成?

1 个答案:

答案 0 :(得分:0)

最后,我找到了解决方案。

这里是示例:

line_bot_api.reply_message(event.reply_token, [TextSendMessage(text= reply_text), TextSendMessage(text= reply_text1)])