zoukankan      html  css  js  c++  java
  • 做一个简单的微信机器人

    不多说,直接上code

    #!/usr/bin/env python 
    # coding:utf-8
    # @Date    : 2017/10/30 11:30
    # @File    : wechat.py
    # @Author  : sevck (sevck@jdsec.cn)
    # @Link    : https://www.javasec.cn                  
    # -------------------------------------------------------------------------
    import itchat, time, re
    from itchat.content import *
    import urllib2, urllib
    import json
    
    '''
    更新日志:
        1.添加初版,群聊,私聊功能
    
    '''
    status = True
    
    # 群聊功能
    @itchat.msg_register(TEXT, isGroupChat=True)
    def text_reply(msg):
        global status
        info = msg['Text'].encode("UTF-8")
        url = "http://www.tuling123.com/openapi/api"
        if info in "开启":
            status = True
        if info in  "闭嘴":
            status = False
        if status:
            data = {u"key": "xxxxx", u"info": info, u"loc": "", u"userid": msg.fromUserName}
            data = urllib.urlencode(data)
            url2 = urllib2.Request(url=url, data=data)
            response = urllib2.urlopen(url2)
            apicontent = response.read()
            s = json.loads(apicontent, encoding="utf-8")
            print('s==', s)
            if s['code'] == 100000:
                itchat.send(s['text'], msg['FromUserName'])
            if s['code'] == 200000:
                itchat.send_msg(s['text'] + "
    " + s['url'], msg['FromUserName'])
    
    # 私聊功能
    @itchat.msg_register(TEXT)
    def text_replys(msg):
        global status
        info = msg['Text'].encode("UTF-8")
        url = "http://www.tuling123.com/openapi/api"
        if info in "开启":
            status = True
        if info in "闭嘴":
            status = False
        if status:
            data = {u"key": "xxxxxxx", u"info": info, u"loc": "", u"userid": msg.fromUserName}
            data = urllib.urlencode(data)
            url2 = urllib2.Request(url=url, data=data)
            response = urllib2.urlopen(url2)
            apicontent = response.read()
            s = json.loads(apicontent, encoding="utf-8")
            print('s==', s)
            if s['code'] == 100000:
                itchat.send(s['text'], msg['FromUserName'])
            if s['code'] == 200000:
                itchat.send_msg(s['text'] + "
    " + s['url'], msg['FromUserName'])
    
    
    itchat.auto_login(enableCmdQR=1, hotReload=True)
    itchat.run(debug=True)

    效果:

     

    最后提供一下学习教程:

    http://itchat.readthedocs.io/zh/latest/

     我的机器人是用的图灵的API

  • 相关阅读:
    canvas 文本坐标(0,0)显示问题
    canvas 图片跨域处理
    canvas 文字换行
    什么是柯理化函数?
    记录一下学习webpack原理的过程
    pika和kombu实现rpc代码
    pika和rabbitMQ实现rpc代码
    docker部署rabbitMQ
    rabbitMQ和pika模块
    ubuntu搭建关于amd64或arm64,armhf架构的本地apt源
  • 原文地址:https://www.cnblogs.com/sevck/p/7760328.html
Copyright © 2011-2022 走看看