File size: 1,477 Bytes
8bef42a
c5b19bf
8bef42a
ff41199
8bef42a
ff41199
8bef42a
 
 
 
ecf3d1e
 
8bef42a
99d08e8
8bef42a
 
 
 
 
ecf3d1e
 
8bef42a
ecf3d1e
c5b19bf
ecf3d1e
 
1001fe0
8bef42a
1001fe0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5edf6d2
ecf3d1e
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
import logging
from contextlib import asynccontextmanager
from akenoai import AkenoXToJs as js
from akenoai.runner import run_fast
from config import API_ID, API_HASH, BOT_TOKEN

logger = logging.getLogger(__name__)
LOGS = logging.getLogger("[akenox]")
logger.setLevel(logging.DEBUG)

fast_app = js.get_app()

client = js.create_pyrogram(
    name="fastapi-bot",
    api_id=API_ID,
    api_hash=API_HASH,
    bot_token=BOT_TOKEN
)

@fast_app.on_event("startup")
async def startup_event():
    user = await client.start()
    LOGS.info(f"Started Bot: {user.me.first_name}")

@fast_app.get("/")
async def hello():
    return {"success": "hello world!"}

@fast_app.get("/user/get_user")
async def get_user(user_id=None):
    get_users = await client.get_users(user_id)
    return {
        "id": get_users.id,
        "is_self": get_users.is_self,
        "is_contact": get_users.is_contact,
        "is_mutual_contact": get_users.is_mutual_contact,
        "is_deleted": get_users.is_deleted,
        "is_bot": get_users.is_bot,
        "is_verified": get_users.is_verified,
        "is_restricted": get_users.is_restricted,
        "is_scam": get_users.is_scam,
        "is_fake": get_users.is_fake,
        "is_support": get_users.is_support,
        "is_premium": get_users.is_premium,
        "first_name": get_users.first_name,
        "status": get_users.status.name,
        "username": get_users.username if get_users else None,
    }

run_fast(build=fast_app, port=7860)