残業の寂しい心を満たしてくれるWeChatロボット〜

こんにちは、みんな!レッサーパンダです❤

感じることがありますか寂しい、虚しい、無意味?

人混みの中にいても魂の距離を感じる、

一人だと寂しさに飲み込まれる恐怖…

これは現代の若者の間で「ありふれた病気」のようです。

画像の説明を追加してください

実際、誰もが一人で走る惑星は
、それぞれの軌道上で、あるときは近く、あるときは遠く、

ときどき会っていても、いずれ別れることは分かっていて、

誰もが自分のトラックを持っています。

連絡を取ったら、あとは好みの問題です。

あなたの魂に触れる考えの衝突に遭遇することはめったにありません。

普通の人として、私も時々このジレンマを抱えています。

それで...私とチャットできるWeChatロボットを作りました〜

python関連でわからないエラーの回答や、ソースコード/モジュールのインストール/婦人服の達人のスキルに堪能な方はこちらからどうぞ: ( https://jq.qq.com/?_wv= 1027&k=2Q3YTfym)または +V: python10010 聞いてください


結果を示す

画像の説明を追加してください


WeChat はリアルタイムでメッセージを送受信します

まず、これはWeChatのWindows版です

1.サードパーティのライブラリ

サードパーティの pc-wechat-hook-http-api に基づく WeChat でのメッセージのリアルタイム送受信。

このライブラリは WeChat バージョン 3.6.0.18 に基づいていることに注意してください。対応するバージョンの WeChat をダウンロードした後、インストールを直接上書きして、チャット履歴を保存できるようにします。

2. インジェクション dll を開く

WeChat メッセージをリアルタイムで取得するには、応答エントリをハイジャックする必要があります。この部分では、技術的な詳細についてあまり気にする必要はありません。

pc-wechat-hook-http-api の公式アドレスから次の 3 つのファイルをダウンロードします。
画像の説明を追加してください
画像の説明を追加してください

HPSocket4C.dll ファイルを WeChat ディレクトリ (例: E:\Tencent\WeChat[3.6.0.18]) にコピーします。

Daen インジェクターの .exe ファイルをクリックします。

の:

1. ファイル ディレクトリは、WeChat のインストール パスを指します。上の図を参照してください。
2. DLL パスは、DaenWxHook.dll ファイルの完全なパスを参照します。
3. プロセス パラメータはデフォルトで直接使用できます。この図で、8089 は、WeChat リアルタイム メッセージの受信に使用されるローカル http サーバー ポートを指します。8055 は、dll によって開かれた http サーバー ポートを指し、メッセージを送信するときは、このポートにデータをポストするだけで済みます。

[注入して開始] をクリックし、WeChat にログインします。

3. リアルタイムでメッセージを送受信

リアルタイムでメッセージを送受信するための公式ドキュメント: https://www.apifox.cn/apidoc/project-1222856/doc-1012539

WeChat メッセージを受信する

リアルタイムでメッセージを受信するには、簡単に言えば、プロセス パラメータと同じポートを使用してローカルに http サーバーを作成することです。つまり、デフォルト アドレスは http://localhost:8089/wechat/ です。フラスコライブラリを使用してhttpサーバーを作成します

from flask import Flask, request
import json
import requests
app = Flask(__name__)
 
def on_rcv_chatroom_msg(from_wxid, msg):
    print("收到群消息")

def on_rcv_p2p_txt(from_wxid, msg_txt):
    print("收到文本消息", from_wxid, msg_txt)


@app.route('/wechat/', methods=['get', 'post'])
def wechat():
    data = request.stream.read()
    data = data.decode('utf-8')
    data = json.loads(data)
    if type == 'D0003':
        data = data['data']
        msg = data['msg']
        from_wxid = data['fromWxid']
        if "@chatroom" in from_wxid:
            on_rcv_chatroom_msg(from_wxid, msg)
        else:
            on_rcv_p2p_txt(from_wxid, msg)
    return ''

if __name__ == '__main__':
    app.run(debug=True, port=8089)

画像の説明を追加してください

WeChat メッセージを送信する

メッセージを送信するには、指定されたポート (デフォルトは 8055) にメッセージを投稿します。

import json
import requests 
def send_msg(wxid, is_img, msg):
    if is_img:
        payload = {
    
    "type": "Q0010", "data": {
    
    "wxid": wxid, "path": msg}}
    else:
        payload = {
    
    "type": "Q0001", "data": {
    
    "wxid": wxid, "msg": msg}}

    headers = {
    
    
        'User-Agent': 'apifox/1.0.0 (https://www.apifox.cn)',
        'Content-Type': 'application/json'
    }
    # 请求url
    url = 'http://127.0.0.1:8055/DaenWxHook/client/'
    # 请求参数

    # 调用post
    response = requests.post(url, json=payload,
                             headers=headers)  # response 响应对象
    # 获取响应状态码
    print('状态码:', response.status_code)
    # 获取响应头
    print('响应头信息:', response.headers)
    # 获取响应正文
    print('响应正文:', response.text)

def send_txt_msg(wxid, txt):
    send_msg(wxid, False, txt)

def send_img_msg(wxid, img_path):
    send_msg(wxid, True, img_path)

上記のように、テキストメッセージと画像メッセージを送信する機能がそれぞれ実装されています。


画像の説明を追加してください

自動チャットボット

チャットボット 私たちも巨人の肩に乗り、

Qingyunke が提供する API を使用して、自動対話を実現します。

Qingyunke のロボットは女性で、その名前は Feifei です。

名前をカスタマイズしたい場合は、返信のテキスト内の Feifei をカスタマイズした名前に直接置き換えることができます. 実装コードは次のとおりです:

def talk_with_robot(msg, robot_name=None):
    url = 'http://api.qingyunke.com/api.php?key=free&appid=0&msg={}'.format(urllib.parse.quote(msg))
    html = requests.get(url)
    rt = html.json()["content"]
    rt = rt.replace("{br}","\n")
    if robot_name is not None:
        rt = rt.replace("菲菲", robot_name)
    return rt

画像の説明を追加してください

完全なソースコードと資料については、下の名刺をクリックして入手してください〜

本日の記事はコチラ〜

それがあなたを助けるかどうかわかりませんか?

レッサーパンダです、また次の記事でお会いしましょう(✿◡‿◡)

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/m0_67575344/article/details/126587652