Add botapi search

This commit is contained in:
yasir 2023-02-07 11:39:36 +07:00
parent 88c16a3d83
commit 2dfe015c2a
5 changed files with 23 additions and 2 deletions

View file

@ -1,5 +1,5 @@
import time
import pyromod
import pyromod.listen
from logging import ERROR, INFO, FileHandler, StreamHandler, basicConfig, getLogger
from pyrogram import Client

View file

@ -121,6 +121,7 @@ keyboard = InlineKeyboardMarkup(
@app.on_message(filters.command("start", COMMAND_HANDLER))
async def start(_, message):
if not message.from_user: return
if message.chat.type.value != "private":
if not await db.get_chat(message.chat.id):
total = await app.get_chat_members_count(message.chat.id)
@ -191,6 +192,7 @@ async def stats_callbacc(_, CallbackQuery):
@app.on_message(filters.command("help", COMMAND_HANDLER))
async def help_command(_, message):
if not message.from_user: return
if message.chat.type.value != "private":
if not await db.get_chat(message.chat.id):
total = await app.get_chat_members_count(message.chat.id)

View file

@ -74,6 +74,7 @@ async def admin_cache_func(_, cmu):
@app.on_message(filters.command("purge", COMMAND_HANDLER) & filters.group)
@adminsOnly("can_delete_messages")
async def purge(_, message):
if not message.from_user: return
try:
repliedmsg = message.reply_to_message
await message.delete()
@ -127,6 +128,7 @@ async def purge(_, message):
@app.on_message(filters.command(["kick", "dkick"], COMMAND_HANDLER) & filters.group)
@adminsOnly("can_restrict_members")
async def kickFunc(client, message):
if not message.from_user: return
user_id, reason = await extract_user_and_reason(message)
if not user_id:
return await message.reply_text("I can't find that user.")
@ -156,6 +158,7 @@ async def kickFunc(client, message):
@app.on_message(filters.command(["ban", "dban", "tban"], COMMAND_HANDLER) & filters.group)
@adminsOnly("can_restrict_members")
async def banFunc(client, message):
if not message.from_user: return
user_id, reason = await extract_user_and_reason(message, sender_chat=True)
if not user_id:
@ -206,6 +209,7 @@ async def banFunc(client, message):
@app.on_message(filters.command("unban", COMMAND_HANDLER) & filters.group)
@adminsOnly("can_restrict_members")
async def unban_func(_, message):
if not message.from_user: return
# we don't need reasons for unban, also, we
# don't need to get "text_mention" entity, because
# normal users won't get text_mention if the user
@ -229,6 +233,7 @@ async def unban_func(_, message):
# Ban users listed in a message
@app.on_message(filters.user(SUDO) & filters.command("listban", COMMAND_HANDLER) & filters.group)
async def list_ban_(c, message):
if not message.from_user: return
userid, msglink_reason = await extract_user_and_reason(message)
if not userid or not msglink_reason:
return await message.reply_text("Provide a userid/username along with message link and reason to list-ban")
@ -278,6 +283,7 @@ async def list_ban_(c, message):
# Unban users listed in a message
@app.on_message(filters.user(SUDO) & filters.command("listunban", COMMAND_HANDLER) & filters.group)
async def list_unban_(c, message):
if not message.from_user: return
userid, msglink = await extract_user_and_reason(message)
if not userid or not msglink:
return await message.reply_text("Provide a userid/username along with message link to list-unban")
@ -320,6 +326,7 @@ async def list_unban_(c, message):
@app.on_message(filters.command("del", COMMAND_HANDLER) & filters.group)
@adminsOnly("can_delete_messages")
async def deleteFunc(_, message):
if not message.from_user: return
if not message.reply_to_message:
return await message.reply_text("Reply To A Message To Delete It")
try:
@ -333,6 +340,7 @@ async def deleteFunc(_, message):
@app.on_message(filters.command(["promote", "fullpromote"], COMMAND_HANDLER) & filters.group)
@adminsOnly("can_promote_members")
async def promoteFunc(client, message):
if not message.from_user: return
try:
user_id = await extract_user(message)
umention = (await app.get_users(user_id)).mention
@ -377,6 +385,7 @@ async def promoteFunc(client, message):
@app.on_message(filters.command("demote", COMMAND_HANDLER) & filters.group)
@adminsOnly("can_promote_members")
async def demote(client, message):
if not message.from_user: return
user_id = await extract_user(message)
if not user_id:
return await message.reply_text("I can't find that user.")
@ -403,6 +412,7 @@ async def demote(client, message):
@app.on_message(filters.command(["pin", "unpin"], COMMAND_HANDLER) & filters.group)
@adminsOnly("can_pin_messages")
async def pin(_, message):
if not message.from_user: return
if not message.reply_to_message:
return await message.reply_text("Reply to a message to pin/unpin it.")
r = message.reply_to_message
@ -429,6 +439,7 @@ async def pin(_, message):
@app.on_message(filters.command(["mute", "tmute"], COMMAND_HANDLER) & filters.group)
@adminsOnly("can_restrict_members")
async def mute(client, message):
if not message.from_user: return
try:
user_id, reason = await extract_user_and_reason(message)
except Exception as err:
@ -475,6 +486,7 @@ async def mute(client, message):
@app.on_message(filters.command("unmute", COMMAND_HANDLER) & filters.group)
@adminsOnly("can_restrict_members")
async def unmute(_, message):
if not message.from_user: return
user_id = await extract_user(message)
if not user_id:
return await message.reply_text("I can't find that user.")
@ -487,6 +499,7 @@ async def unmute(_, message):
@app.on_message(filters.command("ban_ghosts", COMMAND_HANDLER) & filters.group)
@adminsOnly("can_restrict_members")
async def ban_deleted_accounts(_, message):
if not message.from_user: return
chat_id = message.chat.id
deleted_users = []
m = await message.reply("Finding ghosts...")
@ -510,6 +523,7 @@ async def ban_deleted_accounts(_, message):
@app.on_message(filters.command(["warn", "dwarn"], COMMAND_HANDLER) & filters.group)
@adminsOnly("can_restrict_members")
async def warn_user(client, message):
if not message.from_user: return
user_id, reason = await extract_user_and_reason(message)
chat_id = message.chat.id
if not user_id:
@ -612,6 +626,7 @@ async def unban_user(_, cq):
@app.on_message(filters.command("rmwarn", COMMAND_HANDLER) & filters.group)
@adminsOnly("can_restrict_members")
async def remove_warnings(_, message):
if not message.from_user: return
if not message.reply_to_message:
return await message.reply_text("Reply to a message to remove a user's warnings.")
user_id = message.reply_to_message.from_user.id
@ -631,6 +646,7 @@ async def remove_warnings(_, message):
@app.on_message(filters.command("warns", COMMAND_HANDLER) & filters.group)
@capture_err
async def check_warns(_, message):
if not message.from_user: return
user_id = await extract_user(message)
if not user_id:
return await message.reply_text("I can't find that user.")
@ -647,6 +663,7 @@ async def check_warns(_, message):
@app.on_message((filters.command("report", COMMAND_HANDLER) | filters.command(["admins", "admin"], prefixes="@")) & filters.group)
@capture_err
async def report_user(_, message):
if not message.from_user: return
if not message.reply_to_message:
return await message.reply_text("Reply to a message to report that user.")
reply = message.reply_to_message

View file

@ -185,6 +185,7 @@ async def active_afk(_, message):
@app.on_message(filters.command("afkdel", COMMAND_HANDLER) & filters.group)
@adminsOnly("can_change_info")
async def afk_state(_, message):
if not message.from_user: return
usage = "**Usage:**\n/afkdel [ENABLE|DISABLE] to enable or disable auto delete message."
if len(message.command) == 1:
return await kirimPesan(message, usage)

View file

@ -59,9 +59,10 @@ async def ytsearch(_, message):
await message.reply_photo(img, caption=caption, reply_markup=markup, quote=True)
@app.on_message(filters.command(["ytdown"], COMMAND_HANDLER) & ~filters.channel)
@app.on_message(filters.command(["ytdown"], COMMAND_HANDLER))
@capture_err
async def ytdownv2(_, message):
if not message.from_user: return
if len(message.command) == 1:
return await message.reply("Please input a valid YT-DLP Supported URL")
url = message.text.split(" ", maxsplit=1)[1]