]> jfr.im git - irc/rizon/acid.git/blob - pyva/src/main/python/esim/cmd_private.py
Import acidictive 4 and pyva plugin
[irc/rizon/acid.git] / pyva / src / main / python / esim / cmd_private.py
1 from pseudoclient.cmd_manager import *
2 from datetime import datetime
3
4 def private_channel_request(self, manager, opts, arg, channel, sender):
5 if self.channels.is_valid(arg):
6 self.msg(channel, "I'm already in @b%s@b." % arg)
7 elif self.channels.is_banned(arg):
8 chan = self.channels[arg]
9 self.elog.request('Request for banned channel @b%s@b from @b%s@b.' % (arg, sender))
10 message = 'Request failed, channel @b%s@b was banned by @b%s@b.' % (arg, chan.ban_source)
11
12 if chan.ban_reason != None:
13 message += ' Reason: @b%s@b.' % chan.ban_reason
14
15 if chan.ban_expiry != None:
16 message += ' Expires: @b%s@b.' % datetime.fromtimestamp(chan.ban_expiry)
17
18 self.msg(channel, message)
19 self.msg(channel, 'Please email @c3mink@rizon.net@o to appeal.')
20 else:
21 self.auth.request(sender, arg, 'request')
22
23 def private_channel_remove(self, manager, opts, arg, channel, sender):
24 if not self.channels.is_valid(arg):
25 self.msg(channel, "I'm not in @b%s@b." % arg)
26 else:
27 self.auth.request(sender, arg, 'remove')
28
29 def private_channel_highlight_enable(self, manager, opts, arg, channel, sender):
30 if not self.channels.is_valid(arg):
31 self.msg(channel, "I'm not in @b%s@b." % arg)
32 else:
33 self.auth.request(sender, arg, 'highlight')
34
35 def private_channel_highlight_disable(self, manager, opts, arg, channel, sender):
36 if not self.channels.is_valid(arg):
37 self.msg(channel, "I'm not in @b%s@b." % arg)
38 else:
39 self.auth.request(sender, arg, 'nohighlight')
40
41 def private_help(self, manager, opts, arg, channel, sender):
42 command = arg.lower()
43
44 if command == '':
45 message = manager.get_help()
46 else:
47 message = manager.get_help(command)
48
49 if message == None:
50 message = ['%s is not a valid command.' % arg]
51
52 for line in message:
53 self.msg(channel, line)
54
55 class PrivateCommandManager(CommandManager):
56 def get_prefix(self):
57 return ''
58
59 def get_invalid(self):
60 return 'Invalid message. Say help for a list of valid messages.'
61
62 def get_commands(self):
63 return {
64 'request': (private_channel_request, ARG_YES|ARG_OFFLINE, 'requests a channel (must be founder)', [], '#channel'),
65 'remove': (private_channel_remove, ARG_YES|ARG_OFFLINE, 'removes a channel (must be founder)', [], '#channel'),
66 'highlight': (private_channel_highlight_enable, ARG_YES|ARG_OFFLINE, 'enables mass highlighting on the channel (must be founder)', [], '#channel'),
67 'nohighlight': (private_channel_highlight_disable, ARG_YES|ARG_OFFLINE, 'disables mass highlighting on the channel (must be founder)', [], '#channel'),
68 'hi': 'help',
69 'hello': 'help',
70 'help': (private_help, ARG_OPT, 'displays help text', []),
71 }