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查找目录下指定扩展名的文件实例

本文实例讲述了python查找目录下指定扩展名的文件。分享给大家供大家参考。具体如下: 这里使用python查找当前目录下的扩展名为.txt的文件 import os items =...

python素数筛选法浅析

python素数筛选法浅析

原理:   素数,指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。在加密应用中起重要的位置,比如广为人知的RSA算法中,就是基于大整数的因式分解难题,寻找两个超...

Python中 传递值 和 传递引用 的区别解析

Python中 传递值 和 传递引用 的区别解析

对于不可变类型传递值(不会影响原数据)   不可变类型 对于可变类型传递引用(会影响原数据)   不可变类型传递引用 python3不可变类型 Number(数...

Python实现FTP弱口令扫描器的方法示例

Python实现FTP弱口令扫描器的方法示例

FTP服务器 FTP服务器是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。FTP是File Transfer Protocol(文件传输协议)的缩写。顾名思义,...

tensorflow实现测试时读取任意指定的check point的网络参数

tensorflow在训练时会保存三个文件, model.ckpt-xxx.data-00000-of-00001 model.ckpt-xxx.index model.ckpt-x...