import json, requests
from .. import loader, utils
def register(cb):
cb(DictionaryMod())
class DictionaryMod(loader.Module):
"""Словарь."""
strings = {'name': 'Dictionary'}
async def meancmd(self, message):
"""Использование: .mean <слово>."""
args = utils.get_args_raw(message)
if not args:
return await message.edit('Нет аргументов.')
await message.edit('Узнаем...')
lang = None
alphabet = {"а","б","в","г","д","е","ё","ж","з","и","й","к","л","м","н","о",
"п","р","с","т","у","ф","х","ц","ч","ш","щ","ъ","ы","ь","э","ю","я"}
for char in args:
if char in alphabet:
lang = 'ru'
else:
lang = 'en'
r = requests.get(f'https://api.dictionaryapi.dev/api/v2/entries/{lang}/{args}')
js = json.loads(r.text)
df = ''
try:
for i in js[0]["meanings"][0]["definitions"]:
try:
df += (f'{i["definition"]} ')
except:
return
except:
await message.edit(f'◆ {args} - Такого слова нет в словаре.')
return
ex = ''
count = 0
mess = (f'{js[0]["word"]}, {js[0]["meanings"][0]["partOfSpeech"]}.\n\n'
f'◆ Значение: {df}\n')
try:
for i in js[0]["meanings"][0]["definitions"]:
count += 1
ex += f'\n{count}) {i["example"]}'
alert = ''.join(ex)
except:
await message.edit(mess)
return
await message.edit(f'{mess}◆ Примеры применения слова: {alert}')