# * _ __ __ _ _
# * / \ _ _ _ __ ___ _ __ __ _| \/ | ___ __| |_ _| | ___ ___
# * / _ \| | | | '__/ _ \| '__/ _` | |\/| |/ _ \ / _` | | | | |/ _ \/ __|
# * / ___ \ |_| | | | (_) | | | (_| | | | | (_) | (_| | |_| | | __/\__ \
# * /_/ \_\__,_|_| \___/|_| \__,_|_| |_|\___/ \__,_|\__,_|_|\___||___/
# *
# * © Copyright 2024
# *
# * https://t.me/AuroraModules
# *
# * 🔒 Code is licensed under GNU AGPLv3
# * 🌐 https://www.gnu.org/licenses/agpl-3.0.html
# * ⛔️ You CANNOT edit this file without direct permission from the author.
# * ⛔️ You CANNOT distribute this file if you have modified it without the direct permission of the author.
# Name: Wikipedia
# Author: dend1yya
# Commands:
# .wikiru | wikien
# scope: hikka_only
# meta developer: @AuroraModules
# meta pic: https://i.postimg.cc/Hx3Zm8rB/logo.png
# meta banner: https://te.legra.ph/file/ee1bb476a643bb85b5723.jpg
version = (1, 0, 0)
import wikipedia # type: ignore
from .. import loader, utils
class WikipediaMod(loader.Module):
"""Search for information on Wikipedia"""
strings = {
"name": "Wikipedia",
"EnterRequest": "❌ Enter your search term on Wikipedia.",
"SResult": "✔️ Wikipedia search result:",
"IncorrectRequest": "🦋 Several possible options have been found. Specify your request:",
"NotFound": "❌ Nothing was found for your query.",
"ErrorRequest": "❌ An error occurred while executing the request:",
}
strings_ru = {
"EnterRequest": "❌ Введите свой поисковый запрос на Википедии.",
"SResult": "✔️ Результат поиска на Википедии:",
"IncorrectRequest": "🦋 Было найдено несколько возможных вариантов. Уточните ваш запрос:",
"NotFound": "❌ По вашему запросу ничего не найдено.",
"ErrorRequest": "❌ При выполнении запроса произошла ошибка:",
}
strings_uz = {
"EnterRequest": "❌ Vikipediya da qidirish so'zini kiriting.",
"SResult": "✔️ Vikipediya qidiruv natijasi:",
"IncorrectRequest": "🦋 Bir nechta mumkin variant topildi. So'rovingizni aniqlang:",
"NotFound": "❌ Sizning so'rovingiz uchun hech narsa topilmadi.",
"ErrorRequest": "❌ So'rovni bajarish jarayonida xatolik yuz berdi:",
}
strings_de = {
"EnterRequest": "❌ Geben Sie Ihren Suchbegriff auf Wikipedia ein.",
"SResult": "✔️ Wikipedia-Suchergebnis:",
"IncorrectRequest": "🦋 Mehrere mögliche Optionen wurden gefunden. Präzisieren Sie Ihre Anfrage:",
"NotFound": "❌ Für Ihre Anfrage wurde nichts gefunden.",
"ErrorRequest": "❌ Beim Ausführen der Anfrage ist ein Fehler aufgetreten:",
}
strings_es = {
"EnterRequest": "❌ Ingrese su término de búsqueda en Wikipedia.",
"SResult": "✔️ Resultado de la búsqueda en Wikipedia:",
"IncorrectRequest": "🦋 Se encontraron varias opciones posibles. Especifique su solicitud:",
"NotFound": "❌ No se encontró nada para su consulta.",
"ErrorRequest": "❌ Se produjo un error al ejecutar la solicitud:",
}
@loader.command(
ru_doc="[prompt] - Поиск материала в Википедии на русском языке.",
uz_doc="[prompt] - Vikipediyada materialni rus tilida qidiring.",
de_doc="[prompt] - Material in der Wikipedia auf Russisch suchen.",
es_doc="[prompt] - Buscar material en Wikipedia en ruso.",
)
async def wikiru(self, message):
"""[prompt] - Search for material in Wikipedia in Russian."""
args = utils.get_args_raw(message)
if not args:
await utils.answer(message, self.strings['EnterRequest'])
return
try:
wikipedia.set_lang("ru")
_search_result = wikipedia.summary(args)
await utils.answer(message, f"{self.strings_ru['SResult']}\n\n{_search_result}")
except wikipedia.DisambiguationError as e:
await utils.answer(message, f"{self.strings['IncorrectRequest']}\n{', '.join(e.options)}")
except wikipedia.PageError:
await utils.answer(message, self.strings['NotFound'])
except Exception as e:
await utils.answer(message, f"{self.strings['ErrorRequest']} {e}")
@loader.command(
ru_doc="[prompt] - Поиск материала в Википедии на английском языке.",
uz_doc="[prompt] - Vikipediyada materialni ingliz tilida qidiring.",
de_doc="[prompt] - Material in der Wikipedia auf Englisch suchen.",
es_doc="[prompt] - Buscar material en Wikipedia en inglés.",
)
async def wikien(self, message):
"""[prompt] - Search for material in Wikipedia in English."""
args = utils.get_args_raw(message)
if not args:
await utils.answer(message, self.strings['EnterRequest'])
return
try:
wikipedia.set_lang("en")
_search_result = wikipedia.summary(args)
await utils.answer(message, f"{self.strings['SResult']}\n\n{_search_result}")
except wikipedia.DisambiguationError as e:
await utils.answer(message, f"{self.strings['IncorrectRequest']}\n{', '.join(e.options)}")
except wikipedia.PageError:
await utils.answer(message, self.strings['NotFound'])
except Exception as e:
await utils.answer(message, f"{self.strings['ErrorRequest']} {e}")