Compare commits
2 Commits
5e8ff48d34
...
bc0f4b6b37
| Author | SHA1 | Date | |
|---|---|---|---|
| bc0f4b6b37 | |||
| 0f6c33528c |
8
.gitignore
vendored
Normal file
8
.gitignore
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# Configs
|
||||||
|
config/service-acct.json
|
||||||
|
|
||||||
|
# Logs
|
||||||
|
*.log
|
||||||
|
|
||||||
|
# JetBrains stuff
|
||||||
|
.idea/
|
||||||
1
config/service-acct.json.sample
Normal file
1
config/service-acct.json.sample
Normal file
@ -0,0 +1 @@
|
|||||||
|
https://cloud.google.com/iam/docs/keys-create-delete
|
||||||
17
main.py
17
main.py
@ -21,11 +21,11 @@ Hangouts Chat bot that responds to events and messages from a room asynchronousl
|
|||||||
|
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from googleapiclient.discovery import build
|
|
||||||
from flask import Flask, render_template, request, json
|
|
||||||
import google.auth
|
|
||||||
from os import environ
|
from os import environ
|
||||||
|
|
||||||
|
from flask import Flask, render_template, request, json
|
||||||
from google.oauth2 import service_account
|
from google.oauth2 import service_account
|
||||||
|
from googleapiclient.discovery import build
|
||||||
|
|
||||||
logging.basicConfig(filename='example.log', level=logging.DEBUG)
|
logging.basicConfig(filename='example.log', level=logging.DEBUG)
|
||||||
|
|
||||||
@ -34,8 +34,8 @@ application = Flask(__name__)
|
|||||||
logging.info(environ)
|
logging.info(environ)
|
||||||
|
|
||||||
scopes = ['https://www.googleapis.com/auth/chat.bot']
|
scopes = ['https://www.googleapis.com/auth/chat.bot']
|
||||||
credentials = service_account.Credentials.from_service_account_file('/home/benjamyntesting/chatbot/service-acct.json')
|
credentials = service_account.Credentials.from_service_account_file('./config/service-acct.json')
|
||||||
#credentials, project_id = google.auth.default()
|
# credentials, project_id = google.auth.default()
|
||||||
credentials = credentials.with_scopes(scopes=scopes)
|
credentials = credentials.with_scopes(scopes=scopes)
|
||||||
chat = build('chat', 'v1', credentials=credentials)
|
chat = build('chat', 'v1', credentials=credentials)
|
||||||
|
|
||||||
@ -62,9 +62,10 @@ def home_post():
|
|||||||
space_name = event_data['space']['name']
|
space_name = event_data['space']['name']
|
||||||
send_async_response(resp, space_name)
|
send_async_response(resp, space_name)
|
||||||
|
|
||||||
# Return empty jsom respomse simce message already sent via REST API
|
# Return empty jsom response since message already sent via REST API
|
||||||
return json.jsonify({})
|
return json.jsonify({})
|
||||||
|
|
||||||
|
|
||||||
# [START async-response]
|
# [START async-response]
|
||||||
|
|
||||||
def send_async_response(response, space_name):
|
def send_async_response(response, space_name):
|
||||||
@ -79,6 +80,7 @@ def send_async_response(response, space_name):
|
|||||||
parent=space_name,
|
parent=space_name,
|
||||||
body=response).execute()
|
body=response).execute()
|
||||||
|
|
||||||
|
|
||||||
# [END async-response]
|
# [END async-response]
|
||||||
|
|
||||||
def format_response(event):
|
def format_response(event):
|
||||||
@ -115,6 +117,7 @@ def format_response(event):
|
|||||||
|
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
|
||||||
# [END async-bot]
|
# [END async-bot]
|
||||||
|
|
||||||
@application.route('/', methods=['GET'])
|
@application.route('/', methods=['GET'])
|
||||||
@ -130,5 +133,5 @@ def home_get():
|
|||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
# This is used when running locally. Gunicorn is used to run the
|
# This is used when running locally. Gunicorn is used to run the
|
||||||
# applicationlication on Google application Engine. See entrypoint in application.yaml.
|
# application on Google application Engine. See entrypoint in application.yaml.
|
||||||
application.run(host='127.0.0.1', port=8080, debug=True)
|
application.run(host='127.0.0.1', port=8080, debug=True)
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
Flask
|
Flask~=2.2.3
|
||||||
google-api-python-client
|
google-api-python-client
|
||||||
google-auth
|
google-auth
|
||||||
|
google
|
||||||
Reference in New Issue
Block a user