美文网首页
Python微信公众号后台开发教程<001>

Python微信公众号后台开发教程<001>

作者: Python数据分析实战 | 来源:发表于2019-12-30 15:13 被阅读0次
    image

    本篇文章开启Python开发微信公众号后台

    准备:

    云服务平台:(我用的是京东云的)

    公众号:自己注册一个就行

    Git:代码管理平台

    了解平台

    进入公众号后台,查看开发相关项

    image

    基本配置(服务器配置等):

    image.png

    开发者工具(包括开发文档,测试工具等):

    image

    基本功能code

    Python数据分析实战

    开发使用的是平台提供的werobot框架

    # -*- coding: utf-8 -*-
    # @Time    : 2019/12/17 7:57 PM
    # @Author  : Python数据分析实战
    # @File    : main.py
    # @Software: PyCharm
    
    import random
    import time
    import requests
    import werobot
    from werobot.replies import ArticlesReply, Article, ImageReply, TextReply, MusicReply
    
    robot=werobot.WeRoBot(token='自己的token')
    
    
    # 订阅后的回复
    @robot.subscribe
    def subscribe():
        return "***欢迎关注公众号[愉快][愉快][愉快]***\n" \
               "***输入任意内容开始与我聊天!\n" \
               "***输入'博客'关注我的博客!\n" \
               "***输入'音乐'为小主送上舒缓的歌曲!\n"
    
    
    # 关键字 博客 回复
    @robot.filter('博客')
    def blog(message):
        reply = ArticlesReply(message=message)
        article = Article(
            title="Python数据分析实战",
            description="我的个人博客",
            img="https://werobot.readthedocs.io/zh_CN/latest/_static/qq.png",
            url="https://www.jianshu.com/u/bdf11cce83a1"
        )
        reply.add_article(article)
        return reply
    
    
    # 用户发送图片
    @robot.image
    def blog(message,session):
        #print("msg", message.img)
        #print(type(message))
        #print(type(message.img))
        #print(message.__dict__)
        print("\n"+message.MediaId)
        changdu = str(len(session))
        session[changdu] = message.MediaId
        reply = ImageReply(message=message, media_id=message.MediaId)
        return reply
    
    
    # 随机一首音乐
    def music_data():
        music_list = [
                ['童话镇','陈一发儿','https://e.coka.la/wlae62.mp3','https://e.coka.la/wlae62.mp3'],
                ['都选C','缝纫机乐队','https://files.catbox.moe/duefwe.mp3','https://files.catbox.moe/duefwe.mp3'],
                ['精彩才刚刚开始','易烊千玺','https://e.coka.la/PdqQMY.mp3','https://e.coka.la/PdqQMY.mp3']
                ]
        num = random.randint(0,2)
        return music_list[num]
    
    
    # 匹配 音乐 回复一首歌
    @robot.filter('音乐')
    def music(message):
        # reply = TextReply(message=message, content=music_data())
        # reply = MusicReply(message=message,source='https://www.kugou.com/song/#hash=D4EB517A405FCDF0286AA9A4487BBCE1&album_id=10409377')
        return music_data()
        # return reply
    
    
    # 文字智能回复
    @robot.text
    def replay(msg):
        # print(msg.content)
        # curtime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
        # response = get_response(msg.content)
        # print(
        #     curtime + '  公众号(机器人)' + ':' + response)
        # return response
    
        return "该功能有待处理,敬请期待"
    
    
    # 让服务器监听在 0.0.0.0:80
    robot.config['HOST']='0.0.0.0'
    robot.config['PORT']=80
    robot.run()
    

    搭建服务

    可将代码上传至服务器,然后运行即可

    上传至服务器方式:

            一、通过GIT 上传,然后服务器下载
    
            二、通过本地上传至服务器
    
    image.png

    配置参数

    image.png

    参数说明

    开发者ID与开发者密码:一对秘钥,后面会用到,可以保存下来,也可通过重置获取

    IP白名单:添加自己的服务器IP

    服务器地址:即服务器的IP

    令牌:自定义字符串 与 代码中的 Token保持一致

    所有配置项配置完成。

    那么恭喜你,已走出后台开发的第一步。

    image

    欢迎关注,后面会持续更新
    公众号可联系作者

    image

    相关文章

      网友评论

          本文标题:Python微信公众号后台开发教程<001>

          本文链接:https://www.haomeiwen.com/subject/odlmoctx.html