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实现的去除win下文本文件头部BOM的代码
Feb 10 Python
Python导出数据到Excel可读取的CSV文件的方法
May 12 Python
Python的Twisted框架上手前所必须了解的异步编程思想
May 25 Python
Python爬虫实例爬取网站搞笑段子
Nov 08 Python
用TensorFlow实现戴明回归算法的示例
May 02 Python
Python爬虫包BeautifulSoup异常处理(二)
Jun 17 Python
PyTorch之图像和Tensor填充的实例
Aug 18 Python
Python timeit模块的使用实践
Jan 13 Python
python使用openCV遍历文件夹里所有视频文件并保存成图片
Jan 14 Python
keras分类模型中的输入数据与标签的维度实例
Jul 03 Python
使用Python拟合函数曲线
Apr 14 Python
Python实现仓库管理系统
May 30 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支持中文字符串分割的函数
2015/05/28 PHP
PHP基于文件存储实现缓存的方法
2015/07/20 PHP
thinkPHP实现将excel导入到数据库中的方法
2016/04/22 PHP
ThinkPHP中调用PHPExcel的实现代码
2017/04/08 PHP
PDO::errorInfo讲解
2019/01/28 PHP
jQuery 源码分析笔记(2) 变量列表
2011/05/28 Javascript
web基于浏览器的本地存储方法应用
2012/11/27 Javascript
setInterval计时器不准的问题解决方法
2014/05/08 Javascript
使用documentElement正确取得当前可见区域的大小
2014/07/25 Javascript
jQuery中prependTo()方法用法实例
2015/01/08 Javascript
AngularJS学习笔记之TodoMVC的分析
2015/02/22 Javascript
第三章之Bootstrap 表格与按钮功能
2016/04/25 Javascript
javascript运算符——逻辑运算符全面解析
2016/06/27 Javascript
javascript 判断用户有没有操作页面
2017/10/17 Javascript
基于bootstrap写的一点localStorage本地储存
2017/11/21 Javascript
AngularJS中重新加载当前路由页面的方法
2018/03/09 Javascript
Vue刷新修改页面中数据的方法
2018/09/16 Javascript
详解微信小程序开发用户授权登陆
2019/04/24 Javascript
解决antd 表单设置默认值initialValue后验证失效的问题
2020/11/02 Javascript
jQuery实现电梯导航模块
2020/12/22 jQuery
老生常谈python函数参数的区别(必看篇)
2017/05/29 Python
windows下Python实现将pdf文件转化为png格式图片的方法
2017/07/21 Python
Python实现的概率分布运算操作示例
2017/08/14 Python
Python3中lambda表达式与函数式编程讲解
2019/01/14 Python
numpy.random模块用法总结
2019/05/27 Python
TUMI马来西亚官方网站:国际领先的高品质商旅箱包品牌
2018/04/26 全球购物
Banana Republic欧盟:美国都市简约风格的代表品牌
2018/05/09 全球购物
Surfdome西班牙:世界上最受欢迎的生活方式品牌
2019/02/13 全球购物
Java面试题:说出如下代码的执行结果
2015/10/30 面试题
成功的酒店创业计划书
2013/12/27 职场文书
《乌鸦和狐狸》教学反思
2014/02/08 职场文书
禁毒宣传标语
2014/06/19 职场文书
带香烟到学校抽的检讨书
2014/09/25 职场文书
培训心得体会怎么写
2016/01/25 职场文书
浅谈redis五大数据结构和使用场景
2021/04/12 Redis
ubuntu安装jupyter并设置远程访问的实现
2022/03/31 Python