File size: 2,183 Bytes
8bef42a
c5b19bf
8bef42a
ff41199
8bef42a
ff41199
8bef42a
 
 
 
ecf3d1e
 
8bef42a
99d08e8
8bef42a
 
 
 
 
ecf3d1e
 
8bef42a
ecf3d1e
c5b19bf
ecf3d1e
 
1001fe0
8bef42a
1001fe0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
92e82d0
 
 
 
 
1001fe0
 
92e82d0
 
1001fe0
92e82d0
 
 
 
 
 
 
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
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,
        "is_contact_require_premium": get_users.is_contact_require_premium,
        "is_close_friend": get_users.is_close_friend,
        "is_stories_hidden": get_users.is_stories_hidden,
        "is_stories_unavailable": get_users.is_stories_unavailable,
        "is_business_bot": get_users.is_business_bot,
        "first_name": get_users.first_name,
        "status": get_users.status.name,
        "last_online_date": get_users.last_online_date,
        "dc_id": get_users.dc_id,
        "username": get_users.username if get_users else None,
        "photo": {
            "small_file_id": get_users.small_file_id,
            "small_photo_unique_id": get_users.small_photo_unique_id,
            "big_file_id": get_users.big_file_id,
            "has_animation": get_users.has_animation,
            "is_personal": get_users.is_personal
        }
    }

run_fast(build=fast_app, port=7860)