docs: def send_article_message(self, user_id, articles, kf_account=None):
          """
          发送图文消息::
  
              articles = [
                  {
                      "title":"Happy Day",
                      "description":"Is Really A Happy Day",
                      "url":"URL",
                      "picurl":"PIC_URL"
                  },
                  {
                      "title":"Happy Day",
                      "description":"Is Really A Happy Day",
                      "url":"URL",
                      "picurl":"PIC_URL"
                  }
              ]
              client.send_acticle_message("user_id", acticles)
  
          :param user_id: 用户 ID 。 就是你收到的 `Message` 的 source
          :param articles: 一个包含至多8个 article 字典或 Article 对象的数组
          :param kf_account: 发送消息的客服账户，默认值为 None，None 为不指定
          :return: 返回的 JSON 数据包
          """
          if isinstance(articles[0], Article):
              formatted_articles = []
              for article in articles:
                  result = article.args
                  result["picurl"] = result.pop("img")
                  formatted_articles.append(result)
          else:
              formatted_articles = articles
          data = {
              "touser": user_id,
              "msgtype": "news",
              "news": {
                  "articles": formatted_articles
              }
          }
          if kf_account is not None:
              data['customservice'] = {'kf_account': kf_account}
          return self.post(
              url="https://api.weixin.qq.com/cgi-bin/message/custom/send",
              data=data
          )