def send_generic_faculty(recipient, data, dep=""): data = urllib.parse.quote_plus(data) dep = urllib.parse.quote_plus(dep) if (dep): response = requests.get('https://uos.edu.pk/about/bot_faculty/' + data + "/" + dep) result = response.json() if result: page.send( recipient, Template.Generic([ Template.GenericElement( result[0]['name'], subtitle=result[0]['designation'], item_url="https://uos.edu.pk/faculty/profile/" + result[0]['username'], image_url="https://uos.edu.pk/uploads/faculty/profiles/" + result[0]['picture'], buttons=[ Template.ButtonWeb( "Open Profile", "https://uos.edu.pk/faculty/profile/" + result[0]['username']), Template.ButtonPhoneNumber("Contact", '+92 48 9230879') ]) ])) else: send_message( recipient, 'Sorry, but i am unable to Find' + data + " in " + dep) send_typing_off(recipient) else: response = requests.get('https://uos.edu.pk/about/bot_faculty/' + data) result = response.json() if result: page.send( recipient, Template.Generic([ Template.GenericElement( result[0]['name'], subtitle=result[0]['designation'], item_url="https://uos.edu.pk/faculty/profile/" + result[0]['username'], image_url="https://uos.edu.pk/uploads/faculty/profiles/" + result[0]['picture'], buttons=[ Template.ButtonWeb( "Open Profile", "https://uos.edu.pk/faculty/profile/" + result[0]['username']), Template.ButtonPhoneNumber("Contact", '+92 48 9230879') ]) ])) else: send_message(recipient, 'Sorry, but i am unable to Find' + data) send_typing_off(recipient)
def fb_receive_message(): message_entries = json.loads(request.data.decode('utf8'))['entry'] for entry in message_entries: for message in entry['messaging']: if message.get('message'): user_id = "{sender[id]}".format(**message) text = "{message[text]}".format(**message) res = bt.response(text, user_id) if res == "De rien": client.send_image(user_id, conf.deRien) elif res == "merci": client.send_image(user_id, conf.happy) elif res == "no": client.send_image(user_id, conf.angry) elif res == "ah": client.send_image(user_id, conf.bored) elif res == "quoi": client.send_image(user_id, conf.busy) elif res == "lol": client.send_image(user_id, conf.grand) elif (res == "ok"): page.send( user_id, Template.Generic([ Template.GenericElement( "rift", subtitle="Next-generation virtual reality", item_url="https://www.oculus.com/en-us/rift/", image_url=conf.deRien, buttons=[ Template.ButtonWeb( "Open Web URL", "https://www.oculus.com/en-us/rift/"), Template.ButtonPostBack( "tigger Postback", "DEVELOPED_DEFINED_PAYLOAD"), Template.ButtonPhoneNumber( "Call Phone Number", "+16505551234") ]), Template.GenericElement( "touch", subtitle="Your Hands, Now in VR", item_url="https://www.oculus.com/en-us/touch/", image_url=conf.deRien, buttons=[ Template.ButtonWeb( "Open Web URL", "https://www.oculus.com/en-us/rift/"), Template.ButtonPostBack( "tigger Postback", "DEVELOPED_DEFINED_PAYLOAD"), Template.ButtonPhoneNumber( "Call Phone Number", "+16505551234") ]) ])) else: client.send_text(user_id, res) return "Ok"
def callback_picked_dept(payload, event, data, raw_data, page): sender_id = event.sender_id message = payload.split('_')[1] print(message) tech_idx = data[0].index('technical') if message.lower() in [dept for dept in data[1][tech_idx]]: dept_idx = data[1][tech_idx].index(message) generic_template = [] for event in data[2][dept_idx]: generic_template.append( Template.GenericElement( event, subtitle=data[1][tech_idx][dept_idx] + ' - ' + raw_data['technical'][dept_idx]['alis'], image_url=get_icon_from_name( raw_data['technical'][dept_idx]['events'][ data[2][dept_idx].index(event)]['name']), buttons=[ Template.ButtonPhoneNumber( "Contact", '+91' + raw_data['technical'][dept_idx] ['events'][data[2][dept_idx].index( event)]['managers'][0]['phone']), Template.ButtonPostBack('Details', "TECH_" + event) ])) page.send(sender_id, Template.Generic(generic_template))
def send_button(recipient): page.send( recipient, Template.Buttons("hello", [ Template.ButtonWeb("Open Web URL", "https://www.oculus.com/en-us/rift/"), Template.ButtonPostBack("trigger Postback", "DEVELOPED_DEFINED_PAYLOAD"), Template.ButtonPhoneNumber("Call Phone Number", "+16505551234") ]))
def send_button(recipient): """ Shortcuts are supported page.send(recipient, Template.Buttons("hello", [ {'type': 'web_url', 'title': 'Open Web URL', 'value': 'https://www.oculus.com/en-us/rift/'}, {'type': 'postback', 'title': 'tigger Postback', 'value': 'DEVELOPED_DEFINED_PAYLOAD'}, {'type': 'phone_number', 'title': 'Call Phone Number', 'value': '+16505551234'}, ])) """ page.send(recipient, Template.Buttons("hello", [ Template.ButtonWeb("Open Web URL", "https://www.oculus.com/en-us/rift/"), Template.ButtonPostBack("trigger Postback", "DEVELOPED_DEFINED_PAYLOAD"), Template.ButtonPhoneNumber("Call Phone Number", "+16505551234") ]))
def callback_clicked_tech(payload, event, data, raw_data, page): sender_id = event.sender_id message = payload.split('_')[1] print(message) category_idx = -1 event_idx = -1 for event_list in data[2]: for event_name in event_list: if event_name == message: category_idx = data[2].index(event_list) event_idx = event_list.index(event_name) if category_idx == -1: return event_raw_data = raw_data['technical'][category_idx]['events'][event_idx] print(event_raw_data) round_str = '' for n, my_round in enumerate(event_raw_data['rounds'], 1): round_str += 'Round ' + str(n) + ':' round_str += '\n' + str(my_round) + '\n\n' generic_list = [ Template.GenericElement(title=event_raw_data['name'], subtitle=event_raw_data['tagline'], image_url=get_icon_from_name( event_raw_data['name'])), Template.GenericElement(title='Entry Fee: ', subtitle=event_raw_data['fees']) ] if len(event_raw_data['managers']) == 0: # If no manager exists managers = None else: managers = [ Template.ButtonPhoneNumber( "Call Manager", "+91" + str(event_raw_data['managers'][i]['phone'])) for i in range(0, len(event_raw_data['managers'])) if i < 1 ] send_str = round_str page.send( sender_id, Template.List(elements=generic_list, top_element_style='large', buttons=managers)) page.send(sender_id, send_str)
def message_handler(event): restaurant = facebook.receive_message(event) if restaurant is None: page.send(event.sender_id, 'Sorry, I couldn\'t find a place with that ' 'description') else: page.send(event.sender_id, Template.Generic([ Template.GenericElement( restaurant.name, subtitle='\n'.join(restaurant.raw_yelp_data.get('display_address', [])), image_url=restaurant.raw_yelp_data.get('image_url'), buttons=[ Template.ButtonWeb("View in Yelp", restaurant.raw_yelp_data['url']), Template.ButtonPhoneNumber("Call", restaurant.raw_yelp_data.get('phone')) ] ) ]) )
def send_generic(recipient): page.send( recipient, Template.Generic([ Template.GenericElement( "rift", subtitle="Next-generation virtual reality", item_url="https://www.oculus.com/en-us/rift/", image_url=CONFIG['SERVER_URL'] + "/assets/rift.png", buttons=[ Template.ButtonWeb("Open Web URL", "https://www.oculus.com/en-us/rift/"), Template.ButtonPostBack("tigger Postback", "DEVELOPED_DEFINED_PAYLOAD"), Template.ButtonPhoneNumber("Call Phone Number", "+16505551234") ]), Template.GenericElement( "touch", subtitle="Your Hands, Now in VR", item_url="https://www.oculus.com/en-us/touch/", image_url=CONFIG['SERVER_URL'] + "/assets/touch.png", buttons=[ { 'type': 'web_url', 'title': 'Open Web URL', 'value': 'https://www.oculus.com/en-us/rift/' }, { 'type': 'postback', 'title': 'tigger Postback', 'value': 'DEVELOPED_DEFINED_PAYLOAD' }, { 'type': 'phone_number', 'title': 'Call Phone Number', 'value': '+16505551234' }, ]) ]))
def message_handler(event): """:type event: fbmq.Event""" sender_id = event.sender_id message = event.message_text # try Menu buttons = [ Template.ButtonWeb("Open Web URL", "https://www.codeforces.com"), Template.ButtonPostBack("Subscribe", "www.nytimes.com"), Template.ButtonPhoneNumber("Call Phone Number", "+91") ] user_profile = page.get_user_profile(sender_id) page.typing_on(sender_id) page.typing_off(sender_id) #print(user_profile) if bot(message,sender_id): print("Bot results") else: page.send(sender_id,"Didn't get you ")
def show_branch(recipient): page.send( recipient, Template.Generic([ Template.GenericElement( "Seven Suns Hotel Template", subtitle="Nairobi Branch", item_url="https://sevensuns.com", image_url= "https://taj.tajhotels.com/content/dam/luxury/hotels/Taj_Mahal_Delhi/images/4x3/HotelFacade4x3.jpg", buttons=[ # Template.ButtonWeb("Open Web URL", "https://www.oculus.com/en-us/rift/"), Template.ButtonPostBack("Select Branch", "SELECT_BRANCH"), Template.ButtonPhoneNumber("Call Branch", "+16505551234") ]), Template.GenericElement( "Seven Suns Hotel Template", subtitle="Mombasa Branch", item_url="https://sevensuns.com", image_url= "https://www.safarihotelsnamibia.com/wp-content/uploads/2014/11/Safari-Court-Hotel-Pool.jpg", buttons=[ # {'type': 'web_url', 'title': 'Open Web URL', # 'value': 'https://www.oculus.com/en-us/rift/'}, { 'type': 'postback', 'title': 'Select Branch', 'value': 'SELECT_BRANCH' }, { 'type': 'phone_number', 'title': 'Call Branch', 'value': '+16505551234' }, ]) ]))
def callback_picked_category(payload, event, data, raw_data, page): sender_id = event.sender_id message = payload.split('__')[1] idx = data[0].index(message) quick_replies = [] if message == 'technical': for category in data[1][idx]: quick_replies.append( QuickReply(title=category, payload='PICK_' + category)) page.send(sender_id, "Please Select a department", quick_replies=quick_replies, metadata="DEVELOPER_DEFINED_METADATA") else: generic_template = [] i = 1 if message.lower() == 'adventure': for event in data[1][idx]: generic_template.append( Template.GenericElement( event, subtitle=message, image_url=get_icon_from_name(raw_data[message][ data[1][idx].index(event)]['name']), buttons=[ Template.ButtonPostBack('Details', "OTHER_" + event) ])) i += 1 else: for event in data[1][idx]: generic_template.append( Template.GenericElement( event, subtitle=message, image_url=get_icon_from_name(raw_data[message][ data[1][idx].index(event)]['name']), buttons=[ Template.ButtonPhoneNumber( "Contact", '+91' + raw_data[message][data[1][idx].index( event)]['managers'][0]['phone']), Template.ButtonPostBack('Details', "OTHER_" + event) ])) i += 1 if i > 20: page.send( sender_id, Template.Generic([generic_template[z] for z in range(0, 10)])) page.send( sender_id, Template.Generic([generic_template[z] for z in range(10, 20)])) page.send( sender_id, Template.Generic([ generic_template[z] for z in range(20, len(generic_template)) ])) elif i > 10: page.send( sender_id, Template.Generic([generic_template[z] for z in range(0, 10)])) page.send( sender_id, Template.Generic([ generic_template[z] for z in range(10, len(generic_template)) ])) elif i <= 10: page.send(sender_id, Template.Generic(generic_template))
def send_generic(recipient, type, data=""): data = urllib.parse.quote_plus(data) if (type == "dep"): if (data): response = requests.get( 'https://uos.edu.pk/about/bot_department/' + data) result = response.json() if result: page.send( recipient, Template.Generic([ Template.GenericElement( result[0]['name'], subtitle="Department of " + result[0]['name'], item_url="https://uos.edu.pk/department/profile/" + result[0]['id'], image_url= "https://uos.edu.pk/uploads/departments/banner/" + result[0]['banner'], buttons=[ Template.ButtonWeb( "Academic Programs", "https://uos.edu.pk/department/academic_programs/" + result[0]['id']), Template.ButtonWeb( "Faculty", "https://uos.edu.pk/department/faculty_list/" + result[0]['id']), Template.ButtonPhoneNumber( "Phone", '+92 48 9230879') ]) ])) elif type == "hod": if (data): print(data) response = requests.get('https://uos.edu.pk/about/bot_hod/' + data) result = response.json() print(result) print("result section there") if result: page.send( recipient, Template.Generic([ Template.GenericElement( result[0]['name'], subtitle=result[0]['designation'], item_url="https://uos.edu.pk/faculty/profile/" + result[0]['username'], image_url= "https://uos.edu.pk/uploads/faculty/profiles/" + result[0]['picture'], buttons=[ Template.ButtonWeb( "Open Profile", "https://uos.edu.pk/faculty/profile/" + result[0]['username']), Template.ButtonPhoneNumber( "Contact", '+92 48 9230879') ]) ]))
def send_generic(recipient, type, data=True): if (type == "dep"): page.send( recipient, Template.Generic([ Template.GenericElement( "CS & IT", subtitle= "Department of Computer Science & Information Technology", item_url="https://uos.edu.pk/department/profile/2", image_url= "https://uos.edu.pk/uploads/departments/banner/IT.jpg", buttons=[ Template.ButtonWeb( "Academic Programs", "https://uos.edu.pk/department/academic_programs/2" ), Template.ButtonWeb( "Faculty", "https://uos.edu.pk/department/faculty_list/2"), Template.ButtonPhoneNumber("Contact", "+16505551234") ]) ])) elif type == "hod": page.send( recipient, Template.Generic([ Template.GenericElement( "Mr. Saad Razzaq", subtitle="Assistant Professor / Incharge", item_url= "https://uos.edu.pk/faculty/profile/muhammadsaadrazzaq", image_url= "https://uos.edu.pk/uploads/faculty/profiles/Saad_Razzaq.JPG", buttons=[ Template.ButtonWeb( "Open Profile", "https://uos.edu.pk/faculty/profile/muhammadsaadrazzaq" ), Template.ButtonPhoneNumber("Contact", "+92489230879") ]) ])) elif type == "faculty": response = requests.get('https://uos.edu.pk/about/bot_faculty/' + data) result = response.json() if result: page.send( recipient, Template.Generic([ Template.GenericElement( result[0]['name'], subtitle=result[0]['designation'], item_url="https://uos.edu.pk/faculty/profile/" + result[0]['username'], image_url="https://uos.edu.pk/uploads/faculty/profiles/" + result[0]['picture'], buttons=[ Template.ButtonWeb( "Open Profile", "https://uos.edu.pk/faculty/profile/" + result[0]['username']), Template.ButtonPhoneNumber("Contact", result[0]['mobile_no']) ]) ])) else: send_message(recipient, 'No User found in our Database') send_typing_off(recipient)
def message_handler(event): """:type event: fbmq.Event""" sender_id = event.sender_id message = event.message_text # try Menu buttons = [ Template.ButtonWeb("Open Web URL", "https://www.codeforces.com"), Template.ButtonPostBack("Subscribe", "www.nytimes.com"), Template.ButtonPhoneNumber("Call Phone Number", "+91") ] user_profile = page.get_user_profile(sender_id) page.typing_on(sender_id) page.typing_off(sender_id) print("=" * 100) if "username" in message.lower(): hostname, username, password = message.split("\n") hostname = hostname[9:] password = password[9:] username = username[9:] print(hostname, username, password, sender_id) current_path = str( shell_commands(hostname, username, password, "pwd").decode("utf-8"))[:-1] addUser(sender_id, hostname, username, password, current_path) page.send(sender_id, "Go Ahead! Have Fun! ") elif "help" in message: page.send(sender_id, "Just 3 easy steps to follow 🚶") page.send( sender_id, Template.Generic([ Template.GenericElement( "Connect 🤝", subtitle="", item_url="", image_url="https://i.imgur.com/xXy4kib.png", buttons=[ Template.ButtonWeb( "Step 1", "https://www.oculus.com/en-us/rift/") ]), Template.GenericElement( "Add ➕", subtitle="", item_url="", image_url="https://i.imgur.com/RzjPKZM.png", buttons=[ Template.ButtonWeb( "Step 2", "https://www.oculus.com/en-us/rift/") ]), Template.GenericElement( "Go ✅", subtitle="", item_url="", image_url="https://i.imgur.com/NmNXnc7.png", buttons=[ Template.ButtonWeb( "Step 3", "https://www.oculus.com/en-us/rift/") ]) ])) else: response = getUser(sender_id) if not response: quick_replies = [ QuickReply(title="Yeah !", payload="PICK_SSH"), QuickReply(title="Nah ", payload="PICK_NSSH") ] page.send(sender_id, "Would you like to configure your ssh ", quick_replies=quick_replies, metadata="DEVELOPER_DEFINED_METADATA") else: # print(hostname,username,password,message) hostname, username, password, current_path = response if message[:2] == "cd": # add cd need_path = message[3:] current_path = os.path.join(current_path, need_path) try: new_path = str( shell_commands(hostname, username, password, "cd " + current_path + "; pwd").decode("utf-8"))[:-1] updatePath(sender_id, new_path) page.send(sender_id, "Your Current Directory:\n" + new_path) except: page.send(sender_id, "Path doesn't exist") elif "send" in message: file_name = message.split()[-1] if send_commands(current_path + "/" + file_name, file_name, hostname, username, password): debug(659) print(CONFIG['SERVER_URL'] + "/" + file_name) os.rename("./" + file_name, "./static/" + file_name) page.send(sender_id, "Here You Go!") page.send( sender_id, Attachment.File(CONFIG['SERVER_URL'] + "/static/" + file_name)) else: page.send(sender_id, "Error Accessing the file !!") elif message != "Nah ": try: result = str( shell_commands(hostname, username, password, "cd " + current_path + "; " + message).decode("utf-8")) result = result[:min(150, len(result))] page.send(sender_id, result) except: page.send(sender_id, "Unknown Output!") print("Bot results!")
def send_button(recipient): page.send(recipient, Template.Buttons(".", [ Template.ButtonWeb("Open Web URL", "https://www.oculus.com/en-us/rift/"), Template.ButtonPostBack("Opción de tránsito", "OPCION_DE_TRANSITO"), Template.ButtonPhoneNumber("Call Phone Number", "+16505551234") ]))
########################################## # generic button template page.send( recipient_id, Template.Generic([ Template.GenericElement( "rift", subtitle="Next-generation virtual reality", item_url="https://www.oculus.com/en-us/rift/", image_url=CONFIG['SERVER_URL'] + "/assets/rift.png", buttons=[ Template.ButtonWeb("Open Web URL", "https://www.oculus.com/en-us/rift/"), Template.ButtonPostBack("tigger Postback", "DEVELOPED_DEFINED_PAYLOAD"), Template.ButtonPhoneNumber("Call Phone Number", "+16505551234") ]), Template.GenericElement( "touch", subtitle="Your Hands, Now in VR", item_url="https://www.oculus.com/en-us/touch/", image_url=CONFIG['SERVER_URL'] + "/assets/touch.png", buttons=[ Template.ButtonWeb("Open Web URL", "https://www.oculus.com/en-us/rift/"), Template.ButtonPostBack("tigger Postback", "DEVELOPED_DEFINED_PAYLOAD"), Template.ButtonPhoneNumber("Call Phone Number", "+16505551234") ]) ])) #############################################