python写几个好玩的程序_Python写的Msn机器人,几好玩的
Python写的Msn机器人,几好玩的, 需要Msnp.py这个python模块, 用Python开发msn机器人程式还是很快的, 资料参考自网上.
msn.py的代码
#!/usr/local/bin/python
# -*- coding: utf-8 -*-
import msnp
import time
import string
def mytrim(zstr):
ystr=zstr.lstrip()
ystr=ystr.rstrip()
ystr=ystr.strip()
return ystr
def findstr(fstr):
if fstr==””:
return “”
fstr=mytrim(fstr)
fstr=fstr.lower()
j=0
try:
mystr=””
fd=file(“talk.txt”,’r’)
m=fd.readlines()
k=0
while k|’)
if len(aa) ==0:
break;
if aa[0].lower()==fstr:
mystr=aa[1]
mystr=mystr.decode(‘gb18030’).encode(‘utf-8’)
break;
k=k+1
fd.close()
return mystr
except Exception:
print ‘no file or error’
return “”
#print me
#text=’我们’
class MsnChatListener(msnp.ChatCallbacks):
def message_received(self, passport_id, display_name, text, charset):
textx=text.decode(‘utf-8’).encode(‘gb18030’)
#print ‘textx:’+textx
sss=findstr(textx)
#print ‘sss:’+sss
if sss==”:
#print ‘%s: %s’ % (passport_id, textx)
wo=”这是什么意思?”
wo=wo.decode(‘gb18030’).encode(‘utf-8’)
sss='{ ‘+text+’ } ‘+wo
self.chat.send_message(sss, charset)
class MsnListener(msnp.SessionCallbacks):
def chat_started(self, chat):
callbacks = MsnChatListener()
chat.callbacks = callbacks
callbacks.chat = chat
while True:
try:
msn = msnp.Session(MsnListener()) #MsnListener里面是回调函数
msn.login(‘xxxx@live.cn’, ‘123456789’) # 申请的msn账号和密码
msn.sync_friend_list()
while True:
try:
msn.process(chats = True)
time.sleep(1)
except msnp.error.Error, e:
#217 错误表示对方不在线,由于这个包判断好友状态不太准,所以我们不能先判断好友是否在线,然后再发消息,我的做法是不管在线离线,统统启动会话,如果对方不在线,MSN服务器会发217错误,msnp包会抛异常,不管就好了。其他的异常没有处理,出现了之后跳出内部循环,重新登陆。
if e.code == 217:
print ‘msn.process error’, e.code, e.message
pass
else:
print ‘msn.process error’, e.code, e.message
break
except:
pass
在终端输入 nohup ./msn.py & 就可以在后台运作了,但要停下来的话,就先输入ps ax , 然后看见那个id 就 kill掉它
在以上脚本当前目录下建立talk.txt , 这个是对话的相对反应,你问:我们,答:怎样啊 .
内容格式
????|=>|I don’t understand
who are you|=>|I am Robot
我们|=>|怎样啊
what time is it|=>|I don’t know
who are you|=>|I am a Robot
你好|=>|你好啊
今天天气不错啊|=>|系啊
今天天气不错|=>|系啊
how are you|=>|fine thank you
电话格式|=>|电话:人名
天气不错啊|=>|系啊
天气不错|=>|系啊
你想点啊|=>|唔知想点啊
你是男还是女啊|=>|我是机器人,没性别的
用|=>|这个做分隔符号
其实在程序里加入执行命令,我想到用这个msn聊天机器人来打开或者关闭ssh , 这样ssh就应该比较安全了, 这只是想到的其中一个用途,暂时想不到其它应用.
python写几个好玩的程序_Python写的Msn机器人,几好玩的相关推荐
- 用python编写一个点餐程序_Python写一个自动点餐程序
原博文 2019-08-09 10:45 − # Python写一个自动点餐程序 ## 为什么要写这个 公司现在用meican作为点餐渠道,每天规定的时间是早7:00-9:40点餐,有时候我经常容易忘 ...
- python网络爬虫程序_Python写的网络爬虫程序(很简单)
Python写的网络爬虫程序(很简单) 这是我的一位同学传给我的一个小的网页爬虫程序,觉得挺有意思的,和大家分享一下.不过有一点需要注意,要用python2.3,如果用python3.4会有些问题出现 ...
- python写窗体程序_python写窗口
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 最近在学习 pyqt5 gui 编程,大致路线是找了套网课<撩课-pyth ...
- python写用用户名密码程序_python写用’户登录程序‘的过程
作业需求: 基础需求: 让用户输入用户名密码 认证成功后显示欢迎信息 输错三次后退出程序 升级需求: 可以支持多个用户登录 (提示,通过列表存多个账户信息) 用户3次认证失败后,退出程序,再次启动程序 ...
- python中怎么编写程序_python写完程序怎么运行
安装并配置完成之后,我们就可以编写第一个python程序.学过其他语言的兄弟姐妹们,都知道语言的入门程序就是hello world.那么,我们这里也以hello world来抛砖引玉,打开python ...
- python日历小程序_python写的日历小程序
查看: 14785|回复: 262 [作品展示] python写的日历小程序 电梯直达 发表于 2013-8-19 21:38:32 | 只看该作者 |倒序浏览 |阅读模式 马上注册,结交更多好友,享 ...
- python写采集程序_Python写的简易采集爬虫(蜘蛛)
#!/usr/bin/python #-*-coding:utf-8-*- # 简易采集爬虫 # 1.采集Yahoo!Answers,parseData函数修改一下,可以采集任何网站 # ...
- python红包程序_Python写随机发红包的原理流程
首先来说说要用到的知识点,第一个要说的是扩展包random,random模块一般用来生成一个随机数 今天要用到ramdom中unifrom的方法用于生成一个指定范围的随机浮点数通过下面的图简单看下: ...
- python有什么好玩的程序_Python小程序,够你玩一整天~
一天无聊如何度过 既想锻炼智力,又想打发时间 这个程序很适合你~~~ 好了,环境是Python3.8 开始我们的程序吧! 首先需要import随机数random模块,这个模块可是核心哦 接下来可以pr ...
- python定时播放音乐程序_python写的定时播放音乐
import datetime import os import time import pygame from pygame import mixer from pygame.locals impo ...
最新文章
- String字符串类的获取功能
- disruptor框架为什么不流行_Java并发编程框架Disruptor
- 正弦波 程序 角度传感器_激光位移传感器的原理及应用领域
- 解决SSM项目下静态资源(img、js、css)无法引用的问题
- 对web应用构成安全威胁的错误漏洞
- IT工程项目需求获取的主要方法
- CTF 每日一题 Day39 达芬奇密码
- PhotoShop 常用技巧记录
- eclipse使用maven新建类目录时,提示The folder is already a source folder
- 5“机”时代,如何掘金新价值和新机遇?
- Maven_怎么查看maven本地仓库地址
- 【MySQL 数据库】MySQL 的对库的操作及其数据类型
- 分享二维码领红包系统开发
- GPS定位及通信协议解析
- win10下安装CUDA和CUDNN的版本对应
- mysql设置安全卡住了_MySQL数据库安全设置与注意事项小结
- Java程序员职业发展规划和方向
- python控制树莓派马达_树莓派控制步进电机
- 地铁照明中的智能照明控制系统
- Apollo开放平台 API