300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > python写几个好玩的程序_Python写的Msn机器人 几好玩的

python写几个好玩的程序_Python写的Msn机器人 几好玩的

时间:2019-08-06 02:44:24

相关推荐

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@’, ‘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就应该比较安全了, 这只是想到的其中一个用途,暂时想不到其它应用.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。