python简单实现基于SSL的IRC bot实例

yipeiwu_com6年前Python基础

本文实例讲述了python简单实现基于SSL的 IRC bot。分享给大家供大家参考。具体如下:

#!/usr/bin/python
# -*- coding: utf8 -*-
import socket, string, time, ssl
import urllib, re
network = 'irc.server.net'
nick = 'nickname'
chan = 'bot'
port = 6697
socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
def main(network, nick, chan, port):
  socket.connect((network,port))
  irc = ssl.wrap_socket(socket)
  irc.send('NICK %s\r\n' % nick)
  print irc.recv(4096)
  irc.send('USER %s %s %s :My bot\r\n' % (nick,nick,nick))
  print irc.recv(4096)
  irc.send('JOIN #%s\r\n' % chan)
  print irc.recv(4096)
  while True:
    data = irc.recv(4096)
    print data
    if data.find('PING') != -1:
      irc.send('PONG '+data.split()[1]+'\r\n')
    if data.find('!gtfo\r\n') != -1:
      irc.send('QUIT\r\n')
      exit()
    print data
if __name__=='__main__':
  main(network, nick, chan, port)

希望本文所述对大家的Python程序设计有所帮助。

相关文章

python mysqldb连接数据库

没办法就下了一个2.6,如果用2.4就太低了,又折腾了,半天找到了MySQL-python-1.2.2.win32-py2.6.exe 这个安装文件,安装完成,执行 import MyS...

Python tensorflow实现mnist手写数字识别示例【非卷积与卷积实现】

本文实例讲述了Python tensorflow实现mnist手写数字识别。分享给大家供大家参考,具体如下: 非卷积实现 import tensorflow as tf from t...

python根据文件大小打log日志

本文实例讲述了python根据文件大小打log日志的方法,分享给大家供大家参考。具体方法如下: import glob import logging import logging...

在django中图片上传的格式校验及大小方法

如下所示: Uploadfiles = request.FILES.get('参数', '') for i in Uploadfiles : # 图片大小的属性 i...

python脚本实现统计日志文件中的ip访问次数代码分享

适用的日志格式: 106.45.185.214 - - [06/Aug/2014:07:38:59 +0800] "GET / HTTP/1.0" 200 10 "-" "-" 1...