diff options
author | PixelSergey <sergey.ichtchenko@gmail.com> | 2016-05-31 15:39:34 +0300 |
---|---|---|
committer | PixelSergey <sergey.ichtchenko@gmail.com> | 2016-05-31 15:39:34 +0300 |
commit | 6f4357fad785f9e1f0c3d6d09ac9ea5ef3542f1b (patch) | |
tree | ed463cd18931bf72977d70f0f1ae919d49904112 | |
parent | fe2d6eb701179054b0d0fe2e8fd10df16883179a (diff) |
Add lol list pageing.
Tested, works perf.
-rw-r--r-- | saylol.py | 29 |
1 files changed, 22 insertions, 7 deletions
@@ -5,7 +5,7 @@ from random import randrange lols = open_json_file("lol", []) timeout = 15 last_msg = 0 - +list_limit = 20 def save_lols(): @@ -69,8 +69,23 @@ def on_lol_command(sender, command, label, args): noperm(sender) elif cmd == "list": - for i in range(len(lols)): + arg1 = args[1] if len(args) > 1 else None + if not arg1: + arg1 = "1" + if not arg1.isdigit() or arg1 == "0": + msg(sender, "&cUwot m8 putting invalid data here") + return True + arg1 = int(arg1) - 1 + offset = list_limit * arg1 + if offset > len(lols): + msg(sender, "&cNot enough lol to display. Please pick a smaller page number.") + return True + msg(sender, " &9&nLol list page %s" % str(arg1 + 1)) #"\t" symbol displays weirdly, hence the 4 spaces + for i in range(offset, min(offset + list_limit, len(lols))): msg(sender, "&a%s: &e%s" % (str(i).rjust(3), lols[i])) + msg(sender, "") + msg(sender, "&eFor a specific page, type &a/lol list <page>&e.") + msg(sender, "") #emptyline elif cmd == "search": if sender.hasPermission("utils.lol.search"): @@ -95,9 +110,9 @@ def on_lol_command(sender, command, label, args): msg(sender, "&cInvalid number '&e%s&c'" % args[1]) else: - msg(sender, "&a/lol &eSay random message") - msg(sender, "&a/lol list &eList all messages") - msg(sender, "&a/lol id <id> &eSay specific message") - msg(sender, "&a/lol add <text> &eAdd message") - msg(sender, "&a/lol del <id> &eDelete message") + msg(sender, "&a/lol &eSay random message") + msg(sender, "&a/lol list [page] &eList messages") + msg(sender, "&a/lol id <id> &eSay specific message") + msg(sender, "&a/lol add <text> &eAdd message") + msg(sender, "&a/lol del <id> &eDelete message") return True |