12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- #! /usr/bin/env python
- #
- # Example program using irclib.py.
- #
- # This program is free without restrictions; do anything you like with
- # it.
- #
- # Joel Rosdahl <joel@rosdahl.net>
-
- import irclib
- import sys
-
- class IRCCat(irclib.SimpleIRCClient):
- def __init__(self, target):
- irclib.SimpleIRCClient.__init__(self)
- self.target = target
-
- def on_welcome(self, connection, event):
- if irclib.is_channel(self.target):
- connection.join(self.target)
- else:
- self.send_it()
-
- def on_join(self, connection, event):
- self.send_it()
-
- def on_disconnect(self, connection, event):
- sys.exit(0)
-
- def send_it(self):
- while 1:
- line = sys.stdin.readline()
- if not line:
- break
- self.connection.privmsg(self.target, line)
- self.connection.quit("Using irclib.py")
-
- def main():
- if len(sys.argv) != 4:
- print "Usage: irccat2 <server[:port]> <nickname> <target>"
- print "\ntarget is a nickname or a channel."
- sys.exit(1)
-
- s = sys.argv[1].split(":", 1)
- server = s[0]
- if len(s) == 2:
- try:
- port = int(s[1])
- except ValueError:
- print "Error: Erroneous port."
- sys.exit(1)
- else:
- port = 6667
- nickname = sys.argv[2]
- target = sys.argv[3]
-
- c = IRCCat(target)
- try:
- c.connect(server, port, nickname)
- except irclib.ServerConnectionError, x:
- print x
- sys.exit(1)
- c.start()
-
- if __name__ == "__main__":
- main()
|