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使用datetime模块计算各种时间间隔的方法
Mar 24 Python
python动态网页批量爬取
Feb 14 Python
python实现12306火车票查询器
Apr 20 Python
Python中摘要算法MD5,SHA1简介及应用实例代码
Jan 09 Python
python爬虫获取淘宝天猫商品详细参数
Jun 23 Python
Python 使用with上下文实现计时功能
Mar 09 Python
python实现ID3决策树算法
Aug 29 Python
pybind11和numpy进行交互的方法
Jul 04 Python
使用 tf.nn.dynamic_rnn 展开时间维度方式
Jan 21 Python
Python实现列表索引批量删除的5种方法
Nov 16 Python
python 爬取吉首大学网站成绩单
Jun 02 Python
Python机器学习应用之基于线性判别模型的分类篇详解
Jan 18 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原创论坛
2006/10/09 PHP
PHP提取中文首字母
2008/04/09 PHP
PHP的substr_replace将指定两位置之间的字符替换为*号
2011/05/04 PHP
PHP通过插入mysql数据来实现多机互锁实例
2014/11/05 PHP
php生成酷炫的四个字符验证码
2016/04/22 PHP
PHP时间戳和日期相互转换操作实例小结
2018/12/18 PHP
详解PHP 二维数组排序保持键名不变
2019/03/06 PHP
javascript数组组合成字符串的脚本
2021/01/06 Javascript
jquery 实现表单验证功能代码(简洁)
2012/07/03 Javascript
js取得html iframe中的元素和变量值
2014/06/30 Javascript
jQuery使用slideUp方法实现控制元素缓慢收起
2015/03/27 Javascript
AngularJS基础 ng-mouseenter 指令示例代码
2016/08/02 Javascript
vue2 前端搜索实现示例
2018/02/26 Javascript
优雅的处理vue项目异常实战记录
2019/06/05 Javascript
使用vuex存储用户信息到localStorage的实例
2019/11/11 Javascript
解决vue单页面应用进入页面加载所有 js 的问题
2020/08/12 Javascript
vue中defineProperty和Proxy的区别详解
2020/11/30 Vue.js
浅析JavaScript中的事件委托机制跟深浅拷贝
2021/01/20 Javascript
[00:10]DOTA2全国高校联赛 以DOTA2会友
2018/05/30 DOTA
python使用三角迭代计算圆周率PI的方法
2015/03/20 Python
python机器学习理论与实战(六)支持向量机
2018/01/19 Python
关于keras中keras.layers.merge的用法说明
2020/05/23 Python
安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法
2020/08/18 Python
Python类型转换的魔术方法详解
2020/12/23 Python
Urban Outfitters英国官网:美国平价服饰品牌
2016/11/25 全球购物
人力资源管理专业应届生求职信
2013/09/28 职场文书
工程业务员工作职责
2013/12/07 职场文书
石油大学毕业生自荐信
2014/01/28 职场文书
端午节粽子促销活动方案
2014/02/02 职场文书
体育教师自我鉴定
2014/02/12 职场文书
晋江市委常委班子四风问题整改工作方案
2014/10/26 职场文书
高一数学教学反思
2016/02/18 职场文书
学习计划是什么
2019/04/30 职场文书
导游词之云南省玉龙雪山
2019/12/19 职场文书
python 三边测量定位的实现代码
2021/04/22 Python
关于pytest结合csv模块实现csv格式的数据驱动问题
2022/05/30 Python