File size: 1,270 Bytes
3227087 28311a1 3227087 28311a1 3227087 28311a1 3227087 28311a1 3227087 28311a1 3227087 28311a1 3227087 28311a1 3227087 28311a1 3227087 28311a1 3227087 28311a1 3227087 28311a1 3227087 28311a1 3227087 28311a1 3227087 28311a1 3227087 28311a1 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | import os
import duckdb
import uvicorn
from fastapi import FastAPI
from huggingface_hub import hf_hub_download
app = FastAPI(title="Telegram API")
DB_PATH = None
def get_db():
global DB_PATH
if DB_PATH is None:
DB_PATH = hf_hub_download(
repo_id="fdsgfuisfydgiuef/Telegram",
repo_type="dataset",
filename="Midnight_Master_v2.db",
token=os.getenv("HF_TOKEN")
)
return DB_PATH
@app.get("/")
def home():
return {
"status": True,
"message": "Telegram API Running"
}
@app.get("/search")
def search(q: str):
db = get_db()
con = duckdb.connect()
con.execute("INSTALL sqlite;")
con.execute("LOAD sqlite;")
try:
result = con.execute(f"""
SELECT *
FROM sqlite_scan('{db}','telegram_users')
WHERE user_id LIKE '{q}%'
LIMIT 20
""").fetchall()
return {
"status": True,
"count": len(result),
"results": result
}
except Exception as e:
return {
"status": False,
"error": str(e)
}
finally:
con.close()
if __name__ == "__main__":
uvicorn.run(app, host="0.0.0.0", port=7860) |