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的Twisted框架中使用Deferred对象来管理回调函数
May 25 Python
python机器学习理论与实战(一)K近邻法
Jan 28 Python
python实现简单神经网络算法
Mar 10 Python
单利模式及python实现方式详解
Mar 20 Python
Linux下python3.6.1环境配置教程
Sep 26 Python
使用python PIL库实现简单验证码的去噪方法步骤
May 10 Python
Django中在xadmin中集成DjangoUeditor过程详解
Jul 24 Python
python操作excel让工作自动化
Aug 09 Python
Python 经典算法100及解析(小结)
Sep 13 Python
keras获得某一层或者某层权重的输出实例
Jan 24 Python
在tensorflow中实现屏蔽输出的log信息
Feb 04 Python
python使用matplotlib的savefig保存时图片保存不完整的问题
Jan 08 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桌面中心(三) 修改数据库
2007/03/11 PHP
ThinkPHP框架搭建及常见问题(XAMPP安装失败、Apache/MySQL启动失败)
2016/04/15 PHP
手把手编写PHP框架 深入了解MVC运行流程
2016/09/19 PHP
PHP实现上传多图即时显示与即时删除的方法
2017/05/09 PHP
php封装一个异常的处理类
2017/06/08 PHP
php-fpm开启状态统计的方法详解
2017/06/23 PHP
分享精心挑选的23款美轮美奂的jQuery 图片特效插件
2012/08/14 Javascript
Extjs NumberField后面加单位实现思路
2013/07/30 Javascript
js返回上一页并刷新的多种实现方法
2014/02/26 Javascript
浅析JS操作DOM的一些常用方法
2016/05/13 Javascript
浅谈jquery采用attr修改form表单enctype不起作用的问题
2016/11/25 Javascript
Avalonjs 实现简单购物车功能(实例代码)
2017/02/07 Javascript
jQuery基本选择器和层次选择器学习使用
2017/02/27 Javascript
详解webpack解惑:require的五种用法
2017/06/09 Javascript
jquery.rotate.js实现可选抽奖次数和中奖内容的转盘抽奖代码
2017/08/23 jQuery
vue的无缝滚动组件vue-seamless-scroll实例
2017/12/18 Javascript
快速解决处理后台返回json数据格式的问题
2018/08/07 Javascript
如何为你的JavaScript代码日志着色详解
2019/04/08 Javascript
Vue 401配合Vuex防止多次弹框的案例
2020/11/11 Javascript
Django小白教程之Django用户注册与登录
2016/04/22 Python
Python编程flask使用页面模版的方法
2018/12/28 Python
Python中的枚举类型示例介绍
2019/01/09 Python
使用python opencv对目录下图片进行去重的方法
2019/01/12 Python
Python作用域与名字空间原理详解
2020/03/21 Python
面向新手解析python Beautiful Soup基本用法
2020/07/11 Python
Mytheresa英国官网:拥有160多个奢侈品品牌
2016/10/09 全球购物
Eyeko美国:屡获殊荣的睫毛膏、眼线笔和眉妆
2018/07/05 全球购物
Conforama瑞士:家具、厨房、电器、装饰
2020/09/06 全球购物
数控技术应用个人求职信范文
2014/02/03 职场文书
上党课的心得体会
2014/09/02 职场文书
幼儿园庆元旦主持词
2015/07/06 职场文书
中学校园广播稿
2015/08/18 职场文书
2016高三毕业赠言寄语
2015/12/04 职场文书
倡议书怎么写?
2019/04/11 职场文书
springboot集成flyway自动创表的详细配置
2021/06/26 Java/Android
mysql 子查询的使用
2022/04/28 MySQL