def messages():
    if "application/jason" in request.headers["content-type"]:
        log = Log()
        request_body = request.jason

        # Activity is basically what user says and what we are sending as a response
        # they are termed as bot activity.
        # So the message exchange between the bot and the user is Activity
        user_says = Activity().deserialize(request_body)

        # Whatever user has said
        log.write_log(sessionID="session1",
                      log_message="user says: " + str(user_says))
        authorization_header = (request.headers["Authorization"]
                                if "Authorization" in request.headers else "")

        # Here the 2 new words async and await mean to make the code asyncronous
        # so that parts of our code doesn't wait for this piece of code to get executed!
        async def call_user_fun(turncontext):
            await luis_bot_dialog.turn_on(turncontext)

        task = loop.create_task(
            bot_adapter.process_activity(user_says, authorization_header,
                                         call_user_fun))
        loop.run_until_complete(task)
        return ""
    else:
        return Response(status=406)  # status for Not Acceptable
    def __init__(self):
        self.config_reader = ConfigReader()
        self.configuration = self.config_reader.read_config()
        self.kb_host = self.configuration['KB_HOST']
        self.kb_endpoint = self.configuration['KB_ENDPOINT']
        self.kb_route = ''

        self.log = Log()
Exemple #3
0
 def __init__(self):
     self.config_reader = ConfigReader()
     self.configuration = self.config_reader.read_config()
     self.luis_app_id=self.configuration['LUIS_APP_ID']
     self.luis_endpoint_key = self.configuration['LUIS_ENDPOINT_KEY']
     self.luis_endpoint = self.configuration['LUIS_ENDPOINT']
     self.luis_app = LuisApplication(self.luis_app_id,self.luis_endpoint_key,self.luis_endpoint)
     self.luis_options = LuisPredictionOptions(include_all_intents=True,include_instance_data=True)
     self.luis_recognizer = LuisRecognizer(application=self.luis_app,prediction_options=self.luis_options,include_api_results=True)
     self.log=Log()
Exemple #4
0
    def __init__(self, conversation_state: ConversationState,
                 user_state: UserState):
        self.config_reader = ConfigReader()
        self.configuration = self.config_reader.read_config()
        self.luis_app_id = self.configuration['LUIS_APP_ID']
        self.luis_endpoint_key = self.configuration['LUIS_ENDPOINT_KEY']
        self.luis_endpoint = self.configuration['LUIS_ENDPOINT']
        self.luis_app = LuisApplication(self.luis_app_id,
                                        self.luis_endpoint_key,
                                        self.luis_endpoint)
        self.luis_options = LuisPredictionOptions(include_all_intents=True,
                                                  include_instance_data=True)
        self.luis_recognizer = LuisRecognizer(
            application=self.luis_app,
            prediction_options=self.luis_options,
            include_api_results=True)
        self.qna_knowledge_base_id = self.configuration["QNA_KNOWLEDGEBASE_ID"]
        self.qna_endpoint_key = self.configuration["QNA_ENDPOINT_KEY"]
        self.qna_host = self.configuration["QNA_ENDPOINT_HOST"]
        self.qna_maker = QnAMaker(
            QnAMakerEndpoint(knowledge_base_id=self.qna_knowledge_base_id,
                             endpoint_key=self.qna_endpoint_key,
                             host=self.qna_host))
        self.log = Log()
        self.IntentIdentified = False
        self.intent = 'none'
        self.stat = 'init'
        self.city = ""
        self.score = ""

        if conversation_state is None:
            raise TypeError(
                "[StateManagementBot]: Missing parameter. conversation_state is required but None was given"
            )
        if user_state is None:
            raise TypeError(
                "[StateManagementBot]: Missing parameter. user_state is required but None was given"
            )

        self.conversation_state = conversation_state
        self.user_state = user_state

        self.conversation_data_accessor = self.conversation_state.create_property(
            "ConversationData")
        self.user_profile_accessor = self.user_state.create_property(
            "UserProfile")
def messages():
    if "application/json" in request.headers["content-type"]:
        log = Log()
        request_body = request.json
        user_says = Activity().deserialize(request_body)
        log.write_log(sessionID='session1',log_message="user says: "+str(user_says))
        authorization_header = (request.headers["Authorization"] if "Authorization" in request.headers else "")

        async def call_user_fun(turncontext):
            await luis_bot_dialog.on_turn(turncontext)

        task = loop.create_task(
            bot_adapter.process_activity(user_says, authorization_header, call_user_fun)
        )
        loop.run_until_complete(task)
        return ""
    else:
        return Response(status=406)  # status for Not Acceptable
Exemple #6
0
def messages():
    if request.method == 'GET':
        token_sent = request.args.get("hub.verify_token")
        print("1")
        if token_sent == 'LUIS':
            return request.args.get("hub.challenge")
            print("2")
        return 'Invalid verification token'
    elif request.method == 'POST':
        data = request.get_json()
        print(data)
        #if data['channelId'] != 'emulator':
        if 'object' in data.keys():
            if data['object'] == "page":
                entries = data['entry']

                for entry in entries:
                    messaging = entry['messaging']

                    for messaging_event in messaging:

                        sender = messaging_event['sender']['id']
                        recipient = messaging_event['recipient']['id']

                        if messaging_event.get('message'):
                            if messaging_event['message'].get('text'):
                                query = messaging_event['message']['text']
                                reply = predict.getIntent(query)
                                bot.send_text_message(sender, reply)

            return "ok", 200
            # async def messages(req: Request) -> Response:
            # if "application/json" in req.headers["Content-Type"]:
            # body = await req.json()
            # else:
            # return Response(status=415)

            # activity = Activity().deserialize(body)
            # auth_header = req.headers["Authorization"] if "Authorization" in req.headers else ""

            # response = await ADAPTER.process_activity(activity, auth_header, luis_bot_dialog.on_turn)
            # if response:
            # return json_response(data=response.body, status=response.status)
            # return Response(status=201)
        else:
            if "application/json" in request.headers["content-type"]:
                log = Log()
                request_body = request.json
                print("request_body", request_body)
                user_says = Activity().deserialize(request_body)
                print("user_says", user_says)
                log.write_log(sessionID='session1',
                              log_message="user says: " + str(user_says))
                authorization_header = (request.headers["Authorization"]
                                        if "Authorization" in request.headers
                                        else "")

                async def call_user_fun(turncontext):

                    await luis_bot_dialog.on_turn(turncontext)

                task = loop.create_task(
                    bot_adapter.process_activity(user_says,
                                                 authorization_header,
                                                 call_user_fun))
                loop.run_until_complete(task)
                return ""
            else:
                return Response(status=406)  # status for Not Acceptable
Exemple #7
0
#coding:utf-8
import unittest, time
from config.config import config
from time import sleep
from logger.logger import Log

log = Log()
driver = config.driver


class accountManagement(unittest.TestCase):
    def setUp(self):
        sleep(2)

    def tearDown(self):
        sleep(2)
        log.info(u"--------测试结束--------")

    def test001_accountManagement(self):
        u"""账号管理"""
        log.info(u"--------测试用例开始--------")
        driver.find_element_by_link_text(u"权限管理").click()
        sleep(1)
        driver.find_element_by_link_text(u"账号管理").click()
        sleep(1)
        driver.find_element_by_class_name("textInput").send_keys("txj_testjg1")
        sleep(1)
        log.info(u"输入内容:txj_testjg1")
        driver.find_element_by_class_name("button").click()
        sleep(2)
        log.info(u"点击按钮:class = button")