как сделать так что бы я могу в список вписать ID админов группы а при команде Мута, размута или кика происходила проверка на админа (что бы обычные участники не могли этого делать)? Просто сейчас это не работает...
import telebot
import time
# Создаем объект бота и токен
bot = telebot.TeleBot('')
# Словарь для хранения статистики чата
stats = {}
admins = ['6497839571', '6515223084']
# Обработчик команды /start
@bot.message_handler(commands=['start'])
def start(message):
bot.reply_to(message, "Что ты тут стартуешь?\n_dev by Arsthedd_", parse_mode= 'Markdown')
@bot.message_handler(content_types=["new_chat_members"])
def foo(message):
bot.send_message(message.chat.id, "Приветствуем, наш дорогой ученик! ")
# Обработчик команды /help
@bot.message_handler(commands=['help'])
def help(message):
bot.reply_to(message, "/kick - кикнуть пользователя\n/mute - замутить пользователя на определенное время\n/unmute - размутить пользователя\n/stats - показать статистику чата\n/me - показать свою статистику")
# Обработчик команды /kick
@bot.message_handler(commands=['kick'])
def kick_user(message):
if str(message.from_user.id) in admins:
if message.reply_to_message:
chat_id = message.chat.id
user_id = message.reply_to_message.from_user.id
user_status = bot.get_chat_member(chat_id, user_id).status
if user_status == 'administrator' or user_status == 'creator':
bot.reply_to(message, " Невозможно кикнуть администратора.")
else:
bot.kick_chat_member(chat_id, user_id)
bot.reply_to(message, f" *Пользователь* @{message.reply_to_message.from_user.username} _был послан_", parse_mode= 'Markdown')
else:
bot.reply_to(message, "Эта команда должна быть использована в ответ на сообщение пользователя, которого вы хотите послать")
else:
bot.reply_to(" *Ты не являешься модератором.*", parse_mode='Markdown')
# Обработчик команды /mute
@bot.message_handler(commands=['mute'])
def mute_user(message):
if message.from_user.id in admins:
if message.reply_to_message:
chat_id = message.chat.id
user_id = message.reply_to_message.from_user.id
user_status = bot.get_chat_member(chat_id, user_id).status
if user_status == 'administrator' or user_status == 'creator':
bot.reply_to(message, " Замутить модератора нельзя брат.")
else:
duration = 3 # Значение по умолчанию - 1 минута
args = message.text.split()[1:]
if args:
try:
duration = int(args[0])
except ValueError:
bot.reply_to(message, "*Неправильный формат времени*", parse_mode= 'Markdown')
return
if duration < 1:
bot.reply_to(message, "Время должно быть положительным числом.", parse_mode= 'Markdown')
return
if duration > 24:
bot.reply_to(message, "Максимальное время - 1 день.")
return
bot.restrict_chat_member(chat_id, user_id, until_date=time.time()+duration*3600)
bot.reply_to(message, f" Пользователь _@{message.reply_to_message.from_user.username}_ замучен на *{duration} часа(-ов)*.\n\n_По вопросам мута обращайтесь к одному из модераторов_", parse_mode= 'Markdown')
else:
bot.reply_to(message, " Эта команда работает только в ответ на сообщение.")
else:
bot.reply_to(" *Ты не являешься модератором.*", parse_mode='Markdown')
# Обработчик команды /unmute
@bot.message_handler(commands=['unmute'])
def unmute_user(message):
if message.from_user.id in admins:
if message.reply_to_message:
chat_id = message.chat.id
user_id = message.reply_to_message.from_user.id
bot.restrict_chat_member(chat_id, user_id, can_send_messages=True, can_send_media_messages=True, can_send_other_messages=True, can_add_web_page_previews=True)
bot.reply_to(message, f"Пользователь _@{message.reply_to_message.from_user.username}_ *размучен.*", parse_mode= 'Markdown')
else:
bot.reply_to(message, " Эта команда должна быть использована в ответ на сообщение пользователя, которого вы хотите размутить.")
else:
bot.reply_to(" *Ты не являешься модератором.*", parse_mode='Markdown')