66from botspot .utils .internal import get_logger
77
88if TYPE_CHECKING :
9- from motor . motor_asyncio import AsyncIOMotorClient # noqa: F401
10- from motor . motor_asyncio import AsyncIOMotorDatabase # noqa: F401
9+ from pymongo import AsyncMongoClient # noqa: F401
10+ from pymongo . asynchronous . database import AsyncDatabase # noqa: F401
1111
1212logger = get_logger ()
1313
@@ -28,7 +28,7 @@ def setup_dispatcher(dp):
2828 return dp
2929
3030
31- def get_database () -> "AsyncIOMotorDatabase " :
31+ def get_database () -> "AsyncDatabase " :
3232 """Get MongoDB database instance from dependency manager."""
3333 from botspot .core .dependency_manager import get_dependency_manager
3434
@@ -38,7 +38,7 @@ def get_database() -> "AsyncIOMotorDatabase":
3838 return db
3939
4040
41- def get_mongo_client () -> "AsyncIOMotorClient " :
41+ def get_mongo_client () -> "AsyncMongoClient " :
4242 """Get MongoDB client instance from dependency manager."""
4343 from botspot .core .dependency_manager import get_dependency_manager
4444
@@ -52,34 +52,34 @@ def get_mongo_client() -> "AsyncIOMotorClient":
5252
5353def initialize (
5454 settings : MongoDatabaseSettings ,
55- ) -> Tuple [Optional ["AsyncIOMotorClient " ], Optional ["AsyncIOMotorDatabase " ]]:
55+ ) -> Tuple [Optional ["AsyncMongoClient " ], Optional ["AsyncDatabase " ]]:
5656 """Initialize MongoDB connection and return both client and database.
5757
5858 Args:
5959 settings: MongoDB settings
6060
6161 Returns:
62- Tuple of (AsyncIOMotorClient, AsyncIOMotorDatabase ) or (None, None) if disabled
62+ Tuple of (AsyncMongoClient, AsyncDatabase ) or (None, None) if disabled
6363
6464 Raises:
65- ImportError: If motor is not installed
65+ ImportError: If pymongo is not installed
6666 """
6767 # Check if MongoDB is enabled
6868 if not settings .enabled :
6969 logger .info ("MongoDB is disabled" )
7070 return None , None
7171
72- # Check if motor is installed
72+ # Check if pymongo is installed
7373 try :
74- from motor . motor_asyncio import AsyncIOMotorClient
74+ from pymongo import AsyncMongoClient
7575 except ImportError :
76- logger .error ("motor package is not installed. Please install it to use MongoDB." )
76+ logger .error ("pymongo package is not installed. Please install it to use MongoDB." )
7777 raise ImportError (
78- "motor package is not installed. Run 'poetry add motor ' or 'pip install motor '"
78+ "pymongo package is not installed. Run 'uv add pymongo ' or 'pip install pymongo '"
7979 )
8080
8181 # Initialize client and database
82- client = AsyncIOMotorClient (settings .conn_str .get_secret_value ())
82+ client = AsyncMongoClient (settings .conn_str .get_secret_value ())
8383 db = client [settings .database ]
8484 logger .info (f"MongoDB client initialized. Database: { settings .database } " )
8585 return client , db
0 commit comments