commit 98c1e18aab12bc1a6c570a4643f8055d3cea6281 Author: woni <320753691@qq.com> Date: Tue Jan 16 19:23:18 2024 +0800 first commit diff --git a/.env b/.env new file mode 100644 index 0000000..f1c151c --- /dev/null +++ b/.env @@ -0,0 +1,6 @@ +APP_ID = "cli_a5110cd1da70900b" +APP_SECRET = "XwTUlUq7dGK1XexUS7ljShJJ7t1MIwXF" + +ENCRYPT_KEY = "z313YkENr4du2oDw" +VERIFICATION_TOKEN = "35LaoAPYTXRyBmjeaBvzRbRUsJSL1KBx" + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f7275bb --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +venv/ diff --git a/demo.py b/demo.py new file mode 100644 index 0000000..cf2f467 --- /dev/null +++ b/demo.py @@ -0,0 +1,52 @@ +import os +import lark_oapi as lark + +import lark_oapi as lark + +from flask import Flask +from dotenv import load_dotenv +from lark_oapi.adapter.flask import * +from lark_oapi.api.im.v1 import * + + +load_dotenv() + +app_id = os.environ["APP_ID"] +app_secret = os.environ["APP_SECRET"] + +encrypt_key = os.environ["ENCRYPT_KEY"] +verification_token = os.environ["VERIFICATION_TOKEN"] + +# 创建client +client = lark.Client.builder().app_id(app_id).app_secret(app_secret).build() + + +app = Flask(__name__) + + +def do_p2_im_message_receive_v1(data: P2ImMessageReceiveV1) -> None: + print(lark.JSON.marshal(data)) + + +def do_customized_event(data: lark.CustomizedEvent) -> None: + print(lark.JSON.marshal(data)) + + +handler = ( + lark.EventDispatcherHandler.builder( + encrypt_key, verification_token, lark.LogLevel.DEBUG + ) + .register_p2_im_message_receive_v1(do_p2_im_message_receive_v1) + .register_p1_customized_event("message", do_customized_event) + .build() +) + + +@app.route("/event", methods=["POST"]) +def event(): + resp = handler.do(parse_req()) + return parse_resp(resp) + + +if __name__ == "__main__": + app.run(port=8080, debug=True, methods=["POST", "GET"]) diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..0f4a513 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,16 @@ +blinker==1.7.0 +certifi==2023.11.17 +charset-normalizer==3.3.2 +click==8.1.7 +Flask==3.0.0 +idna==3.6 +itsdangerous==2.1.2 +Jinja2==3.1.3 +lark-oapi==1.0.28 +MarkupSafe==2.1.3 +pycryptodome==3.20.0 +python-dotenv==1.0.0 +requests==2.31.0 +requests-toolbelt==1.0.0 +urllib3==2.1.0 +Werkzeug==3.0.1