add abot (AnswerBot) to get rid of stupid FAQ asking
This commit is contained in:
@@ -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
25
abot.py
Normal 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
17
main.py
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user