Plugin Respondendo: mudanças entre as edições
De Pontão Nós Digitais
Ir para navegaçãoIr para pesquisar
mSem resumo de edição |
|||
| (3 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
| Linha 48: | Linha 48: | ||
===4) Um parâmetro de entrada=== | ===4) Um parâmetro de entrada=== | ||
<pre>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)])</pre> | |||
===5) Vários parâmetros de entrada=== | ===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: | |||
<pre> 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')])</pre> | |||
===X) Feito. Faça testes.=== | |||
O segundo commit do repositório contempla estas mudanças: | |||
$ git clone git://labmacambira.git.sourceforge.net/gitroot/labmacambira/supyTutorial | |||
[[Category:Lab Macambira]] | |||
Edição atual tal como às 23h07min de 10 de dezembro de 2011
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')])
X) Feito. Faça testes.
O segundo commit do repositório contempla estas mudanças:
$ git clone git://labmacambira.git.sourceforge.net/gitroot/labmacambira/supyTutorial