Pass the raw class server instead of the name/index
This commit is contained in:
parent
db1e4e9266
commit
904a8b075d
@ -14,6 +14,9 @@
|
|||||||
# You should have received a copy of the GNU Affero General Public License
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
from nemubot.hooks import Abstract as AbstractHook
|
||||||
|
from nemubot.server.abstract import AbstractServer
|
||||||
|
|
||||||
class _ModuleContext:
|
class _ModuleContext:
|
||||||
|
|
||||||
def __init__(self, module=None):
|
def __init__(self, module=None):
|
||||||
@ -37,12 +40,10 @@ class _ModuleContext:
|
|||||||
return module_state.ModuleState("nemubotstate")
|
return module_state.ModuleState("nemubotstate")
|
||||||
|
|
||||||
def add_hook(self, hook, *triggers):
|
def add_hook(self, hook, *triggers):
|
||||||
from nemubot.hooks import Abstract as AbstractHook
|
|
||||||
assert isinstance(hook, AbstractHook), hook
|
assert isinstance(hook, AbstractHook), hook
|
||||||
self.hooks.append((triggers, hook))
|
self.hooks.append((triggers, hook))
|
||||||
|
|
||||||
def del_hook(self, hook, *triggers):
|
def del_hook(self, hook, *triggers):
|
||||||
from nemubot.hooks import Abstract as AbstractHook
|
|
||||||
assert isinstance(hook, AbstractHook), hook
|
assert isinstance(hook, AbstractHook), hook
|
||||||
self.hooks.remove((triggers, hook))
|
self.hooks.remove((triggers, hook))
|
||||||
|
|
||||||
@ -67,7 +68,9 @@ class _ModuleContext:
|
|||||||
self.context.datastore.save(self.module_name, self.data)
|
self.context.datastore.save(self.module_name, self.data)
|
||||||
|
|
||||||
def subparse(self, orig, cnt):
|
def subparse(self, orig, cnt):
|
||||||
if orig.server in self.context.servers:
|
if isinstance(orig.server, AbstractServer):
|
||||||
|
return orig.server.subparse(orig, cnt)
|
||||||
|
elif orig.server in self.context.servers:
|
||||||
return self.context.servers[orig.server].subparse(orig, cnt)
|
return self.context.servers[orig.server].subparse(orig, cnt)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@ -115,13 +118,11 @@ class ModuleContext(_ModuleContext):
|
|||||||
return self.context.datastore.load(self.module_name)
|
return self.context.datastore.load(self.module_name)
|
||||||
|
|
||||||
def add_hook(self, hook, *triggers):
|
def add_hook(self, hook, *triggers):
|
||||||
from nemubot.hooks import Abstract as AbstractHook
|
|
||||||
assert isinstance(hook, AbstractHook), hook
|
assert isinstance(hook, AbstractHook), hook
|
||||||
self.hooks.append((triggers, hook))
|
self.hooks.append((triggers, hook))
|
||||||
return self.context.treater.hm.add_hook(hook, *triggers)
|
return self.context.treater.hm.add_hook(hook, *triggers)
|
||||||
|
|
||||||
def del_hook(self, hook, *triggers):
|
def del_hook(self, hook, *triggers):
|
||||||
from nemubot.hooks import Abstract as AbstractHook
|
|
||||||
assert isinstance(hook, AbstractHook), hook
|
assert isinstance(hook, AbstractHook), hook
|
||||||
self.hooks.remove((triggers, hook))
|
self.hooks.remove((triggers, hook))
|
||||||
return self.context.treater.hm.del_hooks(*triggers, hook=hook)
|
return self.context.treater.hm.del_hooks(*triggers, hook=hook)
|
||||||
@ -136,7 +137,9 @@ class ModuleContext(_ModuleContext):
|
|||||||
return self.context.del_event(evt, module_src=self.module)
|
return self.context.del_event(evt, module_src=self.module)
|
||||||
|
|
||||||
def send_response(self, server, res):
|
def send_response(self, server, res):
|
||||||
if server in self.context.servers:
|
if isinstance(server, AbstractServer):
|
||||||
|
server.send_response(res)
|
||||||
|
elif server in self.context.servers:
|
||||||
if res.server is not None:
|
if res.server is not None:
|
||||||
return self.context.servers[res.server].send_response(res)
|
return self.context.servers[res.server].send_response(res)
|
||||||
else:
|
else:
|
||||||
|
@ -146,7 +146,7 @@ class IRC(Abstract):
|
|||||||
receivers = self.decode(self.params[0]).split(',')
|
receivers = self.decode(self.params[0]).split(',')
|
||||||
|
|
||||||
common_args = {
|
common_args = {
|
||||||
"server": srv.name,
|
"server": srv,
|
||||||
"date": self.tags["time"],
|
"date": self.tags["time"],
|
||||||
"to": receivers,
|
"to": receivers,
|
||||||
"to_response": [r if r != srv.nick else self.nick for r in receivers],
|
"to_response": [r if r != srv.nick else self.nick for r in receivers],
|
||||||
|
Loading…
x
Reference in New Issue
Block a user