]>
jfr.im git - erebus.git/blob - modules/msg.py
1 # Erebus IRC bot - Author: Erebus Team
2 # This file is released into the public domain; see http://unlicense.org/
6 'author': 'Erebus Team',
7 'license': 'public domain',
15 lib
= modlib
.modlib(__name__
)
16 modstart
= lib
.modstart
22 @lib.hook(clevel
=lib
.OP
)
23 @lib.help('<message>', 'sends message to channel')
25 def cmsg(bot
, user
, chan
, realtarget
, *args
):
26 chan
.msg(' '.join(args
))
29 def _getbot(bot
, user
, chan
, realtarget
, *args
):
31 if args
[0].startswith("#"):
32 target
= bot
.parent
.channel(args
[0])
33 if target
is not None:
37 sendbot
= bot
.parent
.randbot()
38 return (target
, sendbot
)
40 @lib.hook(glevel
=lib
.STAFF
, needchan
=False)
41 @lib.help('<target> <message>', 'send message to target')
43 def msg(bot
, user
, chan
, realtarget
, *args
):
44 target
, sendbot
= _getbot(bot
, user
, chan
, realtarget
, *args
)
45 sendbot
.msg(target
, ' '.join(args
[1:]))
47 @lib.hook(glevel
=lib
.STAFF
, needchan
=False)
48 @lib.help('<target> <message>', 'send message to target as PRIVMSG')
49 def pmsg(bot
, user
, chan
, realtarget
, *args
):
50 target
, sendbot
= _getbot(bot
, user
, chan
, realtarget
, *args
)
51 sendbot
.conn
.send("PRIVMSG %s :%s" % (args
[0], ' '.join(args
[1:])))
53 @lib.hook(glevel
=lib
.MANAGER
, needchan
=False)
55 def moo(bot
, user
, chan
, realtarget
, *args
):
56 lines
= [' .= , =.', " _ _ /'/ )\\,/,/(_ \\ \\", ' `//-.| ( ,\\\\)\\//\\)\\/_ ) |', " //___\\ `\\\\\\/\\\\/\\/\\\\///' /", ',-"~`-._ `"--\'_ `"""` _ \\`\'"~-,_', '\\ `-. \'_`. .\'_` \\ ,-"~`/', " `.__.-'`/ (-\\ /-) |-.__,'", ' || | \\O) /^\\ (O/ |', ' `\\\\ | / `\\ /', ' \\\\ \\ / `\\ /', " `\\\\ `-. /' .---.--.\\", " `\\\\/`~(, '() ('", ' /(O) \\\\ _,.-.,_)', " // \\\\ `\\'` /", ' / | || `""""~"`', " /' |__||", ' `o']
57 for i
in range(len(lines
)):
58 sender
= bot
.parent
.bots
.values()[i
%len(bot
.parent
.bots
.values())]
59 mylen
= len(sender
.nick
)
61 sender
.fastmsg(args
[0], " "*padding
+ lines
[i
])