mirror of
https://github.com/Nick80835/microbot
synced 2025-08-22 18:19:16 +00:00
98 lines
2.9 KiB
Python
98 lines
2.9 KiB
Python
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
import inspect
|
|
import io
|
|
|
|
from PIL import Image
|
|
from requests import get
|
|
|
|
from ubot.micro_bot import micro_bot
|
|
|
|
ldr = micro_bot.loader
|
|
|
|
|
|
@ldr.add(pattern="corona")
|
|
async def corona(event):
|
|
corona_data = get("https://corona.lmao.ninja/all").json()
|
|
response_text = f"`Cases: `**{corona_data['cases']}**\n`Deaths: `**{corona_data['deaths']}**\n`Recoveries: `**{corona_data['recovered']}**"
|
|
await event.reply(response_text)
|
|
|
|
|
|
@ldr.add(pattern="chatid")
|
|
async def chatidgetter(event):
|
|
if event.is_reply:
|
|
reply = await event.get_reply_message()
|
|
if reply.forward and reply.forward.channel_id:
|
|
await event.reply(f"**Channel ID:**` {reply.forward.channel_id}`")
|
|
return
|
|
chat_id = reply.chat_id
|
|
else:
|
|
chat_id = event.chat_id
|
|
|
|
await event.reply(f"**Chat ID:**` {chat_id}`")
|
|
|
|
|
|
@ldr.add(pattern="userid")
|
|
async def useridgetter(event):
|
|
if event.is_reply:
|
|
reply = await event.get_reply_message()
|
|
user_id = reply.from_id
|
|
else:
|
|
user_id = event.from_id
|
|
|
|
await event.reply(f"**User ID:**` {user_id}`")
|
|
|
|
|
|
@ldr.add(pattern="profile")
|
|
async def userprofilegetter(event):
|
|
user_arg = event.pattern_match.group(1)
|
|
|
|
if user_arg:
|
|
try:
|
|
user_entity = await event.client.get_entity(user_arg)
|
|
except (ValueError, TypeError):
|
|
await event.reply("`The ID or username you provided was invalid!`")
|
|
return
|
|
elif event.is_reply:
|
|
reply = await event.get_reply_message()
|
|
reply_id = reply.from_id
|
|
if reply_id:
|
|
try:
|
|
user_entity = await event.client.get_entity(reply_id)
|
|
except (ValueError, TypeError):
|
|
await event.reply("`There was an error getting the user!`")
|
|
return
|
|
else:
|
|
await event.reply("`The user may have super sneaky privacy settings enabled!`")
|
|
return
|
|
else:
|
|
await event.reply("`Give me a user ID, username or reply!`")
|
|
return
|
|
|
|
userid = user_entity.id
|
|
username = user_entity.username
|
|
userfullname = f"{user_entity.first_name} {user_entity.last_name or ''}"
|
|
|
|
await event.reply(f"**Full Name:** {userfullname}\n**Username:** @{username}\n**User ID:** {userid}")
|
|
|
|
|
|
@ldr.add(pattern="stickpng")
|
|
async def stickertopng(event):
|
|
reply = await event.get_reply_message()
|
|
|
|
if reply.sticker:
|
|
sticker_webp_data = reply.sticker
|
|
else:
|
|
await event.reply("`Reply to a sticker to get it as a PNG file!`")
|
|
return
|
|
|
|
sticker_webp_io = io.BytesIO()
|
|
await event.client.download_media(sticker_webp_data, sticker_webp_io)
|
|
sticker_webp = Image.open(sticker_webp_io)
|
|
sticker_png_io = io.BytesIO()
|
|
sticker_webp.save(sticker_png_io, "PNG")
|
|
sticker_png_io.name = "sticker.png"
|
|
sticker_png_io.seek(0)
|
|
|
|
await event.reply(file=sticker_png_io, force_document=True)
|