]>
jfr.im git - erebus.git/blob - modules/msg.py
1 # Erebus IRC bot - Author: Erebus Team
2 # vim: fileencoding=utf-8
3 # This file is released into the public domain; see http://unlicense.org/
7 'author': 'Erebus Team',
8 'license': 'public domain',
16 lib
= modlib
.modlib(__name__
)
17 modstart
= lib
.modstart
23 @lib.hook(('say','cmsg'), clevel
=lib
.OP
)
24 @lib.help('<message>', 'sends message to channel')
26 def say(bot
, user
, chan
, realtarget
, *args
):
27 chan
.msg(' '.join(args
))
30 def _getbot(bot
, user
, chan
, realtarget
, *args
):
32 if args
[0].startswith("#"):
33 target
= bot
.parent
.channel(args
[0])
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 bots
= list(bot
.parent
.bots
.values())
58 for i
in range(len(lines
)):
59 sender
= bots
[i
%len(bots
)]
60 mylen
= len(sender
.nick
)
62 sender
.fastmsg(args
[0], " "*padding
+ lines
[i
])