Browse Source

Got the simple commands fixed up, info still isn't working tho

Kirk Trombley 6 years ago
parent
commit
9a531a6805
2 changed files with 53 additions and 53 deletions
  1. 21 16
      src/app.py
  2. 32 37
      src/plugins/simple.py

+ 21 - 16
src/app.py

@@ -57,26 +57,14 @@ def services():
     return render_template("services.html", r=None)
 
 
-@app.route("/rollbot", methods=["POST"])
-def execute():
-    json = request.get_json()
-    msg = RollbotMessage.from_groupme(json)
-
-    if not msg.is_command:
-        app.logger.debug("Received non-command message")
-        return "", 204
-
-    if msg.group_id not in BOTS_LOOKUP:
-        app.logger.warn(f"Received message from unknown group ID {msg.group_id}")
-        return "Invalid group ID", 403
-
+def run_command_and_respond(msg):
     response = rollbot.run_command(msg)
 
     if not response.respond:
-        app.logger.info(f"Skipping response to message {message.message_id}")
-        return "", 204
+        app.logger.info(f"Skipping response to message {msg.message_id}")
+        return
 
-    app.logger.info(f"Responding to message {message.message_id}")
+    app.logger.info(f"Responding to message {msg.message_id}")
 
     bot_id = BOTS_LOOKUP[msg.group_id]
     if response.is_success:
@@ -87,6 +75,23 @@ def execute():
     else:
         post_message(response.failure_msg, bot_id=bot_id)
 
+
+
+@app.route("/rollbot", methods=["POST"])
+def execute():
+    json = request.get_json()
+    msg = RollbotMessage.from_groupme(json)
+
+    if not msg.is_command:
+        app.logger.debug("Received non-command message")
+        return "", 204
+
+    if msg.group_id not in BOTS_LOOKUP:
+        app.logger.warn(f"Received message from unknown group ID {msg.group_id}")
+        return "Invalid group ID", 403
+
+    run_command_and_respond(msg)
+
     return "OK", 200
 
 

+ 32 - 37
src/plugins/simple.py

@@ -1,3 +1,5 @@
+import random
+
 from command_system import as_plugin, RollbotResponse
 
 
@@ -32,60 +34,53 @@ Telnet is complicated!
 """
 
 
-def lift(fn):
-    def wrapper(db, message):
-        return RollbotResponse(message, txt=fn(message.raw_args))
-    wrapper.__name__ = fn.__name__
-    return as_plugin(wrapper)
-
-
-@lift
-def info(message):
-    return HELP_MSG
+@as_plugin
+def info(db, message):
+    return RollbotResponse(message, txt=HELP_MSG)
 
 
-@lift
-def isadmin(message):
-    return str(message.from_admin())
+@as_plugin
+def isadmin(db, message):
+    return RollbotResponse(message, txt=str(message.from_admin))
 
 
-@lift
-def debug(message):
-    return str(message)
+@as_plugin
+def debug(db, message):
+    return RollbotResponse(message, txt=str(message))
 
 
-@lift
-def echo(message):
-    return "'%s' - %s" % (message.raw_args, message.name)
+@as_plugin
+def echo(db, message):
+    return RollbotResponse(message, txt="'%s' - %s" % (message.raw_args, message.name))
 
 
-@lift
-def thanks(message):
-    return "You're welcome!"
+@as_plugin
+def thanks(db, message):
+    return RollbotResponse(message, txt="You're welcome!")
 
 
-@lift
-def guess(message):
-    return "Rollbot's back - tell a friend!"
+@as_plugin
+def guess(db, message):
+    return RollbotResponse(message, txt="Rollbot's back - tell a friend!")
 
 
-@lift
-def meme(message):
-    return "fuck off"
+@as_plugin
+def meme(db, message):
+    return RollbotResponse(message, txt="fuck off")
 
 
-@lift
-def unmeme(message):
-    return "get a job"
+@as_plugin
+def unmeme(db, message):
+    return RollbotResponse(message, txt="get a job")
 
 
-@lift
-def greet(message):
-    return random.choice(("Hi!", "Hello!", "안녕하세요", "こんにちは", "你好", "👋"))
+@as_plugin
+def greet(db, message):
+    return RollbotResponse(message, txt=random.choice(("Hi!", "Hello!", "안녕하세요", "こんにちは", "你好", "👋")))
 
 
-@lift
-def console(message):
+@as_plugin
+def console(db, message):
     argstr = message.raw_args
     opts = [
         "NEVER GIVE UP",
@@ -94,4 +89,4 @@ def console(message):
     ]
     if argstr is not None:
         opts.append("It'll be okay, {}! Keep trying!".format(argstr))
-    return random.choice(opts)
+    return RollbotResponse(message, txt=random.choice(opts))