import os
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "client.json"
import dialogflow_v2 as dialogflow
dialogflow_session_client = dialogflow.SessionsClient()
PROJECT_ID = "my-news-agent-aktfai"
from gnewsclient import gnewsclient
client= gnewsclient.NewsClient()
def detect_intent_from_text(text, session_id, language_code='en'):
session = dialogflow_session_client.session_path(PROJECT_ID,session_id)
text_input = dialogflow.types.TextInput(text=text,language_code=language_code)
query_input = dialogflow.types.QueryInput(text=text_input)
response = dialogflow_session_client.detect_intent(session=session,query_input=query_input)
return response.query_result
def get_reply(query,chat_id):
response = detect_intent_from_text(query,chat_id)
if response.intent.display_name == 'get_news_intent':
return "get_news_intent",dict(response.parameters)
else:
return "small_talk", response.fulfillment_text
def fetch_news(parameters):
client.language= parameters.get('language')
client.location= parameters.get('geo-country')
client.topic=parameters.get('topic')
return client.get_news()# your code goes here
aW1wb3J0IG9zCm9zLmVudmlyb25bIkdPT0dMRV9BUFBMSUNBVElPTl9DUkVERU5USUFMUyJdID0gImNsaWVudC5qc29uIgoKaW1wb3J0IGRpYWxvZ2Zsb3dfdjIgYXMgZGlhbG9nZmxvdwpkaWFsb2dmbG93X3Nlc3Npb25fY2xpZW50ID0gZGlhbG9nZmxvdy5TZXNzaW9uc0NsaWVudCgpClBST0pFQ1RfSUQgPSAibXktbmV3cy1hZ2VudC1ha3RmYWkiCgpmcm9tIGduZXdzY2xpZW50IGltcG9ydCBnbmV3c2NsaWVudApjbGllbnQ9IGduZXdzY2xpZW50Lk5ld3NDbGllbnQoKQoKZGVmIGRldGVjdF9pbnRlbnRfZnJvbV90ZXh0KHRleHQsIHNlc3Npb25faWQsIGxhbmd1YWdlX2NvZGU9J2VuJyk6CglzZXNzaW9uID0gZGlhbG9nZmxvd19zZXNzaW9uX2NsaWVudC5zZXNzaW9uX3BhdGgoUFJPSkVDVF9JRCxzZXNzaW9uX2lkKQoJdGV4dF9pbnB1dCA9IGRpYWxvZ2Zsb3cudHlwZXMuVGV4dElucHV0KHRleHQ9dGV4dCxsYW5ndWFnZV9jb2RlPWxhbmd1YWdlX2NvZGUpCglxdWVyeV9pbnB1dCA9IGRpYWxvZ2Zsb3cudHlwZXMuUXVlcnlJbnB1dCh0ZXh0PXRleHRfaW5wdXQpCglyZXNwb25zZSA9IGRpYWxvZ2Zsb3dfc2Vzc2lvbl9jbGllbnQuZGV0ZWN0X2ludGVudChzZXNzaW9uPXNlc3Npb24scXVlcnlfaW5wdXQ9cXVlcnlfaW5wdXQpCglyZXR1cm4gcmVzcG9uc2UucXVlcnlfcmVzdWx0CgoKZGVmIGdldF9yZXBseShxdWVyeSxjaGF0X2lkKToKCXJlc3BvbnNlID0gZGV0ZWN0X2ludGVudF9mcm9tX3RleHQocXVlcnksY2hhdF9pZCkKCglpZiByZXNwb25zZS5pbnRlbnQuZGlzcGxheV9uYW1lID09ICdnZXRfbmV3c19pbnRlbnQnOgoJCXJldHVybiAiZ2V0X25ld3NfaW50ZW50IixkaWN0KHJlc3BvbnNlLnBhcmFtZXRlcnMpCgllbHNlOgoJCXJldHVybiAic21hbGxfdGFsayIsIHJlc3BvbnNlLmZ1bGZpbGxtZW50X3RleHQKCmRlZiBmZXRjaF9uZXdzKHBhcmFtZXRlcnMpOgoJY2xpZW50Lmxhbmd1YWdlPSBwYXJhbWV0ZXJzLmdldCgnbGFuZ3VhZ2UnKQoJY2xpZW50LmxvY2F0aW9uPSBwYXJhbWV0ZXJzLmdldCgnZ2VvLWNvdW50cnknKQoJY2xpZW50LnRvcGljPXBhcmFtZXRlcnMuZ2V0KCd0b3BpYycpCglyZXR1cm4gY2xpZW50LmdldF9uZXdzKCkjIHlvdXIgY29kZSBnb2VzIGhlcmU=