|
@@ -60,13 +60,28 @@ class LTAMonitor(Command): |
|
|
|
|
|
|
|
|
site = self.bot.wiki.get_site() |
|
|
site = self.bot.wiki.get_site() |
|
|
try: |
|
|
try: |
|
|
result = site.api_query(action="query", list="blocks", bkip=ip, bklimit=1) |
|
|
|
|
|
|
|
|
result = site.api_query(action="query", list="blocks", bkip=ip, |
|
|
|
|
|
bklimit=1, bkprop="user|reason|range") |
|
|
except APIError: |
|
|
except APIError: |
|
|
return |
|
|
return |
|
|
blocks = result["query"]["blocks"] |
|
|
blocks = result["query"]["blocks"] |
|
|
if not blocks: |
|
|
if not blocks: |
|
|
return |
|
|
return |
|
|
|
|
|
block = blocks[0] |
|
|
|
|
|
|
|
|
msg = ("\x02[Alert]\x0F Joined user \x02{nick}\x0F is IP-blocked " |
|
|
|
|
|
"on-wiki ([[User:{user}]] by {by}) because: {reason}") |
|
|
|
|
|
self.say(self._report_chan, msg.format(nick=data.nick, **blocks[0])) |
|
|
|
|
|
|
|
|
if re.search(r"web[ _-]?host", block["reason"], re.IGNORECASE): |
|
|
|
|
|
block["note"] = "webhost warning" |
|
|
|
|
|
else: |
|
|
|
|
|
block["note"] = "alert" |
|
|
|
|
|
if block["rangestart"] != block["rangeend"]: |
|
|
|
|
|
block["type"] = "range" |
|
|
|
|
|
else: |
|
|
|
|
|
block["type"] = "IP-" |
|
|
|
|
|
|
|
|
|
|
|
msg = ("\x02[{note}]\x0F Joined user \x02{nick}\x0F is {type}blocked " |
|
|
|
|
|
"on-wiki ([[User:{user}]]) because: {reason}") |
|
|
|
|
|
self.say(self._report_chan, msg.format(nick=data.nick, **block)) |
|
|
|
|
|
|
|
|
|
|
|
log = ("Reporting block ({note}): {nick} is [[User:{user}]], " |
|
|
|
|
|
"{type}blocked because: {reason}") |
|
|
|
|
|
self.logger.info(log.format(nick=data.nick, **block)) |