diff --git a/hikka/modules/fheta.py b/hikka/modules/fheta.py
index 4afb051..30b2e22 100644
--- a/hikka/modules/fheta.py
+++ b/hikka/modules/fheta.py
@@ -1,4 +1,4 @@
-__version__ = (3, 3, 3)
+__version__ = (3, 3, 4)
# meta developer: @Foxy437
# change-log: đđđđđđđđ ADDED INLINE!!!
# ÂŠī¸ Fixyres, 2024
@@ -16,7 +16,6 @@ import json
import io
import inspect
from hikkatl.types import Message
-from difflib import get_close_matches
import random
from ..types import InlineQuery
@@ -79,22 +78,7 @@ class FHeta(loader.Module):
modules = await self.search_modules(args.replace(" ", ""))
if not modules:
- modules = await self.get_closest_match(args)
-
- if modules:
- result = self.strings["closest_match"].format(
- query=args,
- module_name=modules[0]["name"],
- author=modules[0].get("author", "???"),
- repo_url=f"https://github.com/{modules[0]['repo']}",
- install_command=f"{self.get_prefix()}{modules[0]['install']}",
- description=utils.escape_html(modules[0].get("description", "No description")),
- commands=self.strings["commands"].format(commands_list="\n".join(
- [f"{self.get_prefix()}{cmd['name']}
{utils.escape_html(cmd['description'])}" for cmd in modules[0].get('commands', [])]))
- )
- await utils.answer(message, result)
- else:
- await utils.answer(message, self.strings["no_modules_found"])
+ await utils.answer(message, self.strings["no_modules_found"])
else:
seen_modules = set()
formatted_modules = []
@@ -106,15 +90,18 @@ class FHeta(loader.Module):
install = module['install']
commands_section = ""
- if "commands" in module:
- commands_list = "\n".join(
+ if "commands" in module and module['commands']:
+ commands_section = self.strings["commands"].format(commands_list="\n".join(
[f"{self.get_prefix()}{cmd['name']}
{utils.escape_html(cmd['description'])}" for cmd in module['commands']]
- )
- commands_section = self.strings["commands"].format(commands_list=commands_list)
+ ))
+ elif "commands" not in module or not module['commands']:
+ commands_section = self.strings["no_commands"]
description_section = ""
- if "description" in module:
+ if "description" in module and module["description"]:
description_section = self.strings["description"].format(description=utils.escape_html(module["description"]))
+ elif "description" not in module or not module["description"]:
+ description_section = self.strings["no_description"]
author_info = utils.escape_html(module.get("author", "???"))
module_name = utils.escape_html(module['name'].replace('.py', ''))
@@ -140,16 +127,8 @@ class FHeta(loader.Module):
continue
if len(formatted_modules) == 1:
- result = self.strings["closest_match"].format(
- query=args,
- module_name=module_name,
- author=author_info,
- repo_url=repo_url,
- install_command=f"{self.get_prefix()}{install}",
- description=description_section,
- commands=commands_section
- )
- await utils.answer(message, result)
+ closest_match_result = formatted_modules[0]
+ await utils.answer(message, closest_match_result)
else:
results = "".join(formatted_modules)
await utils.answer(message, results)
@@ -180,9 +159,6 @@ class FHeta(loader.Module):
if not modules:
modules = await self.search_modules(args.replace(" ", ""))
- if not modules:
- modules = await self.get_closest_match(args)
-
if not modules:
await query.answer(
[
@@ -260,23 +236,6 @@ class FHeta(loader.Module):
await query.answer(results)
- async def get_closest_match(self, query: str):
- url = "https://raw.githubusercontent.com/Fixyres/FHeta/refs/heads/main/modules.json"
- async with aiohttp.ClientSession() as session:
- async with session.get(url) as response:
- if response.status == 200:
- data = await response.text()
- modules = json.loads(data)
-
- module_names = [module['name'] for module in modules]
- closest_matches = get_close_matches(query, module_names, n=1, cutoff=0.5)
-
- if closest_matches:
- module = next((m for m in modules if m['name'] == closest_matches[0]), None)
- if module:
- return await self.format_module(module, query)
- return None
-
async def search_modules(self, query: str):
url = "https://raw.githubusercontent.com/Fixyres/FHeta/refs/heads/main/modules.json"
async with aiohttp.ClientSession() as session: