|
import gradio |
|
import requests |
|
import os |
|
import time |
|
import uuid |
|
from datetime import datetime |
|
import json |
|
from bardapi import Bard |
|
from dotenv import load_dotenv |
|
from executequery import ExecuteQuery |
|
from getvalues import getValues |
|
|
|
load_dotenv() |
|
|
|
bardkey = os.environ.get('_BARD_API_KEY') |
|
|
|
def bardChat(data): |
|
|
|
session = requests.Session() |
|
|
|
|
|
session.headers = { |
|
"Host": "bard.google.com", |
|
"X-Same-Domain": "1", |
|
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36", |
|
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8", |
|
"Origin": "https://bard.google.com", |
|
"Referer": "https://bard.google.com/", |
|
} |
|
|
|
|
|
session.cookies.set("__Secure-1PSID", bardkey) |
|
|
|
|
|
bard = Bard(session=session, timeout=30) |
|
answer = bard.get_answer(data)['content'] |
|
print(answer) |
|
return answer |
|
|
|
|
|
|
|
def responsenew(data): |
|
|
|
idval = str(uuid.uuid4()) |
|
result = ExecuteQuery(data) |
|
|
|
if result[1] == 'opencosmo': |
|
jdata = { |
|
"message": bardChat(data), |
|
"action": "chitchat", |
|
"function": None |
|
} |
|
return jdata |
|
|
|
elif result[1] == 'create_reminder': |
|
remvalues = getValues(data) |
|
jdata = { |
|
"message": result[0], |
|
"action": "create_reminder", |
|
'function': { |
|
'id': str(uuid.uuid4()), |
|
'sound': 'General', |
|
'subTitle': 'Task', |
|
'type': 'Note', |
|
'title': remvalues[0], |
|
'description': '', |
|
'time': remvalues[1].upper(), |
|
'timestamp' : datetime.now().strftime("%d-%m-%Y %H:%M:%S.%f"), |
|
'enable': False, |
|
'report': [], |
|
'icon': 'https://firebasestorage.googleapis.com/v0/b/cosmo-f5007.appspot.com/o/categories%2FIcons%2Ftaskicon.svg?alt=media&token=56f3fc55-8eda-4463-bceb-7bf3198dff3c', |
|
'color': 'FFD700', |
|
'sharedToMe': [], |
|
'sharedByMe': [], |
|
'repeat': 'Daily', |
|
'reminders': [{ |
|
'time': remvalues[1].upper(), |
|
'enable': False, |
|
'repeat': remvalues[4], |
|
'title': remvalues[0], |
|
'id': str(uuid.uuid4()), |
|
'note': '', |
|
'dates': [], |
|
}], |
|
} |
|
} |
|
return jdata |
|
|
|
elif result[1] == 'create_todo': |
|
jdata = { |
|
'messages': result[0], |
|
'action': result[1], |
|
'function': { |
|
'name': 'defaulttodo', |
|
'id': str(uuid.uuid4()), |
|
'subTasks': [{ |
|
'task':remvalues[0].replace("create a todo", ""), |
|
'done': False |
|
}], |
|
'shared': [], |
|
'sharedByMe': [], |
|
}, |
|
} |
|
|
|
elif result[1] == 'show_routine_today': |
|
jdata = { |
|
"message": result[0], |
|
"action": "show_routine_today", |
|
"values": None |
|
} |
|
return jdata |
|
|
|
elif result[1] == 'create_note': |
|
notevalues = data.lower().replace('create a note ','').replace("remember","").replace('note','').replace('jot down', ''). replace('make a note','') |
|
jdata = { |
|
'messages': result[0], |
|
'action': result[1], |
|
'function': { |
|
'title': 'defaultnote', |
|
'id': idval, |
|
'type': 'Note', |
|
'description': notevalues, |
|
'time': datetime.now().strftime("%d/%m/%Y"), |
|
'mainTime': datetime.now().strftime("%I:%M %p"), |
|
'complete': False, |
|
'shared': [], |
|
'sharedByMe': [], |
|
} |
|
} |
|
return jdata |
|
|
|
|
|
elif result[1] == 'show_people': |
|
jdata = { |
|
'messages': result[0], |
|
'action': result[1] |
|
} |
|
return jdata |
|
|
|
elif result[1] == 'show_friends': |
|
jdata = { |
|
'messages': result[0], |
|
'action': result[1] |
|
} |
|
return jdata |
|
|
|
elif result[1] == 'show_allgroups': |
|
jdata = { |
|
'messages': result[0], |
|
'action': result[1] |
|
} |
|
return jdata |
|
|
|
elif result[1] == 'show_mygroups': |
|
jdata = { |
|
'messages': result[0], |
|
'action': result[1] |
|
} |
|
return jdata |
|
|
|
elif result[1] == 'show_allcommunities': |
|
jdata = { |
|
'messages': result[0], |
|
'action': result[1] |
|
} |
|
return jdata |
|
|
|
elif result[1] == 'show_mycommunities': |
|
jdata = { |
|
'messages': result[0], |
|
'action': result[1] |
|
} |
|
return jdata |
|
|
|
elif result[1] == 'name': |
|
jdata = { |
|
'messages': result[0], |
|
'action': result[1] |
|
} |
|
return jdata |
|
|
|
elif result[1] == 'creator': |
|
jdata = { |
|
'messages': result[0], |
|
'action': result[1] |
|
} |
|
return jdata |
|
|
|
elif result[1] == 'commands': |
|
jdata = { |
|
'messages': result[0], |
|
'action': result[1] |
|
} |
|
return jdata |
|
|
|
elif result[1] == 'goodbye': |
|
jdata = { |
|
'messages': result[0], |
|
'action': result[1] |
|
} |
|
return jdata |
|
|
|
elif result[1] == 'view_commands': |
|
jdata = { |
|
'messages': result[0], |
|
'action': result[1] |
|
} |
|
return jdata |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def responsedata(data): |
|
return bardChat(data) |
|
|
|
|
|
gradio_interface = gradio.Interface( |
|
fn = responsedata, |
|
inputs = "text", |
|
outputs = "text" |
|
) |
|
gradio_interface.launch() |