Базовая конфигурация ботов Cisco Webex Teams - PullRequest
0 голосов
/ 24 сентября 2019

Я создал Webex Teams bot, который использует веб-хуки для ответа, когда user публикует сообщение в определенной Webex Teams group.Тем не менее, в данный момент событие webhook не вызывает никаких действий.Я не уверен, является ли это ошибкой в ​​конфигурации или ошибкой в ​​моем коде.Я просто хотел бы установить базовую функциональность, поэтому на данный момент, когда user отправляет сообщение, которое я хочу, "Успех !!"должен быть возвращен bot.Если требуется какая-либо другая информация, пожалуйста, дайте мне знать.

function.py

token = 'token' 

app = Flask(__name__)


@app.route("/",methods=['POST'])    
def webhook():

    json = request.json

    message_id = json["data"]["id"]
    user_id = json["data"]["personId"]
    email = json["data"]["personEmail"]
    room_id = json["data"]["roomId"]

    print (message_id, file = sys.stdout)
    print(user_id, file=sys.stdout)
    print(email, file=sys.stdout)
    print(room_id, file=sys.stdout)

    if user_id != 'user_id':

        global token 

        header = {"Authorization": "Bearer %s" % token}
        get_rooms_url = "https://api.ciscospark.com/v1/messages/" + message_id
        api_response = requests.get(get_rooms_url, headers=header, verify=False)
        response_json = api_response.json()
        message = response_json["text"]
        print(message, file= sys.stdout)

        print('******************', file=sys.stdout)

        print ('Success!')

        return "Success!"

    else:

        return "Ignore"

os.popen("pkill ngrok")
os.popen("ngrok http 5000 &")  
time.sleep(5)
term_output_json = os.popen('curl http://127.0.0.1:4040/api/tunnels').read()   
tunnel_info = json.loads(term_output_json)
public_url = tunnel_info['tunnels'][0]['public_url'] 

header = {"Authorization": "Bearer %s" % token, "content-type": "application/json"}
requests.packages.urllib3.disable_warnings()
post_message_url = "https://api.ciscospark.com/v1/webhooks"

payload = {
    "resource": "messages",
    "event": "all",
    "targetUrl": public_url,
    "name": "Webhook_Name"
}

api_response = requests.post(post_message_url, json=payload, headers=header, verify=False)

if api_response.status_code != 200:
    print ('Webhook Registration Error!!')
    exit(0)

if __name__ == '__main__':
    app.run(host='localhost', use_reloader=True, debug=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...