home · contact · privacy
Add indexed !quote calls.
[plomlombot-irc.git] / plomlombot.py
index 089fa6f61997fabdfd7ba8bfe84a7d512960be25..b45c67a7aa12feeee10695c218f6a05dfe1d1912 100755 (executable)
@@ -122,7 +122,7 @@ def lineparser_loop(io, nickname):
                     continue
                 title = bs4.BeautifulSoup(r.text).title
                 if title:
-                    notice("PAGE TITLE FOR URL: " + title.string.strip())
+                    notice("PAGE TITLE: " + title.string.strip())
                 else:
                     notice("PAGE HAS NO TITLE TAG")
 
@@ -145,14 +145,26 @@ def lineparser_loop(io, nickname):
                 quotesfile.close()
                 notice("ADDED QUOTE #" + str(len(lines) - 1))
             elif tokens[0] == "quote":
+                if len(tokens) > 2 or \
+                    (len(tokens) == 2 and not tokens[1].isdigit()):
+                    notice("SYNTAX: !quote [int]")
+                    return
                 if not os.access(quotesfile_name, os.F_OK):
                     notice("NO QUOTES AVAILABLE")
                     return
                 quotesfile = open(quotesfile_name, "r")
                 lines = quotesfile.readlines()
                 quotesfile.close()
-                i = random.randrange(len(lines) - 1) + 1
-                notice("QUOTE #" + str(i) + ": " + lines[i])
+                lines = lines[1:]
+                if len(tokens) == 2:
+                    i = int(tokens[1])
+                    if i == 0 or i > len(lines):
+                        notice("THERE'S NO QUOTE OF THAT INDEX")
+                        return
+                    i = i - 1
+                else:
+                    i = random.randrange(len(lines))
+                notice("QUOTE #" + str(i + 1) + ": " + lines[i])
 
         sender = ""
         for rune in tokens[0]: