Advertisement
Guest User

Untitled

a guest
Jun 30th, 2016
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.47 KB | None | 0 0
  1. from __future__ import unicode_literals
  2. from json import loads
  3. from optparse import OptionParser
  4. from shlex import split
  5.  
  6. from pyfiglet import Figlet
  7.  
  8.  
  9. crontable = []
  10. outputs = []
  11.  
  12.  
  13. def parse(lineparts):
  14. parser = OptionParser()
  15. parser.add_option("-f", dest="font", default="standard")
  16. parser.add_option("-r", dest="reverse", default=False, action="store_true")
  17. parser.add_option("-F", dest="flip", default=False, action="store_true")
  18.  
  19. return parser.parse_args(lineparts)
  20.  
  21.  
  22. def process_message(data):
  23.  
  24. if data.get("user", "") == "U1MRZ396F":
  25. return
  26. try:
  27. ls = split(data["text"])
  28. except ValueError as exc:
  29. print("failed to handle %s, ignoring" % data["text"])
  30. # outputs.append([data["channel"], "what?"])
  31. return
  32.  
  33. # can this happen?
  34. if not ls:
  35. return
  36.  
  37. maybename = ls.pop(0)
  38. maybename = maybename.replace("@", "").replace(":", "")
  39. if maybename.lower() != "figlet" and maybename != "<U1MRZ396F>":
  40. return
  41.  
  42. opts, args = parse(ls)
  43. msg = " ".join(args)
  44. if not msg:
  45. outputs.append([data["channel"], "what?"])
  46. return
  47.  
  48. figlet = Figlet()
  49.  
  50. if opts.font not in figlet.getFonts():
  51. outputs.append([data["channel"], "i don't know that font"])
  52. return
  53.  
  54. figlet.setFont(font=opts.font)
  55. r = figlet.renderText(msg)
  56. if opts.reverse:
  57. r = r.reverse()
  58. if opts.flip:
  59. r = r.flip()
  60.  
  61. outputs.append([data["channel"], "```%s```\n" % r])
  62.  
  63. # eof
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement