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可跨平台实现获取按键的方法
Mar 05 Python
Python遍历目录并批量更换文件名和目录名的方法
Sep 19 Python
python中计算一个列表中连续相同的元素个数方法
Jun 29 Python
对PyQt5中树结构的实现方法详解
Jun 17 Python
Python 文件数据读写的具体实现
Jan 24 Python
基于Python获取docx/doc文件内容代码解析
Feb 17 Python
Python爬虫:Request Payload和Form Data的简单区别说明
Apr 30 Python
Python reduce函数作用及实例解析
May 08 Python
python实现批量转换图片为黑白
Jun 16 Python
Python使用requests模块爬取百度翻译
Aug 25 Python
VSCode中autopep8无法运行问题解决方案(提示Error: Command failed,usage)
Mar 02 Python
Python 居然可以在 Excel 中画画你知道吗
Feb 15 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
解决dede生成静态页和动态页转换的一些问题,及火车采集入库生成动态的办法
2007/03/29 PHP
深入file_get_contents函数抓取内容失败的原因分析
2013/06/25 PHP
php实现无限级分类
2014/12/24 PHP
宝塔面板在NGINX环境中TP5.1如何运行?
2021/03/09 PHP
在你的网页中嵌入外部网页的方法
2007/04/02 Javascript
jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
2013/04/07 Javascript
js实时获取系统当前时间实例代码
2013/06/28 Javascript
jQuery 2.0.3 源码分析之core(一)整体架构
2014/05/27 Javascript
IE10中flexigrid无法显示数据的解决方法
2015/07/26 Javascript
javascript文本模板用法实例
2015/07/31 Javascript
JS实现网页顶部向下滑出的全国城市切换导航效果
2015/08/22 Javascript
Bootstrap 组件之按钮(二)
2016/05/11 Javascript
完美解决JS文件页面加载时的阻塞问题
2016/12/18 Javascript
jQuery 循环遍历改变a标签的href(实例讲解)
2017/07/12 jQuery
js 倒计时(高效率服务器时间同步)
2017/09/12 Javascript
AngularJS实时获取并显示密码的方法
2018/02/06 Javascript
echarts整合多个类似option的方法实例
2018/07/10 Javascript
Vue2.x Todo之自定义指令实现自动聚焦的方法
2019/01/08 Javascript
Angular实现svg和png图片下载实现
2019/05/05 Javascript
Vue实现开关按钮拖拽效果
2020/09/22 Javascript
JS绘图Flot如何实现动态可刷新曲线图
2020/10/16 Javascript
[44:51]2018DOTA2亚洲邀请赛 4.4 淘汰赛 VP vs Liquid 第二场
2018/04/05 DOTA
jupyter notebook中美观显示矩阵实例
2020/04/17 Python
django下创建多个app并设置urls方法
2020/08/02 Python
如何避免常见的6种HTML5错误用法
2017/11/06 HTML / CSS
Under Armour瑞典官方网站:美国高端运动科技品牌
2018/11/21 全球购物
澳大利亚巧克力花束和礼品网站:Tastebuds
2019/03/15 全球购物
优质飞蝇钓和渔具:RiverBum
2020/05/10 全球购物
Prototype如何更新局部页面
2013/03/03 面试题
文明学生标兵事迹
2014/01/21 职场文书
自主招生自荐信指南
2014/02/04 职场文书
合作协议书格式
2014/08/19 职场文书
2014物价局民主生活会对照检查材料思想汇报
2014/09/24 职场文书
教师党员个人整改措施
2014/10/27 职场文书
《女娲补天》教学反思
2016/02/20 职场文书
vue如何清除浏览器历史栈
2022/05/25 Vue.js