python微信机器人

来源:otote.cn

长夜漫漫,无心睡眠。突发奇想。于是就基于itchat和图灵机器人做了个微信机器人。

github地址:https://github.com/otote/wchat_auto

 

一、前提:

1、有一台服务器,或者装了linux的电脑。Windows也行。最好是有服务器,不然电脑关了机器人也就关闭了。
2、需要安装python环境,因为我用的是python3.6,所以推荐安装python3.6环境。Python2没测试过,可自行测试。
3、安装itchat模块。使用python目录下的pip安装。Linux配置好环境后可以直接用命令:pip install itchat 安装。Windows需要打开cmd窗口,然后将python安装目录下的Scripts目录里的pip.exe拖到cmd窗口,接着输入install itchat后按回车,注意空格隔开。
4、需要申请图灵机器人的api权限,然后将apikey填入代码中的KEY的位置。申请地址

二、一顿操作

新建一个文件,名字自取,最好用过英文。后缀为py。以otote.py为例。
将以下代码粘贴到otote.py里面后保存退出。(注意将图灵机器人apikey填入代码中的KEY的位置)

#!/usr/bin/env python3.6
#coding=utf8
import requests
import itchat

KEY = '输入图灵机器人apikey'

flag = False
stop_reply=False
default_text="你好,本人不在。联系我请直接拨打电话。或者等本人上线后回复。\n电话号码:110" \
             "\n如果想继续聊天请回复12138进入聊天机器人系统。回复666退出聊天。\n" \
             "祝你愉快!  ————来自otote"
def get_response(msg):
    apiUrl = 'http://www.tuling123.com/openapi/api'
    data = {
        'key'    : KEY,
        'info'   : msg,
        'userid' : 'wechat-robot',
    }
    try:
        r = requests.post(apiUrl, data=data).json()
        return r.get('text')
    except:
        return

@itchat.msg_register(itchat.content.TEXT)
def tuling_reply(msg):
    global flag
    global stop_reply
    oldflag=flag
    # defaultReply = 'I received: ' + msg.text
    global default_text
    reply = get_response(msg.text)
    # return reply or defaultReply
    if msg.text=="12138":
        flag=True
    elif msg.text=="666":
        flag=False
    elif msg.text == "启动机器人":
        stop_reply = False
    elif msg.text == "停止机器人":
        stop_reply = True

    if not stop_reply:
        if flag :
            if not oldflag:
                return "我们可以开始聊天了。"
            else:
                return reply+"\n\t\t————来自机器人\n退出机器人请回复666"
        else:
            return default_text
        # return reply or test

@itchat.msg_register(itchat.content.RECORDING)#语音消息
def voice_reply(msg):
    return tuling_reply(msg)

itchat.auto_login(enableCmdQR=2,hotReload=True)
#itchat.auto_login(hotReload=True)


itchat.run()

# nohup python run.py    #linux后台自动运行

(1)Windows直接打开cmd窗口输入python 然后将otote.py拖进去(注意空格隔开)然后回车。接着扫描二维码登录即可使用。(关闭cmd后程序自动关闭)

(2)linux 直接用命令python /文件目录/otote.py运行后扫描二维码登录即可。(关闭终端窗口后会关闭机器人。可先扫码登录成功运行后按ctrl+c终止,然后用命令nohup python otote.py运行后即可关闭终端窗口。)

三、效果预览:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值