【メモ】NodeJS WeChat公衆番号自動回答開発


このごろはいつも家に羊の毛をかき集めるような一般的な道具集を作りたいです。画像認識、OCR画像、オンラインテーブルゲームなどです。インターネットだけで使えます。そこで公雲を検索して、ホストをやりました。登録を待ってからserveサイトを除いて、みんながWeChatを使っていることを考えてみてください。黄鶏みたいなserverを使って、いろんな需要に応えられます。直接運転してください。
https://github.com/stallpool/wxchat
上のリンクはchatbotのフレームです。
  • は公衆番号に「時間」を送り、現在の時間の返答を得る。
  • は、計算と演算を公衆番号に送信し、 sin(pi/2) + sqrt(6-2*(1-3)+6)などの演算結果の返答を得る。
    フレームは同時にメッセージのAES暗号化を実現しており、httpサービスであっても、WeChat公衆番号と対話するメッセージは暗号化されている。
    コードを説明します。https://github.com/stallpool/wxchat/blob/master/server/wx.js WeChat公式に与えられた暗号解読コードはPython、Java、C/C++にPHPがあり、NodeJSがないので、自分で暗号解読を実施しなければなりません。暗号化は、厳格に公式暗号化方法に従って実行され、class WXBizMsgCodecアルゴリズムを使用する。これは何も言いません。復号には穴があります。いくつかの問題があります。
  • 第一は、aes-256-cbcが失敗した問題があるとよく言われています。復号の長さと関係があるはずです。二つの解法の一つは直接EVP_DecryptFinal_exがfinalを実行できるかどうかを見てください。一つはテキストの長さをはっきり計算しています。ここはまだ簡単です。直接try...catch...
  • です。
  • 第二はWeChatから送られてきたメッセージは、すべて公式のフォーマットに従っているわけではないので、復号関数は直接に公式の方法に従っていない。一部のメッセージは、解読した後、メッセージ長の保存項目がなくなっていることがわかったので、直接にメッセージ開始のtry...catch...と終了の<に従ってメッセージ自体を識別し、最後のセグメントが最後に最後のセクションを削除すると>
  • である。
    二つの例の「時間」と「計算」のコードの入り口はhttps://github.com/stallpool/wxchat/blob/master/server/wx_chatbot.jsのappid関数にあります。表式計算機は10 minで書き終わったので、表現の文法的正確性をあまり管理していません。自分で完璧にすることができます。
    画像を公開番号に送る時、WeChatは画像URLを提供しています。認証はありません。つまり有効期限内に誰でも写真にアクセスできるということです。WeChatでのチャットはあまり多くの個人データ、特にパスワードなどに触れないようにしましょう。はい、フレームが完成したら、もっと高級なフィーチャーを試してみます。例えば、rpl_textは画像を処理します。https://github.com/naptha/tesseract.js JS版です。これは電子領収書を撮ったら、直接に文字がもらえます。例えば、キジのアプリを見てみます。http://www.simsimi.com/ http://developer.simsimi.com/ )メッセージを受け取ったら、直接に小キジのアプリに電話して返事をもらい、この返信を発送します。これは小キジの公衆番号です。思う存分プレイしましょう
    J.Y.Liu 209.08.20