MCPcopy Create free account
hub / github.com/TechifyBots/Rename-Bot / TechifyBots

Class TechifyBots

plugins/fsub.py:9–43  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7from config import Config
8
9class TechifyBots:
10 def __init__(self):
11 client = AsyncIOMotorClient(Config.DB_URL)
12 db = client[Config.DB_NAME]
13 self.join_requests = db["join_requests"]
14 self.fsub_cache = db["fsub_cache"]
15
16 async def add_join_req(self, user_id: int, channel_id: int):
17 await self.join_requests.update_one(
18 {"user_id": user_id},
19 {"$addToSet": {"channels": channel_id}, "$set": {"created_at": datetime.datetime.utcnow()}},
20 upsert=True
21 )
22
23 async def has_joined_channel(self, user_id: int, channel_id: int) -> bool:
24 doc = await self.join_requests.find_one({"user_id": user_id})
25 return bool(doc and channel_id in doc.get("channels", []))
26
27 async def del_join_req(self):
28 await self.join_requests.drop()
29 await self.fsub_cache.drop()
30
31 async def save_fsub_msg(self, user_id: int, message_id: int):
32 await self.fsub_cache.update_one(
33 {"user_id": user_id},
34 {"$set": {"message_id": message_id, "created_at": datetime.datetime.utcnow()}},
35 upsert=True
36 )
37
38 async def get_fsub_msg(self, user_id: int):
39 doc = await self.fsub_cache.find_one({"user_id": user_id})
40 return doc.get("message_id") if doc else None
41
42 async def delete_fsub_msg_db(self, user_id: int):
43 await self.fsub_cache.delete_one({"user_id": user_id})
44
45tb = TechifyBots()
46

Callers 1

fsub.pyFile · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected