Meta commands
-------------
+PLUGIN [string]
+Run plugin code in ./plugins/[argument], with argument only consisting of
+alphanumeric characters and underscores.
+
PING
Write "PONG" line to ./server/out file.
return id
+def command_plugin(str_plugin):
+ """Run code in plugins/[str_plugin]."""
+ if (str_plugin.replace("_", "").isalnum()
+ and os.access("plugins/" + str_plugin, os.F_OK)):
+ exec(open("plugins/" + str_plugin).read())
+ return
+ print("Bad plugin name:", str_plugin)
+
+
def command_ping():
"""Send PONG line to server output file."""
strong_write(io_db["file_out"], "PONG\n")
to be called on it.
"""
commands_db = {
+ "PLUGIN": (1, True, command_plugin),
"QUIT": (0, True, command_quit),
"PING": (0, True, command_ping),
"THINGS_HERE": (2, True, command_thingshere),