From 35d48a6307446e9acbc736e8680a821a0773dede Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 7 Jul 2024 19:46:55 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B1=D0=B0=D0=B3=D0=B0=20=D1=81=20?= =?UTF-8?q?Low-Admin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mod.py | 55 +++++++++++++++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 22 deletions(-) diff --git a/mod.py b/mod.py index eb0f380..42f0403 100644 --- a/mod.py +++ b/mod.py @@ -54,14 +54,13 @@ def write_users(): # LA - Low Admin. # Admin permissions in bot without admin rights. def read_la(): - global la - with open('la.json', 'r') as openfile: - la = json.load(openfile) -def write_la(): - global la - js = json.dumps(la, indent=2) - with open("la.json", "w") as outfile: - outfile.write(js) + with open('la.json', 'r') as openfile: + la = json.load(openfile) + return la +def write_la(la): + js = json.dumps(la, indent=2) + with open("la.json", "w") as outfile: + outfile.write(js) ####################FAST HASH################# from xxhash import xxh32 @@ -147,7 +146,6 @@ def get_time(message): if time: break for f in list(formats.keys()): -# print(i, ' ', f) if f in i: try: time = [i[:-1], int(i[:-1]) * formats[i[-1]][0] , formats[i[-1]][1] ] @@ -158,7 +156,7 @@ def get_time(message): return time def have_rights(message, set_la = False): - global la ; read_la() + la = read_la() if message.from_user.id in get_admins(message): return True elif is_anon(message): @@ -225,6 +223,8 @@ def help(message): /chatid ⇁ Айди чата /del ⇁ Удаление сообщения +/la - всё о режиме 'low admin' + /secret ⇁ Функция для получения ссылки html на пользователя в лс. /html ⇁ Отправка текста сообщения в режиме формата html. @@ -411,21 +411,30 @@ def chatid(message): def have_la(id): try: - global la ; read_la() + la = read_la() if id in la: return True else: la[id] = [] - write_la() + write_la(la) return True except Exception as e: catch_error(message, e) +@bot.message_handler(commands=['la']) +def la(message): + bot.reply_to(message, f'''Доступные команды: + + {telebot.formatting.hcode("/la-list")} - список администраторов в режиме low-admin + {telebot.formatting.hcode("/la-add @nick")} - добавить в администраторы + {telebot.formatting.hcode("/la-del @nick")} - удалить из администраторов + ''', parse_mode = 'HTML') + @bot.message_handler(commands=['la-list']) def la_list(message): try: if have_rights(message, set_la=True): - global la ; read_la() + la = read_la() if have_la(str(message.chat.id)): s = "Список администраторов в режиме low-admin:\n" for i in la[str(message.chat.id)]: @@ -438,11 +447,13 @@ def la_list(message): def la_add(message): try: if have_rights(message, set_la=True): - global la ; read_la() + la = read_la() if have_la(message.chat.id): nick = message.text.split()[1][1:] - la[message.chat.id].append(nick) - write_la() + print(la) + la[str(message.chat.id)].append(nick) + print(la) + write_la(la) bot.reply_to(message, f"Пользователь @{nick} успешно добавлен в список администраторов.") except Exception as e: catch_error(message, e) @@ -451,13 +462,13 @@ def la_add(message): def la_del(message, set_la=True): try: if have_rights(message, set_la=True): - global la ; read_la() + la = read_la() if have_la(message.chat.id): nick = message.text.split()[1][1:] - if nick in la[message.chat.id]: - del la[message.chat.id] - write_la() + if nick in la[str(message.chat.id)]: + la[str(message.chat.id)].remove(nick) + write_la(la) bot.reply_to(message, f"Пользователь @{nick} был исключён из списка администраторов.") except Exception as e: catch_error(message, e) @@ -557,7 +568,7 @@ def catch_error(message, e, err_type = None): ##################MAIN THREAD##### -#''' +''' while True: try: bot.polling() @@ -565,6 +576,6 @@ while True: exit() except: pass -#''' +''' bot.polling() #'''