Skip to content

Instantly share code, notes, and snippets.

@ohno-yuton
Last active December 21, 2018 09:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ohno-yuton/71d3472f8d1d57f0fc13a981a70f2bb7 to your computer and use it in GitHub Desktop.
Save ohno-yuton/71d3472f8d1d57f0fc13a981a70f2bb7 to your computer and use it in GitHub Desktop.
water_order
def lambda_handler(event, context):
#---logging_set--------------------------------------
logger = logging.getLogger()
logger.setLevel(logging.INFO)
logging.info(json.dumps(event)) #cloud_watchへのロギング必要無ければ本番環境で削除
#---time---use-S3------------------------------------------------
JST = datetime.timezone(datetime.timedelta(hours=+9), 'JST')
now = datetime.datetime.now(JST)
NOWTIME = now.strftime("%Y/%m/%d-%H:%M")
TODAY = now.strftime("%Y/%m/%d")
LAST_MONTH_TIME=(now - relativedelta(months=1)).strftime("%Y-%m")
slack=Slack()
payload=str(event)
if 'deviceInfo' in payload:
payload=payload.split(':')
payload2=payload[12]
else:
payload=str(event["body"]) #httpでpostされたpayloadの格納
payload=urllib.parse.unquote(payload) #URLデコード
#---余分なところの削ぎ落とし---
payload=payload.split(':')
payload=payload[:16]
payload=''.join(payload)
button=Button(LAST_MONTH_TIME,NOWTIME,TODAY)
if 'water' in payload:#水+1
button.count(1,0)
water_cupps_text, water_cupps, mail_text = button.make_text() #slackメッセージ,slackボタン設定,メール本文
slack.update_message_button(water_cupps_text,ts,water_cupps)
elif 'cup' in payload:#紙コップ+1
button.count(0,1)
water_cupps_text, water_cupps, mail_text = button.make_text() #slackメッセージ,slackボタン設定,メール本文
slack.update_message_button(water_cupps_text,ts,water_cupps)
elif 'reset' in payload:#リセットボタン
button.reset()
water_cupps_text, water_cupps, mail_text = button.make_text() #slackメッセージ,slackボタン設定,メール本文
slack.update_message_button(water_cupps_text,ts,water_cupps)
elif 'ok' in payload:#メール送信
water_cupps_text, water_cupps, mail_text = button.make_text()
button.send_mail_button(TEXT_MAIL_SUBJECT,mail_text,FROM_MAIL,TO_MAIL,CC_MAIL,CC_MAIL2)
water_cupps_text, water_cupps, mail_text = button.make_text()
slack.update_message_button(water_cupps_text,ts,water_cupps)
elif 'SINGLE' in payload2:#水+1
button.count(1,0)
water_cupps_text, water_cupps, mail_text = button.make_text() #slackメッセージ,slackボタン設定,メール本文
slack.update_message_button(water_cupps_text,ts,water_cupps)
elif 'DOUBLE' in payload2:#紙コップ+1
button.count(0,1)
water_cupps_text, water_cupps, mail_text = button.make_text() #slackメッセージ,slackボタン設定,メール本文
slack.update_message_button(water_cupps_text,ts,water_cupps)
#---余分なメッセージをtsで識別して削除-----------------------------
for message in slack.get_history()["messages"]:
ts_del=message["ts"]
if ts_del != ts:
response=slack.delete_message(str(ts_del))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment