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 相关文章推荐
Ubuntu 14.04+Django 1.7.1+Nginx+uwsgi部署教程
Nov 18 Python
Python与Redis的连接教程
Apr 22 Python
Python实现购物程序思路及代码
Jul 24 Python
python九九乘法表的实例
Sep 26 Python
Python基于jieba库进行简单分词及词云功能实现方法
Jun 16 Python
python实现顺时针打印矩阵
Mar 02 Python
10款最好的Python开发编辑器
Jul 03 Python
python sqlite的Row对象操作示例
Sep 11 Python
python3 tcp的粘包现象和解决办法解析
Dec 09 Python
TensorFlow实现保存训练模型为pd文件并恢复
Feb 06 Python
Python 找出出现次数超过数组长度一半的元素实例
May 11 Python
Python爬取豆瓣数据实现过程解析
Oct 27 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框架的性能
2008/01/10 PHP
PHP数据库链接类(PDO+Access)实例分享
2013/12/05 PHP
基于laravel where的高级使用方法
2019/10/10 PHP
PHP实现计算器小功能
2020/08/28 PHP
(function(){})()的用法与优点
2007/03/11 Javascript
ajax异步刷新实现更新数据库
2012/12/03 Javascript
用js实现小球的自由移动代码
2013/04/22 Javascript
JSON无限折叠菜单编写实例
2013/12/16 Javascript
jQuery实现手机号码输入提示功能实例
2015/04/30 Javascript
jQuery ajax实现省市县三级联动
2021/03/07 Javascript
详解Vue用axios发送post请求自动set cookie
2017/05/10 Javascript
基于vue 开发中出现警告问题去除方法
2018/01/25 Javascript
vue2.0在没有dev-server.js下的本地数据配置方法
2018/02/23 Javascript
webpack多入口多出口的实现方法
2018/08/17 Javascript
vue-cli 3 全局过滤器的实例代码详解
2019/06/03 Javascript
vue scroll滚动判断的实现(是否滚动到底部、滚动方向、滚动节流、获取滚动区域dom元素)
2020/06/11 Javascript
详解javascript脚本何时会被执行
2021/02/05 Javascript
[00:03]DOTA2新版本PA至宝展示
2014/11/19 DOTA
python网络编程学习笔记(五):socket的一些补充
2014/06/09 Python
Python自动重试HTTP连接装饰器
2015/04/28 Python
python打包生成的exe文件运行时提示缺少模块的解决方法
2018/10/31 Python
python 实现12bit灰度图像映射到8bit显示的方法
2019/07/08 Python
django框架使用方法详解
2019/07/18 Python
Django--权限Permissions的例子
2019/08/28 Python
Python lambda表达式filter、map、reduce函数用法解析
2019/09/11 Python
python实现logistic分类算法代码
2020/02/28 Python
Python openpyxl模块实现excel读写操作
2020/06/30 Python
linux面试题参考答案(11)
2012/05/01 面试题
实习生单位鉴定意见
2013/12/04 职场文书
董事长秘书职责
2014/01/31 职场文书
工作证明范本(2篇)
2014/09/14 职场文书
领导班子作风建设剖析材料
2014/10/11 职场文书
2014酒店客房部工作总结
2014/12/16 职场文书
小学班主任评语
2014/12/29 职场文书
会议邀请函
2015/01/30 职场文书
SONY600GR,国产收音机厂商永远的痛
2022/04/05 无线电