Skip to content

Instantly share code, notes, and snippets.

@MarcScott
Created February 15, 2017 11:03
Show Gist options
  • Save MarcScott/af91b510697273184d66c255c9d8e19c to your computer and use it in GitHub Desktop.
Save MarcScott/af91b510697273184d66c255c9d8e19c to your computer and use it in GitHub Desktop.
from picamera import PiCamera
from datetime import datetime
slack_token = ""
sc = SlackClient(slack_token)
users = requests.get('https://slack.com/api/users.list',params={'token':slack_token}).json()
camera = PiCamera()
camera.start_preview()
sleep(1)
camera.close()
def take_photo():
camera = PiCamera()
camera.start_preview()
time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
file_name = 'Carpark at {0} .jpg'.format(time)
camera.capture(file_name)
camera.close()
return file_name
def get_name(id):
for user in users['members']:
if user['id'] == id:
return user['name']
def send_message(user_name, channel_name):
name = get_name(user_name)
sc.api_call("chat.postMessage",
channel = channel_name,
text = "You asked about car park spaces @{0}".format(name),
as_user=True)
def send_image(user_name, channel_name):
file_name = take_photo()
url = 'https://slack.com/api/files.upload'
with open(file_name,'rb') as file:
r = requests.post(url,
files={'file':file},
params={'token':slack_token,
'channels':channel_name})
if sc.rtm_connect():
while True:
event = sc.rtm_read()
print(event)
if event and 'text' in event[0]:
if 'parking' in event[0]['text'].lower():
print('sending')
send_message(event[0]['user'], event[0]['channel'])
send_image(event[0]['user'], event[0]['channel'])
sleep(1)
else:
print('No connection')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment