Я пытаюсь создать бот для WhatsApp на Twilio, следуя инструкциям по Twilio.
Я написал программу flask для создания тестового бота:
from flask import Flask, request
import requests
from twilio.twiml.messaging_response import MessagingResponse
app = Flask(__name__)
@app.route('/bot', methods=['POST'])
def bot():
incoming_msg = request.values.get('Body', '').lower()
resp = MessagingResponse()
msg = resp.message()
responded = False
if 'quote' in incoming_msg:
# return a quote
r = requests.get('https://api.quotable.io/random')
if r.status_code == 200:
data = r.json()
quote = f'{data["content"]} ({data["author"]})'
else:
quote = 'I could not retrieve a quote at this time, sorry.'
msg.body(quote)
responded = True
if 'cat' in incoming_msg:
# return a cat pic
msg.media('https://cataas.com/cat')
responded = True
if not responded:
msg.body('I only know about famous quotes and cats, sorry!')
return str(resp)
if __name__ == '__main__':
app.run()
Приложение работает на http://127.0.0.1: 5000 /
Когда я нажимаю эту ссылку, это то, что я вижу
Not Found
The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.
Установил и запустил ngrok. Я вставил URL при пересылке (есть два, которые я скопировал первым), вставил этот URL в свою песочницу Twilio (когда сообщение приходит в URL) и добавил / bot к пути.
Однако, когда я пытаюсь и наберите cat в WhatsApp (я добавил свой номер WhatsApp в свою песочницу) Я не получаю ответ (насколько я понимаю, я должен получить изображение кота, если наберу ключевое слово cat).
Не уверен что я делаю не так.