mirror of
https://github.com/MuRuLOSE/limoka.git
synced 2026-06-18 23:24:18 +02:00
Commited backup
This commit is contained in:
116
CakesTwix/Hikka-Modules/random_tools.py
Normal file
116
CakesTwix/Hikka-Modules/random_tools.py
Normal file
@@ -0,0 +1,116 @@
|
||||
"""
|
||||
|
||||
█▀▀ ▄▀█ █▄▀ █▀▀ █▀ ▀█▀ █░█░█ █ ▀▄▀
|
||||
█▄▄ █▀█ █░█ ██▄ ▄█ ░█░ ▀▄▀▄▀ █ █░█
|
||||
|
||||
Copyleft 2022 t.me/CakesTwix
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
|
||||
"""
|
||||
|
||||
__version__ = (1, 1, 0)
|
||||
|
||||
# meta pic: https://i0.wp.com/alliancestake.org/wp-content/uploads/2017/09/icon-circle-tools-blue-1.png?fit=300%2C300&ssl=1
|
||||
# meta developer: @cakestwix_mods
|
||||
|
||||
import logging
|
||||
import aiohttp
|
||||
import asyncio
|
||||
from .. import loader, utils
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@loader.unrestricted
|
||||
@loader.ratelimit
|
||||
@loader.tds
|
||||
class RToolsMod(loader.Module):
|
||||
"""Random tools"""
|
||||
|
||||
strings = {
|
||||
"name": "Tools",
|
||||
"no_found": "No found",
|
||||
"no_args": "Not found args, pls check help",
|
||||
"general_error": "Oh no, cringe, error",
|
||||
}
|
||||
|
||||
strings_ru = {
|
||||
"no_found": "Не найдено",
|
||||
"no_args": "Аргументы не найдены, пожалуйста, проверьте справку",
|
||||
"general_error": "❗️Ашибка❗️ ",
|
||||
}
|
||||
|
||||
@loader.unrestricted
|
||||
@loader.ratelimit
|
||||
async def mac2vendorcmd(self, message):
|
||||
"""Get vendor name by mac"""
|
||||
if args := utils.get_args(message):
|
||||
mac = args[0].lower()
|
||||
async with aiohttp.ClientSession() as session:
|
||||
async with session.get(f"http://api.macvendors.com/{mac}") as get:
|
||||
if get.ok:
|
||||
await utils.answer(message, await get.text())
|
||||
else:
|
||||
await utils.answer(message, self.strings["no_found"])
|
||||
await asyncio.sleep(5)
|
||||
await message.delete()
|
||||
else:
|
||||
await utils.answer(message, self.strings["no_args"])
|
||||
await asyncio.sleep(5)
|
||||
await message.delete()
|
||||
|
||||
@loader.unrestricted
|
||||
@loader.ratelimit
|
||||
async def oneptcmd(self, message):
|
||||
"""A simple URL shortener (1pt.co)"""
|
||||
if args := utils.get_args(message):
|
||||
mac = args[0].lower()
|
||||
async with aiohttp.ClientSession() as session:
|
||||
async with session.get(f"https://api.1pt.co/addURL?long={mac}") as get:
|
||||
if get.ok:
|
||||
answer_json = await get.json()
|
||||
await utils.answer(message, "1pt.co/" + answer_json["short"])
|
||||
else:
|
||||
await utils.answer(message, self.strings["general_error"])
|
||||
await asyncio.sleep(5)
|
||||
await message.delete()
|
||||
else:
|
||||
await utils.answer(message, self.strings["no_args"])
|
||||
await asyncio.sleep(5)
|
||||
await message.delete()
|
||||
|
||||
@loader.unrestricted
|
||||
@loader.ratelimit
|
||||
async def npcmd(self, message):
|
||||
"""Нова Пошта"""
|
||||
if args := utils.get_args(message):
|
||||
document_number = args[0].lower()
|
||||
|
||||
data = {
|
||||
"apiKey": "abe3a74549c55e4b703ed042c5169406",
|
||||
"modelName": "TrackingDocument",
|
||||
"calledMethod": "getStatusDocuments",
|
||||
"methodProperties": {
|
||||
"Documents": [{"DocumentNumber": document_number, "Phone": ""}]
|
||||
},
|
||||
}
|
||||
|
||||
async with aiohttp.ClientSession() as session:
|
||||
async with session.get(
|
||||
"https://api.novaposhta.ua/v2.0/json/", json=data
|
||||
) as get:
|
||||
answer = await get.json()
|
||||
await session.close()
|
||||
item = answer["data"][0]
|
||||
|
||||
caption = f"Экспресс-накладная: {item['Number']}"
|
||||
caption += f"\nСтатус: {item['Status']}"
|
||||
if "DateCreated" in item:
|
||||
caption += f"\nБыло создано: {item['DateCreated']}"
|
||||
caption += f"\nОжид. дата доставки: {item['ScheduledDeliveryDate']}"
|
||||
caption += f"\n{item['CitySender']} -> {item['CityRecipient']}"
|
||||
|
||||
if item.get("DocumentCost") is not None:
|
||||
caption += f"\nЦена доставки: {item['DocumentCost']} грн."
|
||||
|
||||
await utils.answer(message, caption)
|
||||
Reference in New Issue
Block a user