70 lines
2.6 KiB
Python
70 lines
2.6 KiB
Python
from bot.helper.telegram_helper.message_utils import sendMessage
|
|
from telegram.ext import run_async
|
|
from bot import AUTHORIZED_CHATS, dispatcher
|
|
from telegram.ext import CommandHandler
|
|
from bot.helper.telegram_helper.filters import CustomFilters
|
|
from telegram.ext import Filters
|
|
from telegram import Update
|
|
from bot.helper.telegram_helper.bot_commands import BotCommands
|
|
|
|
|
|
@run_async
|
|
def authorize(bot, update):
|
|
reply_message = update.message.reply_to_message
|
|
msg = ''
|
|
with open('authorized_chats.txt', 'a') as file:
|
|
if reply_message is None:
|
|
# Trying to authorize a chat
|
|
chat_id = update.effective_chat.id
|
|
if chat_id not in AUTHORIZED_CHATS:
|
|
file.write(f'{chat_id}\n')
|
|
AUTHORIZED_CHATS.add(chat_id)
|
|
msg = 'Chat authorized'
|
|
else:
|
|
msg = 'Already authorized chat'
|
|
else:
|
|
# Trying to authorize someone in specific
|
|
user_id = reply_message.from_user.id
|
|
if user_id not in AUTHORIZED_CHATS:
|
|
file.write(f'{user_id}\n')
|
|
AUTHORIZED_CHATS.add(user_id)
|
|
msg = 'Person Authorized to use the bot!'
|
|
else:
|
|
msg = 'Person already authorized'
|
|
sendMessage(msg, bot, update)
|
|
|
|
|
|
@run_async
|
|
def unauthorize(bot,update):
|
|
reply_message = update.message.reply_to_message
|
|
if reply_message is None:
|
|
# Trying to unauthorize a chat
|
|
chat_id = update.effective_chat.id
|
|
if chat_id in AUTHORIZED_CHATS:
|
|
AUTHORIZED_CHATS.remove(chat_id)
|
|
msg = 'Chat unauthorized'
|
|
else:
|
|
msg = 'Already unauthorized chat'
|
|
else:
|
|
# Trying to authorize someone in specific
|
|
user_id = reply_message.from_user.id
|
|
if user_id in AUTHORIZED_CHATS:
|
|
AUTHORIZED_CHATS.remove(user_id)
|
|
msg = 'Person unauthorized to use the bot!'
|
|
else:
|
|
msg = 'Person already unauthorized!'
|
|
with open('authorized_chats.txt', 'a') as file:
|
|
file.truncate(0)
|
|
for i in AUTHORIZED_CHATS:
|
|
file.write(f'{i}\n')
|
|
sendMessage(msg, bot, update)
|
|
|
|
|
|
authorize_handler = CommandHandler(command=BotCommands.AuthorizeCommand, callback=authorize,
|
|
filters=CustomFilters.owner_filter & Filters.group)
|
|
unauthorize_handler = CommandHandler(command=BotCommands.UnAuthorizeCommand, callback=unauthorize,
|
|
filters=CustomFilters.owner_filter & Filters.group)
|
|
dispatcher.add_handler(authorize_handler)
|
|
dispatcher.add_handler(unauthorize_handler)
|
|
|