You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1019 B
46 lines
1019 B
14 years ago
|
#!/usr/bin/python
|
||
|
"""Example bot for oyoyo that responds to !say"""
|
||
|
|
||
|
import logging
|
||
|
import re
|
||
|
|
||
|
from oyoyo.client import IRCClient
|
||
|
from oyoyo.cmdhandler import DefaultCommandHandler
|
||
|
from oyoyo import helpers
|
||
|
|
||
|
|
||
|
HOST = 'irc.freenode.net'
|
||
|
PORT = 6667
|
||
|
NICK = 'oyoyo-example'
|
||
|
CHANNEL = '#oyoyo-test'
|
||
|
|
||
|
|
||
|
class MyHandler(DefaultCommandHandler):
|
||
|
def privmsg(self, nick, chan, msg):
|
||
|
msg = msg.decode()
|
||
|
match = re.match('\!say (.*)', msg)
|
||
|
if match:
|
||
|
to_say = match.group(1).strip()
|
||
|
print(('Saying, "%s"' % to_say))
|
||
|
helpers.msg(self.client, chan, to_say)
|
||
|
|
||
|
|
||
|
def connect_cb(cli):
|
||
|
helpers.join(cli, CHANNEL)
|
||
|
|
||
|
|
||
|
def main():
|
||
|
logging.basicConfig(level=logging.DEBUG)
|
||
|
|
||
|
cli = IRCClient(MyHandler, host=HOST, port=PORT, nick=NICK,
|
||
|
connect_cb=connect_cb)
|
||
|
conn = cli.connect()
|
||
|
|
||
|
while True:
|
||
|
next(conn) ## python 2
|
||
|
# next(conn) ## python 3
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
main()
|