要解决这个问题,你可以在 Messenger bot 的代码中添加一个条件来判断是否应该将事件发送到 webhook 运行的终端。以下是一个示例代码:
from flask import Flask, request
app = Flask(__name__)
@app.route('/webhook', methods=['POST'])
def webhook():
data = request.get_json()
if data.get('object') == 'page':
for entry in data.get('entry'):
for messaging_event in entry.get('messaging'):
# 检查事件类型
if messaging_event.get('message'):
# 处理消息事件
handle_message(messaging_event)
elif messaging_event.get('postback'):
# 处理按钮点击事件
handle_postback(messaging_event)
# 添加其他事件类型的条件判断
return '200 OK'
def handle_message(event):
# 处理消息事件的逻辑
def handle_postback(event):
# 处理按钮点击事件的逻辑
if __name__ == '__main__':
app.run()
在上面的示例中,我们在 webhook
路由中添加了一个条件判断,仅当收到的事件属于 Messenger bot 的消息事件或按钮点击事件时,才会将事件发送到 webhook 运行的终端进行处理。你可以根据实际需要添加其他事件类型的条件判断。
这样,你就可以确保只有你希望处理的事件会发送到 webhook 运行的终端,而不会包括其他不需要处理的事件。