def handle_dialog(res, req): user_id = get_user_id(req) if req.get('request', {}).get('original_utterance', '') == 'ping': res['response']['text'] = 'Всё работает!' return if req['session']['new']: user = sessionStorage[user_id] = {} DialogManager.hello(res, user, user_id) else: if user_id not in sessionStorage: sessionStorage[user_id] = {'state': State.HELLO} user = sessionStorage[user_id] tokens = req.get('request', {}).get('nlu', {}).get('tokens', ['Empty']) for words, states in COMMANDS: if any(word in tokens for word in words) and user['state'] in states: COMMANDS[words, states]()(res, req, sessionStorage) UI.add_default_buttons(res, user) if 'text' in res.get('response', {}): return DialogManager.wtf(res, req, sessionStorage) UI.add_default_buttons(res, user)