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


Posted in Python onJune 15, 2015

本文实例讲述了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实现list反转实例汇总
Nov 11 Python
python实现获取客户机上指定文件并传输到服务器的方法
Mar 16 Python
python中__call__内置函数用法实例
Jun 04 Python
Python实现计算最小编辑距离
Mar 17 Python
python进阶_浅谈面向对象进阶
Aug 17 Python
Python FTP两个文件夹间的同步实例代码
May 25 Python
python 批量修改/替换数据的实例
Jul 25 Python
python pygame实现挡板弹球游戏
Nov 25 Python
Pytorch数据拼接与拆分操作实现图解
Apr 30 Python
Python学习之os模块及用法
Jun 03 Python
Keras之自定义损失(loss)函数用法说明
Jun 10 Python
Python爬取你好李焕英豆瓣短评生成词云的示例代码
Feb 24 Python
Python中datetime常用时间处理方法
Jun 15 #Python
Python实现简单截取中文字符串的方法
Jun 15 #Python
构建Python包的五个简单准则简介
Jun 15 #Python
Python中文字符串截取问题
Jun 15 #Python
python获取mp3文件信息的方法
Jun 15 #Python
python实现批量下载新浪博客的方法
Jun 15 #Python
深入理解Python中各种方法的运作原理
Jun 15 #Python
You might like
php准确获取文件MIME类型的方法
2015/06/17 PHP
PHP实现对png图像进行缩放的方法(支持透明背景)
2015/07/15 PHP
PHP如何实现Unicode和Utf-8编码相互转换
2015/07/29 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
如何简单地用YUI做JavaScript动画
2007/03/10 Javascript
js写的评论分页(还不错)
2013/12/23 Javascript
javascript中的五种基本数据类型
2015/08/26 Javascript
angular.js指令中的controller、compile与link函数的不同之处
2017/05/10 Javascript
利用node.js实现自动生成前端项目组件的方法详解
2017/07/12 Javascript
红黑树的插入详解及Javascript实现方法示例
2018/03/26 Javascript
使用vue 国际化i18n 实现多实现语言切换功能
2018/10/11 Javascript
Electron vue的使用教程图文详解
2019/07/05 Javascript
使用vue编写h5公众号跳转小程序的实现代码
2020/11/27 Vue.js
Java 生成随机字符的示例代码
2021/01/13 Javascript
jquery实现广告上下滚动效果
2021/03/04 jQuery
[48:44]2014 DOTA2国际邀请赛中国区预选赛5.21 TongFu VS HGT
2014/05/22 DOTA
[02:20]DOTA2亚洲邀请赛 EHOME战队出场宣传片
2015/02/07 DOTA
[14:03]2017DOTA2亚洲邀请赛开幕式:12神兵演绎水墨中华
2017/04/01 DOTA
[49:27]LGD vs OG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[04:45]DOTA2-DPC中国联赛正赛 iG vs LBZS 赛后选手采访
2021/03/11 DOTA
利用ctypes提高Python的执行速度
2016/09/09 Python
利用python求相邻数的方法示例
2017/08/18 Python
使用python的pandas为你的股票绘制趋势图
2019/06/26 Python
将python运行结果保存至本地文件中的示例讲解
2019/07/11 Python
python 使用while写猜年龄小游戏过程解析
2019/10/07 Python
在pytorch中实现只让指定变量向后传播梯度
2020/02/29 Python
Python xlwt模块使用代码实例
2020/06/10 Python
亚瑟士美国官网:ASICS美国
2017/02/01 全球购物
Dodax奥地利:音乐、电影、书籍、玩具、电子产品等
2019/08/31 全球购物
如何理解委托
2012/01/06 面试题
当x.equals(y)等于true时,x.hashCode()与y.hashCode()可以不相等,这句话对不对
2015/05/02 面试题
给民警的表扬信
2014/01/08 职场文书
公积金转移接收函
2014/01/11 职场文书
六年级学生评语
2014/04/22 职场文书
实习感想范文
2015/08/10 职场文书
正确使用MySQL update语句
2021/05/26 MySQL