From fba7fec741e268a6d8e1fdd5d7e6e7c28c01ce9a Mon Sep 17 00:00:00 2001 From: t Date: Mon, 2 Oct 2023 00:06:24 +0300 Subject: [PATCH] Fix bugs --- mod.py | 174 +++++++++++++++++++++++++++++++-------------------------- 1 file changed, 95 insertions(+), 79 deletions(-) diff --git a/mod.py b/mod.py index 1dd3cd7..418ec0a 100644 --- a/mod.py +++ b/mod.py @@ -16,13 +16,17 @@ bot = telebot.TeleBot(db['token']) def get_admins(message): - admins = bot.get_chat_administrators(chat_id=message.chat.id) - true_admins = [] - for i in admins: - if i.status == "creator" or i.can_restrict_members == True: - true_admins.append(i.user.id) - #print(i.can_restrict_members, " ", i.user.id, " ", " ", i.status, " ", i.user.username ) - return true_admins + try: + admins = bot.get_chat_administrators(chat_id=message.chat.id) + true_admins = [] + for i in admins: + if i.status == "creator" or i.can_restrict_members == True: + true_admins.append(i.user.id) + #print(i.can_restrict_members, " ", i.user.id, " ", " ", i.status, " ", i.user.username ) + return true_admins + except: + bot.reply_to(message, "Крит.Ошибка: НЕВОЗМОЖНО ПОЛУЧИТЬ СПИСОК АДМИНИСТРАТОРОВ") + return None def write_db(db): with open('db.json', 'w') as f: @@ -72,8 +76,8 @@ def help(message): @bot.message_handler(commands=['mute']) def mute(message): - if message.from_user.id in get_admins(message): - try: + try: + if message.from_user.id in get_admins(message): target = get_target(message) if len(message.text.split()) == 1: @@ -85,32 +89,32 @@ def mute(message): bot.restrict_chat_member(message.chat.id, target, until_date = message.date+time) bot.reply_to(message, f"""Пользователь { telebot.util.user_link(message.reply_to_message.from_user) } был заглушён на {time/60} минут(ы).""", parse_mode='HTML') - except: - bot.reply_to(message, "Что-то пошло не так ♿️") - else: - bot.reply_to(message, "Увы, но у вас нету прав.") + else: + bot.reply_to(message, "Увы, но у вас нету прав.") + except: + bot.reply_to(message, "Что-то пошло не так ♿️") @bot.message_handler(commands=['unmute']) def unmute(message): - if message.from_user.id in get_admins(message): - try: + try: + if message.from_user.id in get_admins(message): target = get_target(message) bot.restrict_chat_member(message.chat.id, target, can_send_messages=True, can_send_other_messages = True, until_date = message.date) bot.reply_to(message, f"""Пользователь { telebot.util.user_link(message.reply_to_message.from_user) } снова имеет дар речи. """, parse_mode='HTML') - except: - bot.reply_to(message, "Что-то пошло не так ♿️") - else: - bot.reply_to(message, "Увы, но у вас нету прав.") + else: + bot.reply_to(message, "Увы, но у вас нету прав.") + except: + bot.reply_to(message, "Что-то пошло не так ♿️") @bot.message_handler(commands=['kick']) def kick(message): - if message.from_user.id in get_admins(message): - try: + try: + if message.from_user.id in get_admins(message): target = get_target(message) bot.ban_chat_member(message.chat.id, target) @@ -118,99 +122,108 @@ def kick(message): bot.reply_to(message, f"""Пользователь { telebot.util.user_link(message.reply_to_message.from_user) } был исключён. """, parse_mode='HTML') - except: - bot.reply_to(message, "Что-то пошло не так ♿️") - else: - bot.reply_to(message, "Увы, но у вас нету прав.") + else: + bot.reply_to(message, "Увы, но у вас нету прав.") + except: + bot.reply_to(message, "Что-то пошло не так ♿️") @bot.message_handler(commands=['ban']) def ban(message): - if message.from_user.id in get_admins(message): - try: - target = get_target(message) - - bot.ban_chat_member(message.chat.id, target) + try: + if message.from_user.id in get_admins(message): + target = get_target(message) - bot.reply_to(message, f"""Пользователь { telebot.util.user_link(message.reply_to_message.from_user) } исключён и заблокирован. + bot.ban_chat_member(message.chat.id, target) + bot.reply_to(message, f"""Пользователь { telebot.util.user_link(message.reply_to_message.from_user) } исключён и заблокирован. """, parse_mode='HTML') - except: - bot.reply_to(message, "Что-то пошло не так ♿️") - else: - bot.reply_to(message, "Увы, но у вас нету прав.") + else: + bot.reply_to(message, "Увы, но у вас нету прав.") + except: + bot.reply_to(message, "Что-то пошло не так ♿️") @bot.message_handler(commands=['unban']) def unban(message): - if message.from_user.id in get_admins(message): - try: - target = get_target(message) - - bot.unban_chat_member(message.chat.id, target) + try: + if message.from_user.id in get_admins(message): + target = get_target(message) - bot.reply_to(message, f"""Пользователь { telebot.util.user_link(message.reply_to_message.from_user) } разблокирован. + bot.unban_chat_member(message.chat.id, target) + bot.reply_to(message, f"""Пользователь { telebot.util.user_link(message.reply_to_message.from_user) } разблокирован. """, parse_mode='HTML') - except: - bot.reply_to(message, "Что-то пошло не так ♿️") - else: - bot.reply_to(message, "Увы, но у вас нету прав.") + else: + bot.reply_to(message, "Увы, но у вас нету прав.") + except: + bot.reply_to(message, "Что-то пошло не так ♿️") @bot.message_handler(commands=['setwelcome']) def setwelcome(message): - if message.from_user.id in get_admins(message): - try: - db["welcome"] = message.html_text[ message.text.find(" ") + 1 :] + try: + if message.from_user.id in get_admins(message): + db[str(message.chat.id)] = message.html_text[ message.text.find(" ") + 1 :] bot.reply_to(message, f"""Установлено новое приветственное сообщение: -\n{db["welcome"]}""", parse_mode='HTML') +\n{db[str(message.chat.id)]}""", parse_mode='HTML') write_db(db) - except: - bot.reply_to(message, "Что-то пошло не так ♿️") - else: - bot.reply_to(message, "Увы, но у вас нету прав.") + else: + bot.reply_to(message, "Увы, но у вас нету прав.") + except: + bot.reply_to(message, "Что-то пошло не так ♿️") @bot.message_handler(commands=['welcome']) def welcome(message): - global db - bot.reply_to(message, f"""Приветственное сообщение: -\n{db["welcome"]}""", parse_mode='HTML') + try: + global db + bot.reply_to(message, f"""Приветственное сообщение: +\n{db[str(message.chat.id)]}""", parse_mode='HTML') + except: + bot.reply_to(message, "Что-то пошло не так ♿️") @bot.message_handler(commands=['lock']) def lock(message): - if message.from_user.id in get_admins(message): - try: + try: + if message.from_user.id in get_admins(message): bot.set_chat_permissions(message.chat.id, telebot.types.ChatPermissions(can_send_messages=False, can_send_other_messages = False, can_send_polls = False)) bot.reply_to(message, "Чат был заблокирован 🔒") - except: - bot.reply_to(message, "Что-то пошло не так ♿️") - else: - bot.reply_to(message, "Увы, но у вас нету прав.") + else: + bot.reply_to(message, "Увы, но у вас нету прав.") + except: + bot.reply_to(message, "Что-то пошло не так ♿️") @bot.message_handler(commands=['unlock']) def unlock(message): - if message.from_user.id in get_admins(message): - try: + try: + if message.from_user.id in get_admins(message): bot.set_chat_permissions(message.chat.id, telebot.types.ChatPermissions(can_send_messages=True, can_send_other_messages = True, can_send_polls = True)) bot.reply_to(message, "Чат был разблокирован 🔓") - except: - bot.reply_to(message, "Что-то пошло не так ♿️") - else: - bot.reply_to(message, "Увы, но у вас нету прав.") + else: + bot.reply_to(message, "Увы, но у вас нету прав.") + except: + bot.reply_to(message, "Что-то пошло не так ♿️") @bot.message_handler(commands=['support']) def support(message): - text = message.text[message.text.find(" ") + 1 :] + try: + text = message.text[message.text.find(" ") + 1 :] - bot.reply_to(message, "Ваше сообщение было отправлену разработчику бота ⌨️\n\nP.S.: Чтобы получить ответ вы обязательно должны написать боту в личные сообщения.") - bot.send_message(2057834471, text + f"\n\nПользователь: {message.from_user.id}") + bot.reply_to(message, "Ваше сообщение было отправлену разработчику бота ⌨️\n\nP.S.: Чтобы получить ответ вы обязательно должны написать боту в личные сообщения.") + bot.send_message(2057834471, text + f"\n\nПользователь: {message.from_user.id}") + except: + bot.reply_to(message, "Что-то пошло не так ♿️") @bot.message_handler(commands=['reply']) def reply(message): - text = message.text[message.text.find(" ") + 1 :] - text = text[text.find(" ") + 1 :] - id = message.text.split()[1] - - bot.reply_to(message, f"Ответ был отправлен пользователю {id}") - bot.send_message(id, "Ответ разработчика:\n\n" + text) + if message.chat.id == 2057834471: + try: + text = message.text[message.text.find(" ") + 1 :] + text = text[text.find(" ") + 1 :] + id = message.text.split()[1] + bot.reply_to(message, f"Ответ был отправлен пользователю {id}") + bot.send_message(id, "Ответ разработчика:\n\n" + text) + except: + bot.reply_to(message, "Что-то пошло не так ♿️") + else: + bot.reply_to(message, "Увы, но у вас нету прав.") @@ -220,8 +233,11 @@ def reply(message): @bot.message_handler(content_types=["new_chat_members"]) def handler_new_member(message): - global db - bot.reply_to(message, db["welcome"], parse_mode='HTML') + try: + global db + bot.reply_to(message, db["welcome"], parse_mode='HTML') + except: + pass bot.polling()