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 base64 decode incorrect padding错误解决方法
Jan 08 Python
python 巧用正则寻找字符串中的特定字符的位置方法
May 02 Python
终端命令查看TensorFlow版本号及路径的方法
Jun 13 Python
Python/ArcPy遍历指定目录中的MDB文件方法
Oct 27 Python
python之验证码生成(gvcode与captcha)
Jan 02 Python
python实现向微信用户发送每日一句 python实现微信聊天机器人
Mar 27 Python
Python实现的银行系统模拟程序完整案例
Apr 12 Python
wxPython之wx.DC绘制形状
Nov 19 Python
opencv中图像叠加/图像融合/按位操作的实现
Apr 01 Python
Python join()函数原理及使用方法
Nov 14 Python
Selenium Webdriver元素定位的八种常用方式(小结)
Jan 13 Python
用Python编写简单的gRPC服务的详细过程
Jul 04 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
教你IIS6的PHP最佳配置方法
2006/09/05 PHP
PHP5.2下chunk_split()函数整数溢出漏洞 分析
2007/06/06 PHP
yii2.0使用Plupload实现带缩放功能的多图上传
2015/12/22 PHP
php基于单例模式封装mysql类完整实例
2016/10/18 PHP
PHP生成word文档的三种实现方式
2016/11/14 PHP
Laravel统计一段时间间隔的数据方法
2019/10/09 PHP
使用js获取QueryString的方法小结
2010/02/28 Javascript
JS 去除Array中的null值示例代码
2013/11/20 Javascript
用Jquery.load载入页面后样式没了页面混乱的解决方法
2014/10/20 Javascript
javascript 秒表计时器实现代码
2017/03/09 Javascript
vue.js如何更改默认端口号8080为指定端口的方法
2017/07/14 Javascript
JS库particles.js创建超炫背景粒子插件(附源码下载)
2017/09/13 Javascript
在vue中实现简单页面逆传值的方法
2017/11/27 Javascript
Vue路由前后端设计总结
2019/08/06 Javascript
vue与iframe之间的信息交互的实现
2020/04/08 Javascript
Vue实现Layui的集成方法步骤
2020/04/10 Javascript
jQuery实现移动端图片上传预览组件的方法分析
2020/05/01 jQuery
详解element-ui 表单校验 Rules 配置 常用黑科技
2020/07/11 Javascript
Vue为什么要谨慎使用$attrs与$listeners
2020/08/27 Javascript
[01:38]2018DOTA2亚洲邀请赛主赛事第二日现场采访 神秘商人痛陈生计不易
2018/04/05 DOTA
python中字符串类型json操作的注意事项
2017/05/02 Python
Python爬豆瓣电影实例
2018/02/23 Python
Python 实现简单的客户端认证
2020/07/29 Python
全球知名旅游社区法国站点:TripAdvisor法国
2016/08/03 全球购物
英国百安居装饰建材网上超市:B&Q
2016/09/13 全球购物
Sunglasses Shop丹麦:欧洲第一的太阳镜在线销售网站
2017/10/22 全球购物
中东地区为妈妈们提供一切的头号购物目的地:Sprii
2018/05/06 全球购物
程序员跳槽必看面试题总结
2013/06/28 面试题
纪念建党演讲稿范文
2014/01/13 职场文书
社会学专业学生职业规划书
2014/02/07 职场文书
发展党员工作情况汇报
2014/10/28 职场文书
企业反腐倡廉心得体会
2015/08/15 职场文书
从贫穷到富有,是知识技能和学习力的差别
2019/08/20 职场文书
python爬取某网站原图作为壁纸
2021/06/02 Python
mysql如何配置白名单访问
2021/06/30 MySQL
Python实现老照片修复之上色小技巧
2021/10/16 Python