Spaces:
Sleeping
Sleeping
File size: 1,818 Bytes
052e52f f586e58 052e52f d173c0d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
from flask import Flask, request
from twilio.twiml.messaging_response import MessagingResponse
from twilio.rest import Client
import os
# Initialize the Flask app
app = Flask(__name__)
account_sid = os.environ.get('TWILIO_ACCOUNT_SID')
auth_token = os.environ.get('TWILIO_AUTH_TOKEN')
client = Client(account_sid, auth_token)
# OpenAI API Key
# WhatsApp number to send messages from (your Twilio number)
from_whatsapp_number = 'whatsapp:+14155238886'
# Route to handle incoming WhatsApp messages
@app.route('/whatsapp', methods=['POST'])
def whatsapp_webhook():
incoming_msg = request.values.get('Body', '').lower()
sender = request.values.get('From')
if 'bookkeeping' in incoming_msg:
response_text = "Please provide the details you'd like to record."
else:
response_text = get_agricultural_insights(incoming_msg)
send_message(sender, response_text)
return '', 204 # Return an empty response to Twilio
def get_agricultural_insights(query):
return "I'm sorry, I couldn't process that request. Please try again later."
def send_message(to, body):
try:
message = client.messages.create(
from_=from_whatsapp_number,
body=body,
to=to
)
print(f"Message sent with SID: {message.sid}")
except Exception as e:
print(f"Error sending message: {e}")
# Function to send an initial message
def send_initial_message(to_number):
send_message(
f'whatsapp:{to_number}',
'Welcome to the Agri AI Chatbot! How can I assist you today?'
)
if __name__ == '__main__':
# Send an initial message when the script starts
send_initial_message('916382792828') # Replace with the recipient's number
# Start the Flask server
app.run(host='0.0.0.0', port=7860) |