/label command
This commit is contained in:
parent
65b7b365d2
commit
c0f6bd8b11
@ -48,6 +48,7 @@
|
|||||||
"commands_admin": {
|
"commands_admin": {
|
||||||
"reboot": "Restart the bot",
|
"reboot": "Restart the bot",
|
||||||
"message": "Send a message",
|
"message": "Send a message",
|
||||||
|
"label": "Set user's nickname",
|
||||||
"warnings": "Check user's warnings",
|
"warnings": "Check user's warnings",
|
||||||
"application": "Check user's application",
|
"application": "Check user's application",
|
||||||
"applications": "Retrieve all applications as a JSON"
|
"applications": "Retrieve all applications as a JSON"
|
||||||
@ -55,6 +56,7 @@
|
|||||||
"commands_group_admin": {
|
"commands_group_admin": {
|
||||||
"reboot": "Restart the bot",
|
"reboot": "Restart the bot",
|
||||||
"message": "Send a message",
|
"message": "Send a message",
|
||||||
|
"label": "Set user's nickname",
|
||||||
"warnings": "Check user's warnings",
|
"warnings": "Check user's warnings",
|
||||||
"application": "Check user's application",
|
"application": "Check user's application",
|
||||||
"applications": "Retrieve all applications as a JSON"
|
"applications": "Retrieve all applications as a JSON"
|
||||||
|
@ -13,6 +13,7 @@ pid = getpid()
|
|||||||
# Importing
|
# Importing
|
||||||
from modules.commands.application import *
|
from modules.commands.application import *
|
||||||
from modules.commands.applications import *
|
from modules.commands.applications import *
|
||||||
|
from modules.commands.label import *
|
||||||
from modules.commands.message import *
|
from modules.commands.message import *
|
||||||
from modules.commands.reapply import *
|
from modules.commands.reapply import *
|
||||||
from modules.commands.reboot import *
|
from modules.commands.reboot import *
|
||||||
|
20
modules/commands/label.py
Normal file
20
modules/commands/label.py
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
from app import app
|
||||||
|
from pyrogram import filters
|
||||||
|
from modules.utils import should_quote, find_user
|
||||||
|
|
||||||
|
@app.on_message(~ filters.scheduled & filters.private & filters.command(["label"], prefixes=["/"]))
|
||||||
|
async def cmd_label(app, msg):
|
||||||
|
|
||||||
|
if len(msg.command) < 3:
|
||||||
|
await msg.reply_text("Invalid syntax:\n`/label USER NICKNAME`")
|
||||||
|
return
|
||||||
|
|
||||||
|
target = await find_user(app, msg.command[1])
|
||||||
|
|
||||||
|
if target is not None:
|
||||||
|
|
||||||
|
nickname = " ".join(msg.command[2:])
|
||||||
|
await msg.reply_text(f"Setting **{target.id}**'s label to **{nickname}**...", quote=should_quote(msg))
|
||||||
|
|
||||||
|
else:
|
||||||
|
await msg.reply_text(f"User not found")
|
@ -1,6 +1,8 @@
|
|||||||
from typing import Any, Union
|
from typing import Any, Union
|
||||||
from pyrogram.enums.chat_type import ChatType
|
from pyrogram.enums.chat_type import ChatType
|
||||||
from pyrogram.types import User
|
from pyrogram.types import User
|
||||||
|
from pyrogram.client import Client
|
||||||
|
from pyrogram.errors import bad_request_400
|
||||||
from ujson import JSONDecodeError as JSONDecodeError
|
from ujson import JSONDecodeError as JSONDecodeError
|
||||||
from ujson import loads, dumps
|
from ujson import loads, dumps
|
||||||
|
|
||||||
@ -149,3 +151,19 @@ def killProc(pid):
|
|||||||
|
|
||||||
def should_quote(msg):
|
def should_quote(msg):
|
||||||
return True if msg.chat.type is not ChatType.PRIVATE else False
|
return True if msg.chat.type is not ChatType.PRIVATE else False
|
||||||
|
|
||||||
|
async def find_user(app: Client, query: Union[str, int]):
|
||||||
|
try:
|
||||||
|
result = await app.get_users(int(query))
|
||||||
|
if result == [] or result == None:
|
||||||
|
raise TypeError
|
||||||
|
except (TypeError, ValueError):
|
||||||
|
try:
|
||||||
|
result = await app.get_users(query)
|
||||||
|
except bad_request_400.UsernameNotOccupied:
|
||||||
|
return None
|
||||||
|
except bad_request_400.UsernameInvalid:
|
||||||
|
return None
|
||||||
|
except bad_request_400.PeerIdInvalid:
|
||||||
|
return None
|
||||||
|
return result
|
Reference in New Issue
Block a user