Commit ab2990f8 authored by Mindiell's avatar Mindiell

Added help message if bot is not op on the chan.

parent d758dbce
......@@ -97,4 +97,13 @@ messages = {
"new_starter":
"""Afin d'éviter des commandes prises en compte par plusieurs bots, il est désormais fortement conseillé d'utiliser des commandes commençant par '~', merci.""",
"please_op":
"""%s j'ai besoin d'être op pour modifier le topic, ne m'oubliez pas s'il vous plait !""",
"oped":
"""Merci %s <3""",
"deoped":
"""Vilain %s )o;""",
}
......@@ -4,13 +4,6 @@ Bot Wantzel from La Quadrature du Net.
License : AGPLv3
Doc : https://wiki.laquadrature.net/Wantzel
TODO:
- Ajouter des commandes permettant de gérer le mediakit (moderators only)
- Parser les urls et voir ce qu'on peut faire:
- upload de vidéo
- tag de vidéo
- obtenir un lien vers une vidéo
"""
import re
......@@ -180,6 +173,7 @@ class Wantzel(object):
self.rp_to_twitter("http://www.laquadrature.net/fr/revue-de-presse/feed")
self.rp_to_twitter("http://www.laquadrature.net/en/press-review/feed")
self.count_articles()
self.op_verification()
# Recalling the timer
reactor.callLater(config.timer, self.timer)
......@@ -188,6 +182,38 @@ class Wantzel(object):
This method set the methods to call for each callback received from IRC.
"""
self.irc.client.privmsg = self.on_privmsg
self.irc.client.irc_unknown = self.test_unknown
self.irc.client.modeChanged = self.mode_changed
def test_unknown(self, prefix, command, params):
Utils.debug("UNKNOWN %s %s %s" % (prefix, command, params))
if command=="RPL_NAMREPLY":
self.names(params)
def op_verification(self):
"""
Verify if wantzel is chan operator, if not it complains on the chan <3.
"""
Utils.debug("op_verification method")
# On liste les utilisateurs du canal de la rp
self.irc.client.sendLine("NAMES #lqdn-rp")
def mode_changed(self, user, channel, flag_set, modes, args):
Utils.debug("Mode changed : %s %s %s %s %s" % (user, channel, flag_set, modes, args))
if "o" in modes:
# Cleaning user name
user = re.search("([^!]*)!", user).group(1)
if flag_set:
self.send_message(channel, messages["oped"] % user)
else:
self.send_message(channel, messages["deoped"] % user)
def names(self, params):
Utils.debug("Names : %s" % params)
if params[2]=="#lqdn-rp":
ops = [user[1:] for user in params[3].split() if user[0]=="@"]
if "@"+self.irc.client.nickname not in params[3]:
self.send_message(params[2], messages["please_op"] % ", ".join(ops))
def send_message(self, channel, multiline_message):
"""
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment