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 相关文章推荐
详解Python3操作Mongodb简明易懂教程
May 25 Python
使用Python的Django和layim实现即时通讯的方法
May 25 Python
TensorFlow 合并/连接数组的方法
Jul 27 Python
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】
Dec 26 Python
python2和python3实现在图片上加汉字的方法
Aug 22 Python
利用 Flask 动态展示 Pyecharts 图表数据方法小结
Sep 04 Python
python实现删除列表中某个元素的3种方法
Jan 15 Python
新手学习Python2和Python3中print不同的用法
Jun 09 Python
python smtplib发送多个email联系人的实现
Oct 09 Python
Django contrib auth authenticate函数源码解析
Nov 12 Python
Pycharm如何自动生成头文件注释
Nov 14 Python
python OpenCV学习笔记
Mar 31 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
yii实现model添加默认值的方法(2种方法)
2016/01/06 PHP
thinkphp3.2实现跨控制器调用其他模块的方法
2017/03/14 PHP
JavaScript Event学习第十一章 按键的检测
2010/02/10 Javascript
关于在IE下的一个安全BUG --可用于跟踪用户的系统鼠标位置
2013/04/17 Javascript
JavaScript自执行闭包的小例子
2013/06/29 Javascript
JS.findElementById()使用介绍
2013/09/21 Javascript
js substring从右边获取指定长度字符串(示例代码)
2013/12/23 Javascript
jquery列表拖动排列(由项目提取相当好用)
2014/06/17 Javascript
jquery的attr方法禁用表单元素禁用输入内容
2014/06/23 Javascript
JavaScript使ifram跨域相互访问及与PHP通信的实例
2016/03/03 Javascript
bootstrap-wysiwyg结合ajax实现图片上传实时刷新功能
2016/05/27 Javascript
利用Chrome DevTools直接调试Node.js和JavaScript的方法详解(并行)
2017/02/16 Javascript
微信小程序picker组件下拉框选择input输入框的实例
2017/09/20 Javascript
vue实现密码显示隐藏切换功能
2018/02/23 Javascript
用vue2.0实现点击选中active其他选项互斥的效果
2018/04/12 Javascript
Vue 路由 过渡动效 数据获取方法
2018/07/31 Javascript
小程序实现抽奖动画
2020/04/16 Javascript
详解小程序循环require之坑
2019/03/08 Javascript
js设计模式之单例模式原理与用法详解
2019/08/15 Javascript
Vue+elementui 实现复杂表头和动态增加列的二维表格功能
2019/09/23 Javascript
微信小程序仿通讯录功能
2020/04/09 Javascript
梳理一下vue中的生命周期
2020/12/30 Vue.js
[00:43]TI7不朽珍藏III——幽鬼不朽展示
2017/07/15 DOTA
在Python中使用zlib模块进行数据压缩的教程
2015/06/26 Python
Python中操作mysql的pymysql模块详解
2016/09/13 Python
Tensorflow中使用tfrecord方式读取数据的方法
2018/06/19 Python
python 通过 socket 发送文件的实例代码
2018/08/14 Python
python字典一键多值实例代码分享
2019/06/14 Python
python celery分布式任务队列的使用详解
2019/07/08 Python
关于win10在tensorflow的安装及在pycharm中运行步骤详解
2020/03/16 Python
Python数据分析库pandas高级接口dt的使用详解
2020/12/11 Python
Html5 localStorage入门教程
2018/04/26 HTML / CSS
Html5自定义字体解决方法
2019/10/09 HTML / CSS
Original Penguin英国官方网站:美国著名休闲时装品牌
2016/10/30 全球购物
Myprotein芬兰官网:欧洲第一运动营养品牌
2019/05/05 全球购物
专业技术职务聘任证明
2015/03/02 职场文书