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)