-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
58 lines (45 loc) · 2.06 KB
/
main.py
File metadata and controls
58 lines (45 loc) · 2.06 KB
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
"""
Main entry point for the OSINT Telegram bot.
Initializes modules, configures the bot, and starts polling.
"""
import asyncio
from aiogram import Bot, Dispatcher
from aiogram.client.default import DefaultBotProperties
from aiogram.enums import ParseMode
from bot.config import BOT_TOKEN
from bot.modules.manager import module_manager
# Import all modules to register them
from bot.modules.start import StartModule
from bot.modules.username_search import UsernameSearchModule
from bot.modules.ip_scan import IpScanModule
from bot.modules.number_scan import NumberScanModule
from bot.modules.username_search_blackbird import UsernameSearchBlackbirdModule
from bot.modules.email_search import EmailSearchModule
from bot.modules.dev import DevModule
from bot.modules.subscription import SubscriptionModule
from bot.modules.lang import LangModule
def init_modules() -> None:
"""Register all available modules with the module manager."""
# Free modules
module_manager.register_module(StartModule(), is_premium=False)
module_manager.register_module(UsernameSearchModule(), is_premium=False)
module_manager.register_module(IpScanModule(), is_premium=False)
module_manager.register_module(NumberScanModule(), is_premium=False)
module_manager.register_module(LangModule(), is_premium=False)
module_manager.register_module(SubscriptionModule(), is_premium=False)
module_manager.register_module(DevModule(), is_premium=False)
# Premium modules
module_manager.register_module(UsernameSearchBlackbirdModule(), is_premium=True)
module_manager.register_module(EmailSearchModule(), is_premium=True)
async def main() -> None:
"""Initialize and start the bot."""
print("[INFO] Bot started successfully!")
if not BOT_TOKEN:
raise ValueError("BOT_TOKEN is not set. Please configure your .env file.")
bot = Bot(token=BOT_TOKEN, default=DefaultBotProperties(parse_mode=ParseMode.HTML))
dp = Dispatcher()
init_modules()
module_manager.register_modules(dp)
await dp.start_polling(bot)
if __name__ == "__main__":
asyncio.run(main())