#!/usr/bin/env python3
# # -*- coding: utf-8 -*-

import sys
from bottle import post, run, request, static_file, route

sys.path.append("../../data/convert/31-0")
from db import *

db.bind(provider="sqlite", filename="../../data/clean/31-0/data.sqlite3")
db.generate_mapping()


@route("/pics/<filepath:path>")
def server_static(filepath):
    return static_file(filepath, root="../../data/render/output")


@post("/")
def recv_msg():
    data = request.json
    if (
        data["post_type"] == "message"
        and data["message_type"] == "group"
        and data["group_id"] == 346058845
    ):
        name = data["raw_message"]
        with db_session:
            query = select(m for m in Melee if m.name == name)
            if query.count() > 0:
                return {
                    "reply": f"[CQ:image,file=http://localhost:7000/pics/{name}.png]",
                    "at_sender": False,
                }
    return "OK"


run(host="localhost", port=7000)
