diff --git a/database/__init__.py b/database/__init__.py index 0c56b527..dcbdfa0a 100644 --- a/database/__init__.py +++ b/database/__init__.py @@ -4,9 +4,8 @@ * @projectName MissKatyPyro * Copyright @YasirPedia All rights reserved """ -from motor.motor_asyncio import AsyncIOMotorClient as MongoClient +from async_pymongo import AsyncClient +from misskaty.vars import DATABASE_URI, DATABASE_NAME -from misskaty.vars import DATABASE_URI - -mongo = MongoClient(DATABASE_URI) -dbname = mongo.MissKatyDB +mongo = AsyncClient(DATABASE_URI) +dbname = mongo[DATABASE_NAME] diff --git a/database/afk_db.py b/database/afk_db.py index 5a6062e5..87644745 100644 --- a/database/afk_db.py +++ b/database/afk_db.py @@ -10,8 +10,8 @@ from database import dbname -usersdb = dbname.users -cleandb = dbname.cleanmode +usersdb = dbname["users"] +cleandb = dbname["cleanmode"] cleanmode = {} diff --git a/database/filters_db.py b/database/filters_db.py index fba5983b..66ac2004 100644 --- a/database/filters_db.py +++ b/database/filters_db.py @@ -2,7 +2,7 @@ from typing import Dict, List, Union from database import dbname -filtersdb = dbname.filters +filtersdb = dbname["filters"] async def _get_filters(chat_id: int) -> Dict[str, int]: diff --git a/database/gban_db.py b/database/gban_db.py index c7b5352c..05c455fd 100644 --- a/database/gban_db.py +++ b/database/gban_db.py @@ -1,6 +1,6 @@ from database import dbname -gbansdb = dbname.gban +gbansdb = dbname["gban"] async def is_gbanned_user(user_id: int) -> bool: diff --git a/database/imdb_db.py b/database/imdb_db.py index 90b840c6..f1ed2a78 100644 --- a/database/imdb_db.py +++ b/database/imdb_db.py @@ -1,6 +1,6 @@ from database import dbname -imbd_db = dbname.imdb +imbd_db = dbname["imdb"] async def is_imdbset(user_id: int) -> bool: diff --git a/database/karma_db.py b/database/karma_db.py index 5b7b19a0..a3c8ab31 100644 --- a/database/karma_db.py +++ b/database/karma_db.py @@ -3,7 +3,7 @@ from typing import Dict, Union from database import dbname from misskaty.helper.functions import int_to_alpha -karmadb = dbname.karma +karmadb = dbname["karma"] async def get_karmas_count() -> dict: diff --git a/database/locale_db.py b/database/locale_db.py index 39bbd318..d6823b54 100644 --- a/database/locale_db.py +++ b/database/locale_db.py @@ -4,7 +4,7 @@ from pyrogram.enums import ChatType from database import dbname -localesdb = dbname.locale # DB for localization +localesdb = dbname["locale"] # DB for localization group_types: Iterable[ChatType] = (ChatType.GROUP, ChatType.SUPERGROUP) diff --git a/database/notes_db.py b/database/notes_db.py index 89761702..e21432be 100644 --- a/database/notes_db.py +++ b/database/notes_db.py @@ -2,7 +2,7 @@ from typing import Dict, List, Union from database import dbname -notesdb = dbname.notes +notesdb = dbname["notes"] async def _get_notes(chat_id: int) -> Dict[str, int]: diff --git a/database/sangmata_db.py b/database/sangmata_db.py index 1ad76ac9..813355e0 100644 --- a/database/sangmata_db.py +++ b/database/sangmata_db.py @@ -1,6 +1,6 @@ from database import dbname -matadb = dbname.sangmata +matadb = dbname["sangmata"] # Get Data User diff --git a/database/users_chats_db.py b/database/users_chats_db.py index ce42892f..16ea6a3b 100644 --- a/database/users_chats_db.py +++ b/database/users_chats_db.py @@ -1,14 +1,13 @@ -import motor.motor_asyncio - +from async_pymongo import AsyncClient from misskaty.vars import DATABASE_NAME, DATABASE_URI -class Database: +class UsersData: def __init__(self, uri, database_name): - self._client = motor.motor_asyncio.AsyncIOMotorClient(uri) + self._client = AsyncClient(uri) self.db = self._client[database_name] - self.col = self.db.users - self.grp = self.db.groups + self.col = self.db["users"] + self.grp = self.db["groups"] @staticmethod def new_user(id, name): @@ -109,4 +108,4 @@ class Database: return (await self.db.command("dbstats"))["dataSize"] -db = Database(DATABASE_URI, DATABASE_NAME) +db = UsersData(DATABASE_URI, DATABASE_NAME) diff --git a/database/warn_db.py b/database/warn_db.py index 122cacf7..64ab6063 100644 --- a/database/warn_db.py +++ b/database/warn_db.py @@ -2,7 +2,7 @@ from typing import Dict, Union from database import dbname -warnsdb = dbname.warn +warnsdb = dbname["warn"] async def get_warns_count() -> dict: diff --git a/misskaty/__init__.py b/misskaty/__init__.py index d0aa5f17..715055c3 100644 --- a/misskaty/__init__.py +++ b/misskaty/__init__.py @@ -8,7 +8,6 @@ from logging import ERROR, INFO, StreamHandler, basicConfig, getLogger, handlers from apscheduler.jobstores.mongodb import MongoDBJobStore from apscheduler.schedulers.asyncio import AsyncIOScheduler from async_pymongo import AsyncClient -from motor.motor_asyncio import AsyncIOMotorClient from pymongo import MongoClient from pyrogram import Client diff --git a/misskaty/plugins/imdb_search.py b/misskaty/plugins/imdb_search.py index 7b163bed..d3194976 100644 --- a/misskaty/plugins/imdb_search.py +++ b/misskaty/plugins/imdb_search.py @@ -649,7 +649,7 @@ async def imdb_en_callback(self: Client, query: CallbackQuery): for i in r_json["creator"] if i["@type"] == "Person" ) - res_str += f"Writer: {creator[-2]}\n" + res_str += f"Writer: {creator[:-2]}\n" if r_json.get("actor"): actors = actors = "".join( f"{i['name']}, " for i in r_json["actor"] diff --git a/misskaty/plugins/inline_search.py b/misskaty/plugins/inline_search.py index a364d1ed..1860b331 100644 --- a/misskaty/plugins/inline_search.py +++ b/misskaty/plugins/inline_search.py @@ -11,7 +11,6 @@ from sys import version as pyver from bs4 import BeautifulSoup from deep_translator import GoogleTranslator -from motor import version as mongover from pykeyboard import InlineButton, InlineKeyboard from pyrogram import __version__ as pyrover from pyrogram import enums, filters @@ -26,6 +25,7 @@ from pyrogram.types import ( ) from misskaty import BOT_USERNAME, app, user +from misskaty.plugins.dev import shell_exec from misskaty.core.decorator.ratelimiter import ratelimiter from misskaty.helper import GENRES_EMOJI, http, post_to_telegraph, search_jw from misskaty.plugins.misc_tools import get_content @@ -50,6 +50,7 @@ LOGGER = getLogger() @app.on_inline_query() async def inline_menu(_, inline_query: InlineQuery): if inline_query.query.strip().lower().strip() == "": + aspymon_ver = (await shell_exec("pip freeze | grep async-pymongo"))[0] buttons = InlineKeyboard(row_width=2) buttons.add( *[ @@ -59,8 +60,8 @@ async def inline_menu(_, inline_query: InlineQuery): ) btn = InlineKeyboard(row_width=2) - bot_state = "Alive" if await app.get_me() else "Dead" - ubot_state = "Alive" if await user.get_me() else "Dead" + bot_state = "Alive" if USER_SESSION and await app.get_me() else "Dead" + ubot_state = "Alive" if USER_SESSION and await user.get_me() else "Dead" btn.add( InlineKeyboardButton("Stats", callback_data="stats_callback"), InlineKeyboardButton("Go Inline!", switch_inline_query_current_chat=""), @@ -72,10 +73,12 @@ async def inline_menu(_, inline_query: InlineQuery): **UserBot:** `{ubot_state}` **Python:** `{pyver.split()[0]}` **Pyrogram:** `{pyrover}` -**MongoDB:** `{mongover}` +**MongoDB:** `{aspymon_ver}` **Platform:** `{platform}` -**Profiles:** {(await app.get_me()).username} | {(await user.get_me()).first_name} +**Profiles:** {(await app.get_me()).username} """ + if USER_SESSION: + msg += f" | {(await user.get_me()).first_name}" answerss = [ InlineQueryResultArticle( title="Inline Commands", diff --git a/requirements.txt b/requirements.txt index 5cae3125..fd9efcc8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,7 +4,6 @@ tgcrypto async_pymongo pymongo python-dotenv -motor[srv]>=3.1.2 requests bs4 aiohttp