]> git.cworth.org Git - turbot/commitdiff
Add an implementation of the /solved command
authorCarl Worth <cworth@cworth.org>
Fri, 23 Oct 2020 00:40:43 +0000 (17:40 -0700)
committerCarl Worth <cworth@cworth.org>
Fri, 23 Oct 2020 00:40:43 +0000 (17:40 -0700)
For marking a known solution to a puzzle.

turbot/interaction.py

index cb6946775cc12f0ef341801f8d282aebf04e0be5..20b2d7db820df0fd7b7a3242cc2e215e769cf26e 100644 (file)
@@ -411,3 +411,25 @@ def state(turb, body, args):
     return lambda_ok
 
 commands["/state"] = state
+
+def solved(turb, body, args):
+    """Implementation of the /solved command
+
+    The args string should be a confirmed solution."""
+
+    channel_id = body['channel_id'][0]
+    channel_name = body['channel_name'][0]
+
+    (puzzle, table) = channel_is_puzzle(turb, channel_id, channel_name)
+
+    if not puzzle:
+        return bot_reply("Sorry, this is not a puzzle channel.")
+
+    # Set the status and solution fields in the database
+    puzzle['status'] = 'solved'
+    puzzle['solution'].append(args)
+    table.put_item(Item=puzzle)
+
+    return lambda_ok
+
+commands["/solved"] = solved