Python微信公衆號後臺開發教程<002>

​此次實現公衆的基本功能:被關注回覆、關鍵詞回覆、收到消息回覆
python




# 訂閱後的回覆
@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.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 "該功能有待處理,敬請期待"
複製代碼

@robot.subscribe:git

訂閱回覆:即當用戶訂閱公衆號時回覆的內容github

@robot.filter('博客')bash

關鍵字回覆:即用戶輸入關鍵詞時回覆的內容echarts

@robot.text函數

收到消息回覆:當用戶回覆文字沒有命中關鍵詞時回覆的內容ui


已知咱們最經常使用的功能就是關鍵詞回覆,可是經過filter這種關鍵詞回覆:每添加一個關鍵詞功能,就要添加一個對應的路由。
人工智能

這種方式會致使咱們的關鍵詞路由函數過多,處理起來也不方便。
url


統一處理關鍵詞回覆spa

咱們能夠經過收到消息回覆,收到用戶消息,回覆文字內容,

先檢測是否是關鍵詞,若是是關鍵詞則回覆關鍵詞內容,若是不是則回覆對應其餘內容。

# 文字智能回覆
@robot.text
def replay(msg):

    # 獲取用戶輸入內容
    user_text = msg.content

    # 關鍵詞詞檢測並回復
    answer_text = get_code(user_text)

    # 非關鍵詞回覆 
    if answer_text is None:
        answer_text = response_text(user_text).text


    return answer_text
複製代碼

接收的參數msg並非用戶的直接內容,經過msg.content獲取用戶輸入內容

關鍵詞檢測和回覆:

worlds_list = [
    {
        "key":["20191210", "公衆號code" ],
        "values":"https://github.com/silencesmile/gzh_code"
        },
    {
        "key": ["wav音頻", "wav", "python_wav"],
        "values": "https://github.com/silencesmile/python_wav"
        },
    {
        "key":  ["圖像識別", "AI", "ai", "人工智能"],
        "values": "GitHub:https://github.com/silencesmile/TensorFlow-ResNet",
        },
    {
        "key": ["pyecharts"],
        "values": "https://github.com/silencesmile/pyecharts.git"
        },
    {
        "key": ["一出好戲"],
        "values": "https://github.com/silencesmile/movie_Analyst.git"
        }
    ]

# 關鍵詞檢測並回復
def get_code(text):
    for key_worlds in worlds_list:
        key_list = key_worlds.get("key")
        values = key_worlds.get("values")

        if text in key_list:
            return values

    return None
複製代碼


這樣就很好管理關鍵詞的回覆了,不須要定義多個關鍵詞路由。


下期預告:

圖片的接收以及如何回覆處理後的圖片

相關文章
相關標籤/搜索