From ae9df823a4a96d11b5a7e3a80551c0e39692a1aa Mon Sep 17 00:00:00 2001 From: Daniel Tomlinson Date: Mon, 14 Oct 2019 01:31:18 +0100 Subject: [PATCH] updating initial slackBot --- .../pullTrafficInfo.cpython-37.pyc | Bin 5589 -> 5549 bytes .../traffic-scraper/prd/jsonPayload.json | 1 + .../traffic-scraper/prd/pullTrafficInfo.py | 2 - slack-bot/traffic-scraper/prd/slackBot.py | 71 +++++++++++++----- slack-bot/traffic-scraper/prd/slackURL.json | 1 + slack-bot/traffic-scraper/prd/test.py | 43 +++++------ 6 files changed, 72 insertions(+), 46 deletions(-) create mode 100644 slack-bot/traffic-scraper/prd/jsonPayload.json create mode 100644 slack-bot/traffic-scraper/prd/slackURL.json diff --git a/slack-bot/traffic-scraper/prd/__pycache__/pullTrafficInfo.cpython-37.pyc b/slack-bot/traffic-scraper/prd/__pycache__/pullTrafficInfo.cpython-37.pyc index 07d4ba9b680bfea6fabf6b7e9c5ac90209a1ff18..d299a84455a540fe63abb6fd87b3e340623133e4 100644 GIT binary patch delta 636 zcmZvZ-%Aux6vywmvySWha(8qiqa<}RSKAHJB4R7FB7NDQ9xTY9yo01UgSRXGV8vkH zgd#XEK`bajPxTN!7W5SO5A@J|C|`rf$X6f?&p3v=leYjbH0qc8}TQ6-(lwY z_Gx!!`Moc)p!a0<4IDXPiqbMDSu#ty!$4!j`2oFn)IG5KsMwFc-D8C!N&hbbQUh4_ zJ`9sdx5b~lzvw26k!c(46eghi3!LPHKxA*x5->~Xjcne(an;vXu6`!|+Prka< z!_2h6=)l~a&9=j-OI!cAb4ELpNmK6aWdZDp9sEjTYh zjsc_ho~hk6XPTusmER7H%Ip9o>g*0Hb=B5KC!@8K<1xB94OO)BU!jZ#`H3q1KRHA= zO(+qD3AD=AqGZJ=?M%fYTD>7bS$K^*nZ3^;K+k!KUZ7OF zdb}9bl9hDiD1Ps%!AGogzZyJ6o&iFcaE@@vK=b6Ow&x->yCUQ`{_MU5SFu{STsTXP PF~UW{6~ZLGDBS!5dO(&D delta 626 zcmZ3heN~&+iIOIe|pfWIe8z zjIxs@xF4{|g9H^O|KpYtRRS@2;RGLur8rraXSWte(Jj`Z#Ju#>Tg*ABc||H9IR&t2 za(-!E3D9(IkdV@3A>Mav5ZTFWe2R=plQsCN7^5aH=1Zz)$l{#MkiuQV2qbytvZgSn zu=Fx5WMpKhI8nk?!;r;Y!jr;V!V6^aH8VCdH8Z&|#IA{9s%5HWu3<{y&1NdP0F+}~ zz)`}K#hk(iQdh$)$pAEsAIJuoEr4ul;Upy0f;9|sS=>;3dQ-ksrh-S3dM<) z3RPZ;_6k}Vr3xa{L4*c~07YPt&SW_u zapfqsvP*wRx=lFL(yY$qQP d@n>|LEFx+vstZzK1R~5pgcXQznVcr-4gfITll%Yx diff --git a/slack-bot/traffic-scraper/prd/jsonPayload.json b/slack-bot/traffic-scraper/prd/jsonPayload.json new file mode 100644 index 0000000..f634ee5 --- /dev/null +++ b/slack-bot/traffic-scraper/prd/jsonPayload.json @@ -0,0 +1 @@ +{"attachments": [\n {\n "title": "",\n "pretext": "Did someone say M62!? \\ud83d\\ude27",\n "text": ",\n "mrkdwn_in": ["text", "pretext"],\n "footer": "ec2-54-246-210-90.eu-west-1.compute.amazonaws.com",\n "footer_icon": "https://i.imgur.com/ADsI87O.png",\n "ts": "1570917914",\n "fields": [\n\t\t \t{\n\t\t "title": ",\n\t\t "value": ",\n\t\t "short": false\n\t\t \t},\n\t\t \t{\n\t\t "title": ",\n\t\t "value": ",\n\t\t "short": false\n\t\t \t},\n\t \t\t{\n\t\t "title": ",\n\t\t "value": " ",\n\t\t "short": false\n\t\t \t}\n\t \t]\n }\n ]\n} diff --git a/slack-bot/traffic-scraper/prd/pullTrafficInfo.py b/slack-bot/traffic-scraper/prd/pullTrafficInfo.py index a7614d1..7d6d765 100644 --- a/slack-bot/traffic-scraper/prd/pullTrafficInfo.py +++ b/slack-bot/traffic-scraper/prd/pullTrafficInfo.py @@ -145,8 +145,6 @@ class getTrafficInfo(object): # self.output.append('START') self.output.append( emoji.emojize( - f'Did someone say {self.motorway}!?' - ' :anguished:' ' Let\'s check the latest updates' ' from Highways England as of' f' {currentTime}!' diff --git a/slack-bot/traffic-scraper/prd/slackBot.py b/slack-bot/traffic-scraper/prd/slackBot.py index aa5c438..8e75786 100644 --- a/slack-bot/traffic-scraper/prd/slackBot.py +++ b/slack-bot/traffic-scraper/prd/slackBot.py @@ -3,9 +3,11 @@ import os import glob import sys from datetime import datetime +import requests +import base64 + sys.path.append(os.getcwd()) import pullTrafficInfo -import http.client inst = ( pullTrafficInfo.getTrafficInfo.getTrafficURL('M62') @@ -70,40 +72,71 @@ if accidentMessage is None: accidentMessage = data[accidentMessageStart:accidentMessageEnd] accidentMessage = ''.join(accidentMessage) -print(f'messageTitle: {messageTitle}' + '\n') -print(f'congestionTitle: {congestionTitle}' + '\n') -print(f'congestionMessage: {congestionMessage}' + '\n') -print(f'accidentTitle: {accidentTitle}' + '\n') -print(f'accidentMessage: {accidentMessage}' + '\n') -print(f'end: {end}') +# print(f'messageTitle: {messageTitle}' + '\n') +# print(f'congestionTitle: {congestionTitle}' + '\n') +# print(f'congestionMessage: {congestionMessage}' + '\n') +# print(f'accidentTitle: {accidentTitle}' + '\n') +# print(f'accidentMessage: {accidentMessage}' + '\n') +# print(f'end: {end}') -conn = http.client.HTTPConnection("hooks,slack,com") - -payload = """{\"attachments\": [\n {\n \"title\": \"",\n \"pretext\": \"Did someone say M62!? \\ud83d\\ude27\",\n \"text\": \"\",\n \"mrkdwn_in\": [\"text\", \"pretext\"],\n \"footer\": \"ec2-54-246-210-90.eu-west-1.compute.amazonaws.com\",\n \"footer_icon\": \"https://i.imgur.com/ADsI87O.png\",\n \"ts\": \"1570917914\",\n \"fields\": [\n\t\t \t{\n\t\t \"title\": \"\",\n\t\t \"value\": \"\",\n\t\t \"short\": false\n\t\t \t},\n\t\t \t{\n\t\t \"title\": \"\",\n\t\t \"value\": \"\",\n\t\t \"short\": false\n\t\t \t},\n\t \t\t{\n\t\t \"title\": \"\",\n\t\t \"value\": \" \",\n\t\t \"short\": false\n\t\t \t}\n\t \t]\n }\n ]\n}""" +payload = """{\"attachments\": [\n {\n \"title\": \"\",\n \"pretext\": \"Did someone say M62!? \\ud83d\\ude27\",\n \"text\": \"\",\n \"mrkdwn_in\": [\"text\", \"pretext\"],\n \"footer\": \"ec2-54-246-210-90.eu-west-1.compute.amazonaws.com\",\n \"footer_icon\": \"https://i.imgur.com/ADsI87O.png\",\n \"ts\": \"1570917914\",\n \"fields\": [\n\t\t \t{\n\t\t \"title\": \"\",\n\t\t \"value\": \"\",\n\t\t \"short\": false\n\t\t \t},\n\t\t \t{\n\t\t \"title\": \"\",\n\t\t \"value\": \"\",\n\t\t \"short\": false\n\t\t \t},\n\t \t\t{\n\t\t \"title\": \"\",\n\t\t \"value\": \" \",\n\t\t \"short\": false\n\t\t \t}\n\t \t]\n }\n ]\n}""" +jsonPayload = json.loads(payload) timeNow = datetime.now().timestamp() -jsonPayload = json.loads(payload) -print(jsonPayload) jsonPayload['attachments'][0]['title'] = f'{messageTitle}' -print(jsonPayload['attachments'][0]['title']) +# print(jsonPayload['attachments'][0]['title']) jsonPayload['attachments'][0]['ts'] = timeNow -print(jsonPayload['attachments'][0]['ts']) +# print(jsonPayload['attachments'][0]['ts']) jsonPayload['attachments'][0]['fields'][0]['title'] = f'{congestionTitle}' -print(jsonPayload['attachments'][0]['fields'][0]['title']) +# print(jsonPayload['attachments'][0]['fields'][0]['title']) jsonPayload['attachments'][0]['fields'][0]['value'] = f'{congestionMessage}' -print(jsonPayload['attachments'][0]['fields'][0]['value']) +# print(jsonPayload['attachments'][0]['fields'][0]['value']) jsonPayload['attachments'][0]['fields'][1]['title'] = f'{accidentTitle}' -print(jsonPayload['attachments'][0]['fields'][1]['title']) +# print(jsonPayload['attachments'][0]['fields'][1]['title']) jsonPayload['attachments'][0]['fields'][1]['value'] = f'{accidentMessage}' -print(jsonPayload['attachments'][0]['fields'][1]['value']) +# print(jsonPayload['attachments'][0]['fields'][1]['value']) jsonPayload['attachments'][0]['fields'][2]['value'] = f'{end}' -print(jsonPayload['attachments'][0]['fields'][2]['value']) +# print(jsonPayload['attachments'][0]['fields'][2]['value']) + +newJsonPayload = json.dumps(jsonPayload) +# print(newJsonPayload) + +with open(f'{os.getcwd()}/slackURL.json', 'r') as slackURL: + url = json.load(slackURL) + +url = base64.b64decode(url.encode()).decode() + +querystring = {"": ""} + +headers = { + 'Content-Type': 'application/json', + 'User-Agent': 'PostmanRuntime/7.17.1', + 'Accept': '*/*', + 'Cache-Control': 'no-cache', + 'Postman-Token': 'a4b63f2d-43b1-4ce7-898a-2fd03952ad7d,46ba7deb-472c-4328' + '-a261-9c2000da2f11', + 'Host': 'hooks.slack.com', + 'Accept-Encoding': 'gzip, deflate', + 'Content-Length': '1277', + 'Connection': 'keep-alive', + 'cache-control': 'no-cache', +} + +response = requests.request( + 'POST', + url, + data=newJsonPayload.encode(), + headers=headers, + params=querystring, +) + +print(response.text) diff --git a/slack-bot/traffic-scraper/prd/slackURL.json b/slack-bot/traffic-scraper/prd/slackURL.json new file mode 100644 index 0000000..3096d32 --- /dev/null +++ b/slack-bot/traffic-scraper/prd/slackURL.json @@ -0,0 +1 @@ +"aHR0cHM6Ly9ob29rcy5zbGFjay5jb20vc2VydmljZXMvVDAyRDExQjRLL0JQQkFGUFA3WC9kTk8xRTBCaVg1WUlHMWgxblZtU0E3c28=" diff --git a/slack-bot/traffic-scraper/prd/test.py b/slack-bot/traffic-scraper/prd/test.py index 7641918..5ede8c9 100644 --- a/slack-bot/traffic-scraper/prd/test.py +++ b/slack-bot/traffic-scraper/prd/test.py @@ -1,30 +1,23 @@ -import json -from datetime import datetime +import requests -payload = """{\"attachments\": [\n {\n \"title\": \"{title}",\n \"pretext\": \"Did someone say M62!? \\ud83d\\ude27\",\n \"text\": \"\",\n \"mrkdwn_in\": [\"text\", \"pretext\"],\n \"footer\": \"ec2-54-246-210-90.eu-west-1.compute.amazonaws.com\",\n \"footer_icon\": \"https://i.imgur.com/ADsI87O.png\",\n \"ts\": \"1570917914\",\n \"fields\": [\n\t\t \t{\n\t\t \"title\": \"{congestionTitle}\",\n\t\t \"value\": \"{congestionMessage}\",\n\t\t \"short\": false\n\t\t \t},\n\t\t \t{\n\t\t \"title\": \"{accidentTitle}\",\n\t\t \"value\": \"{accidentMessage}\",\n\t\t \"short\": false\n\t\t \t},\n\t \t\t{\n\t\t \"title\": \"\",\n\t\t \"value\": \"{end} \",\n\t\t \"short\": false\n\t\t \t}\n\t \t]\n }\n ]\n}""" +url = "https://hooks.slack.com/services/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" -timeNow = datetime.now().timestamp() +querystring = {"":""} -jsonPayload = json.loads(payload) -print(jsonPayload) +payload = "{\"attachments\": [\n {\n \"title\": \"Let's check the latest updates from Highways England as of 22:30:12! \\ud83d\\ude93\\ud83d\\udea8\",\n \"pretext\": \"Did someone say M62!? \\ud83d\\ude27\",\n \"text\": \"\",\n \"mrkdwn_in\": [\"text\", \"pretext\"],\n \"footer\": \"ec2-54-246-210-90.eu-west-1.compute.amazonaws.com\",\n \"footer_icon\": \"https://i.imgur.com/ADsI87O.png\",\n \"ts\": \"1570917914\",\n \"fields\": [\n\t\t \t{\n\t\t \"title\": \"There are currently 1 reported congestion incidents on the M62 😱\",\n\t\t \"value\": \"Location : The M62 westbound exit slip at junction J32 .\\n Reason : Congestion.\\n Status : Currently Active.\\n Return To Normal : Normal traffic conditions are expected between 23:00 and 23:15 on 12 October 2019.\\n Delay : There are currently delays of 10 minutes against expected traffic.\",\n\t\t \"short\": false\n\t\t \t},\n\t\t \t{\n\t\t \"title\": \"Accident Incidents\",\n\t\t \"value\": \"There are currently no reported accident incidents on the M62 \\ud83e\\udd14\",\n\t\t \"short\": false\n\t\t \t},\n\t \t\t{\n\t\t \"title\": \"\",\n\t\t \"value\": \"Hey Andy, have you thought about getting the train? \\ud83d\\ude85 \",\n\t\t \"short\": false\n\t\t \t}\n\t \t]\n }\n ]\n}" +headers = { + 'Content-Type': "application/json", + 'User-Agent': "PostmanRuntime/7.17.1", + 'Accept': "*/*", + 'Cache-Control': "no-cache", + 'Postman-Token': "a4b63f2d-43b1-4ce7-898a-2fd03952ad7d,46ba7deb-472c-4328-a261-9c2000da2f11", + 'Host': "hooks.slack.com", + 'Accept-Encoding': "gzip, deflate", + 'Content-Length': "1277", + 'Connection': "keep-alive", + 'cache-control': "no-cache" + } -jsonPayload['attachments'][0]['title'] = f'{messageTitle}' -print(jsonPayload['attachments'][0]['title']) +response = requests.request("POST", url, data=payload.encode(), headers=headers, params=querystring) -jsonPayload['attachments'][0]['ts'] = timeNow -print(jsonPayload['attachments'][0]['ts']) - -jsonPayload['attachments'][0]['fields'][0]['title'] = f'{congestionTitle}' -print(jsonPayload['attachments'][0]['fields'][0]['title']) - -jsonPayload['attachments'][0]['fields'][0]['value'] = f'{congestionMessage}' -print(jsonPayload['attachments'][0]['fields'][0]['value']) - -jsonPayload['attachments'][0]['fields'][1]['title'] = f'{accidentTitle}' -print(jsonPayload['attachments'][0]['fields'][1]['title']) - -jsonPayload['attachments'][0]['fields'][1]['value'] = f'{accidentMessage}' -print(jsonPayload['attachments'][0]['fields'][1]['value']) - -jsonPayload['attachments'][0]['fields'][2]['value'] = f'{end}' -print(jsonPayload['attachments'][0]['fields'][2]['value']) +print(response.text)