summaryrefslogtreecommitdiff
path: root/abot.py
blob: 67948149ad4ec28435584c14fdbe66060bb62a9b (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
31
from helpers import *
from re import compile as reg_compile

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

faq_regex = [
  # ranks
  "\\b(how.*? (get|be(come)?)|who is|are you).*? (%s)|who owns.* server" % rank_regex,
  # WE
  "\\b(can|how|why).*? (have|haz|use|get|doesn|can'?t).*? (WorldEdit|WE\\b|W\\.E\\.\\b)",
  # clearing plot
  "\\b((why|how).*? (do|can)|how to).*?( /?p clear| clear.*? plot)",
  # add someone to a plot, claim plot
  "\\bhow.*? (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()
  if not sender.hasPermission("utils.ignore_abot"):
    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