【超简单!】Python微信公众号开发(6) |
您所在的位置:网站首页 › 微信公众号的自定义菜单申请方法有哪些 › 【超简单!】Python微信公众号开发(6) |
在上篇文章 【超详细!】Python微信公众号开发(5)- 无需编程,手把手带你轻松实现公众号自定义菜单和自动回复 中,提到了微信公众号服务器配置启用后,原来微信公众号界面下方自定义的菜单栏和自动回复功能就失效了。 那如何解决两者的冲突,让两者共存呢?其实挺简单的,就是有点绕。 1. 停用服务器配置如果你已经开启了服务器配置,那微信公众号自定义菜单的页面应该是这样的(即使你之前设置过自定义菜单,在你开启了服务器配置之后,也会变成这样): 这部分请参考: 【超详细!】Python微信公众号开发(5)- 无需编程,手把手带你轻松实现公众号自定义菜单和自动回复 ,文章第1部分【自定义菜单】给出了配置自定义菜单的详细操作步骤。 3. 重启服务器配置这是本文最灵魂的一步。 (1)公众号后台 —> +新的功能 —> 已开通 —> 自定义菜单,进入“自定义菜单”页面 以上只是实现了自定义菜单和服务器配置的共存,但是上篇文章中我们设置的“关键字自动回复”功能仍无法使用(如下图中所述功能:用户输入特定关键字,公众号给固定回复)。 修改代码如下: (1)定义一个函数来检查是否为预设关键字,并返回预设关键字对应的回复信息 def get_info_from_const_keywords(keyword): print("get_info_from_const_keywords: ", keyword) # ConstKeywordsAndInfo:预设置的关键字和回复信息 ConstKeywordsAndInfo = { "GPT最佳实践": "《OpenAI:GPT 最佳实践中文大白话版本_未来力场编译》\ 链接: https://pan.baidu.com/s/1S1_jVWTH8CMH4M_4AaPoig 提取码: xxxx", "gpt提示技巧": " 《如何向 ChatGPT 提问以获得高质量答案:提示技巧工程完全指南》 \ 链接: https://pan.baidu.com/s/1wLvEoP5UbiRDW1HalslSeg 提取码: xxxx" } try: return ConstKeywordsAndInfo[keyword] # 如果找到关键字,回复预设置的回复信息 except: return None # 没有找到关键字,返回None(2)调用上述函数,并对返回结果进行相应处理 @app.route('/wechatai', methods=['GET', 'POST']) def wechatai(): if requesthod == 'GET': return verify_wechat(request) else: # 处理POST请求 print("user request data: ", request.data) printXML(request.data) # 解析用户信息 user_message_content, from_user_name, to_user_name, msg_type = getUserMessageContentFromXML(request.data) print("user message content: ", user_message_content) response_content = get_info_from_const_keywords(user_message_content) # None说明用户输入不是预设关键字,调用OpenAI API完成ChatGPT对话 if (response_content is None): # 调用OpenAI接口生成回复内容 response_content = openai_test.get_chat_completion(user_message_content) print("response content: ", response_content) # 生成回复信息并返回 return generate_response_xml(from_user_name, to_user_name, response_content)大功告成。 6. 最终效果注意:配置完自定义菜单后,生效是需要时间的,所以需要耐心等待一小会儿。 从今天开始,持续学习,开始搞事情。踩坑不易,欢迎关注我,围观我! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |