Fix !help

This commit is contained in:
Némunaire 2012-09-02 18:41:20 +02:00
parent af3ec01734
commit d152ce71bd

View File

@ -239,33 +239,49 @@ class Message:
except ValueError:
self.cmd = self.content[1:].split(' ')
if self.cmd[0] == "help":
if len (self.cmd) > 1:
if self.cmd[1] in mods:
try:
self.send_snd(mods[self.cmd[1]].help_full ())
except AttributeError:
self.send_snd("No help for command %s" % self.cmd[1])
res = Response(self.sender)
if len(self.cmd) > 1:
if self.cmd[1] in self.srv.context.modules:
if len(self.cmd) > 2:
if hasattr(self.srv.context.modules[self.cmd[1]], "HELP_cmd"):
res.append_message(self.srv.context.modules[self.cmd[1]].HELP_cmd(self, self.cmd[2]))
else:
res.append_message("No help for command %s in module %s" % (self.cmd[2], self.cmd[1]))
elif hasattr(self.srv.context.modules[self.cmd[1]], "help_full"):
res.append_message(self.srv.context.modules[self.cmd[1]].help_full())
else:
res.append_message("No help for module %s" % self.cmd[1])
else:
res.append_message("No module named %s" % self.cmd[1])
else:
self.send_snd("No help for command %s" % self.cmd[1])
else:
self.send_snd("Pour me demander quelque chose, commencez votre message par mon nom ; je réagis à certain messages commençant par !, consulter l'aide de chaque module :")
for im in mods:
try:
self.send_snd(" - !help %s: %s" % (im.name, im.help_tiny ()))
except AttributeError:
continue
res.append_message("Pour me demander quelque chose, commencez "
"votre message par mon nom ; je réagis "
"également à certaine commandes commençant par"
" !. Pour plus d'informations, envoyez le "
"message \"!more\".")
res.append_message("Mon code source est libre, publié sous "
"licence AGPL (http://www.gnu.org/licenses/). "
"Vous pouvez le consulter, le dupliquer, "
"envoyer des rapports de bogues ou bien "
"contribuer au projet sur GitHub : "
"http://github.com/nemunaire/nemubot/")
res.append_message(title="Pour plus de détails sur un module, "
"envoyez \"!help nomdumodule\". Voici la liste"
" de tous les modules disponibles localement",
message=["\x03\x02%s\x03\x02 (%s)" % (im, self.srv.context.modules[im].help_tiny ()) for im in self.srv.context.modules if hasattr(self.srv.context.modules[im], "help_tiny")])
return res
elif self.cmd[0] == "more":
if self.channel == self.srv.nick:
if self.nick in self.srv.moremessages:
if self.sender in self.srv.moremessages:
return self.srv.moremessages[self.sender]
else:
if self.channel in self.srv.moremessages:
return self.srv.moremessages[self.channel]
elif self.cmd[0] == "dcctest":
elif self.cmd[0] == "dcc":
print("dcctest for", self.sender)
self.srv.send_dcc("Test DCC", self.sender)
self.srv.send_dcc("Hello %s!" % self.nick, self.sender)
elif self.cmd[0] == "pvdcctest":
print("dcctest")
return Response(self.sender, message="Test DCC")