Plugin Respondendo
De Pontão Nós Digitais
Ir para navegaçãoIr para pesquisar
Do final do microtutorial anterior,
1) arrume o arquivo plugins/Minimum/plugin.py
Para que a classe Minimum, herdeira de callbacks.Plugin, fique assim (basta adicionar poucas linhas à classe que já vem por padrão no plugin wizard):
class Minimum(callbacks.Plugin): """The minimum a plugin must have to respond.""" def respond(self, irc, msg, args): """Gives a response when called""" irc.reply("This is my personal response. Eh aqui que eu respondo.") respond = wrap(respond)
2) Faça-o responder utilizando módulos da instalação Python
No próprio plugin.py, basta importar o módulo e fazer a função na classe:
import random class Minimum(callbacks.Plugin): """The minimum a plugin must have to respond.""" def rand01(self,irc,msg,args): """Return 0-1 random float value """ irc.reply(str(random.random())) def respond(self, irc, msg, args): """Gives a response when called""" irc.reply("This is my personal response. Eh aqui que eu respondo.") respond = wrap(respond)
3) Inicie o bot e use o plugin
22:57 < o0o0o> coBot205: unload Minimum 22:57 < coBot205> o0o0o: The operation succeeded. 22:57 < o0o0o> coBot205: load Minimum 22:57 < coBot205> o0o0o: The operation succeeded. 22:57 < o0o0o> coBot205: list minimum 22:57 < coBot205> o0o0o: rand01 and respond 22:57 < o0o0o> coBot205: rand01 22:57 < coBot205> o0o0o: 0.0833759026193 22:57 < o0o0o> coBot205: rand01 22:57 < coBot205> o0o0o: 0.121191466542 22:57 < o0o0o> coBot205: respond 22:57 < coBot205> o0o0o: This is my personal response. Eh aqui que eu respondo.
4) Um parâmetro de entrada
class Minimum(callbacks.Plugin): """The minimum a plugin must have to respond.""" def oneparam(self, irc, msg, args, n): """[<numero de elementos>] Returns a list with <number of elements>""" irc.reply(str(range(n))) oneparam = wrap(oneparam, [additional(('int', 'number of elements'), 5)])
5) Vários parâmetros de entrada
Neste caso, o primeiro parâmetro é do tipo especificado. Os parâmetros seguintes são agrupados na forma de uma lista de strings. Portanto:
def someparams(self, irc, msg, args, n, m): """[<numero de elementos> <numero de elementos2>] Returns lists with gine lengths""" #irc.reply(str( range(n)+range(m[1]))) lists= str(range(n)) # first argument is of the type desired for element in m: lists += str(range(int(element))) # Because m is a list of strings irc.reply(lists) someparams = wrap(someparams, ['int',many('anything')])