summaryrefslogtreecommitdiff
path: root/abot.py
blob: 94ca85d1aded298c3526102e991bf32f8209dd68 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from helpers import *
from re import compile as reg_compile

rank_regex = "visitor|member|builder|trusted|helper|mod|admin|owner|rank"

faq_regex = [
  # ranks
  "(how.*? (get|be(come)?|)|who is|are you).*? (%s)|who owns.* server" % rank_regex,
  # WE
  "(can|how|why).*? (have|haz|use|get|doesn|can'?t).*? (WorldEdit|WE\\b|W\\.E\\.\\b)",
  # clearing plot
  "((why|how).*? (do|can)|how to).*?( /?p clear| clear.*? plot)",
  # add someone to a plot, claim plot
  "how.*? (get|claim|own|add).*? plot"
]

faq_regex = [reg_compile(reg.lower()) for reg in faq_regex]

@hook.event("player.AsyncPlayerChatEvent", "low")
def onChat(event):
  sender  = event.getPlayer()
  message = event.getMessage().lower()
  for regex in faq_regex:
    if regex.search(message):
      plugHeader(sender, "AnswerBot")
      msg(sender, "&aLooks like you're asking something that's likely in our FAQ.")
      msg(sender, "&aTake a look at &4&l/faq&a and read through the pages.\n ") # trailing space required
      event.setCancelled(True)
      log("(hidden) %s: '%s'" % (sender.getName(), message))
      break