私は単にユーザー入力をエコーするfbボットを作成しました。 ユーザー入力を続けてエコーし、ユーザーが "bye"を入力すると停止します。 どうすればいいですか?助けてください。 コード:send_message(sender_id, reply)
機能なしの復帰についてどう `` `輸入OS 輸入SYS 輸入JSONユーザーの入力を無限に繰り返すフェイスブックボットを作成する方法。ユーザーが特定のコマンド(たとえば、bye)を入力した場合にのみ停止します。
import requests
import time
from flask import Flask, request
app = Flask(__name__)
@app.route('/', methods=['GET'])
def verify():
if request.args.get("hub.mode") == "subscribe" and request.args.get("hub.challenge"):
if not request.args.get("hub.verify_token") == os.environ["VERIFY_TOKEN"]:
return "Verification token mismatch", 403
return request.args["hub.challenge"], 200
return "Hello world", 200
@app.route('/', methods=['POST'])
def webhook():
data = request.get_json()
if data["object"] == "page":
for entry in data["entry"]:
for messaging_event in entry["messaging"]:
if messaging_event.get("message"): # someone sent us a message
sender_id = messaging_event["sender"]["id"]
recipient_id = messaging_event["recipient"]["id"]
message_text = messaging_event["message"]["text"]
reply = "Received : " + message_text
if "bye" in message_text.lower():
reply = "Good-bye"
send_message(sender_id, reply)
return "ok", 200
def send_message(recipient_id, message_text):
log("sending message to {recipient}: {text}".format(recipient=recipient_id, text=message_text))
params = {
"access_token": os.environ["PAGE_ACCESS_TOKEN"]
}
headers = {
"Content-Type": "application/json"
}
data = json.dumps({
"recipient": {
"id": recipient_id
},
"message": {
"text": message_text
}
})
r = requests.post("https://graph.facebook.com/v2.6/me/messages", params=params, headers=headers, data=data)
if r.status_code != 200:
log(r.status_code)
log(r.text)
if __name__ == '__main__':
app.run(debug=True) ```
私はfbボットを作成してユーザーの入力を単純にエコーします。私はそれがユーザー入力を続けてエコーし、ユーザーが "bye"を入力すると停止するようにします。 これは、ユーザーの入力が無限にエコーバックされ、「バイ」が発生した場合に限り無限ループが中断することを意味します。 –