]> git.cworth.org Git - turbot/blobdiff - turbot/interaction.py
Put a message into the channel when a user edits a puzzle
[turbot] / turbot / interaction.py
index 955fae5b776f15db7222e7a5e3a0cbe81ec4f0c0..e68aa6f276a7754e60d38a1c73cafbbc70825ec2 100644 (file)
@@ -179,6 +179,7 @@ def edit_puzzle_submission(turb, payload, metadata):
     puzzle['sheet_url'] = meta['sheet_url']
 
     state = payload['view']['state']['values']
+    user_id = payload['user']['id']
 
     puzzle['name'] = state['name']['name']['value']
     url = state['url']['url']['value']
@@ -238,6 +239,14 @@ def edit_puzzle_submission(turb, payload, metadata):
     # Update the puzzle in the database
     turb.table.put_item(Item=puzzle)
 
+    # Inform the puzzle channel about the edit
+    edit_message = "Puzzle edited by <@{}>".format(user_id)
+    blocks = ([section_block(text_block(edit_message+":\n"))] +
+              puzzle_blocks(puzzle, include_rounds=True))
+    slack_send_message(
+        turb.slack_client, puzzle['channel_id'],
+        edit_message, blocks=blocks)
+
     # We need to set the channel topic if any of puzzle name, url,
     # state, status, or solution, has changed. Let's just do that
     # unconditionally here.