add abot (AnswerBot) to get rid of stupid FAQ asking

This commit is contained in:
jomo
2014-07-10 00:37:42 +02:00
parent a87b9eb9d1
commit a0f02fb846
3 changed files with 44 additions and 2 deletions

View File

@@ -129,6 +129,10 @@ If you want the server to load a file (*module*) on startup, add it to the `modu
> Adds `/getmotd` & `/setmotd` to update the motd on the fly (no reboot).
* `abot.py`
> AnswerBot. Hides stupid questions from chat and tells the sender about `/faq` or the like
# Code styleguide & tips

25
abot.py Normal file
View File

@@ -0,0 +1,25 @@
from helpers import *
from re import compile as reg_compile
rank_regex = "visitor|member|builder|trusted|helper|mod|admin"
faq_regex = [
# Asking for ranks or WE
"how.+ (get|be(come)?|).+ (%s|WorldEdit|WE|W.E.)" % rank_regex,
# Asking why p clear won't work
"why.+ can.+( /?p clear| clear.+plot)"
]
faq_regex = [reg_compile(reg) 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, "&aIt looks like you aksed a question that is likely answered in our FAQ.")
msg(sender, "&aPlease take a look at the &4&l/faq&a command and read through the pages.")
event.setCancelled(True)
break

17
main.py
View File

@@ -30,8 +30,21 @@ def onDisable():
log("Loading RedstonerUtils...")
# Import all modules
modules = ["misc", "adminchat", "lagchunks", "reports", "chatgroups", "webtoken", "saylol", "skullclick", "mentio", "cycle", "motd"]
# Import all modules, in this order
modules = [
"misc",
"adminchat",
"lagchunks",
"reports",
"chatgroups",
"webtoken",
"saylol",
"skullclick",
"mentio",
"cycle",
"motd",
"abot"
]
mod = {}
for module in modules:
try: