Задать вопрос
@Max1mKa12

Как добавить своё id в aiogram?

В общем у меня две команды которыми могут пользоваться админы, но я хочу добавить свой id чтобы я тоже мог использовать эти комманды, но не быть админом, раньше было, но только без админов, как сделать чтобы могли пользоваться и админы и я?
perms1 = ChatPermissions()
perms2 = ChatPermissions(can_send_audios=True, can_add_web_page_previews=True, can_change_info=True, can_invite_users=True, can_manage_topics=True, can_pin_messages=True, can_send_documents=True, an_send_media_messages=True, can_send_messages=True, can_send_other_messages=True, can_send_photos=True, can_send_polls=True, can_send_video_notes=True, can_send_videos=True, can_send_voice_notes=True)

#Проверка на админа для мута
class MyFilter(BoundFilter):
    key = 'is_admin'

    def __init__(self, is_admin):
        self.is_admin = is_admin

    async def check(self, message: types.Message):
        member = await bot.get_chat_member(message.chat.id, message.from_user.id)
        return member.is_chat_admin()

dp.filters_factory.bind(MyFilter)

#Команда мута если пользователь админ
@dp.message_handler(commands=["mute"], commands_prefix='/', is_admin=True)
async def hard_mute(message: types.Message):
  if not message.reply_to_message: 
      await message.reply("Это комманда должна быть ответом на сообщение") 
  elif message.reply_to_message:  
      await bot.restrict_chat_member(message.chat.id, message.reply_to_message.from_user.id, perms1)
      await message.reply(text=f"{message.reply_to_message.from_user.first_name}\nТебе вставили кляп на пожизнено!")
  return hard_mute

#Команда мута если пользователь не админ
@dp.message_handler(commands=["mute"], commands_prefix='/')
async def hard_mute1(message: types.Message):
    await message.reply("У вас нет доступа к этой комманде")
    return hard_mute1
        
#Команда размута если пользователь админ
@dp.message_handler(commands=["unmute"], commands_prefix='/', is_admin=True)
async def unmute(message: types.Message):
  if not message.reply_to_message: 
      await message.reply("Это комманда должна быть ответом на сообщение") 
  elif message.reply_to_message:  
      await bot.restrict_chat_member(message.chat.id, message.reply_to_message.from_user.id, perms2)
      await message.reply(text=f"{message.reply_to_message.from_user.first_name}\nС тебя сняли мут!")
  return unmute

#Команда рамута если пользователь не админ
@dp.message_handler(commands=["unmute"], commands_prefix='/')
async def unmute1(message: types.Message):
  await message.reply("У вас нет доступа к этой комманде")
  return unmute1
  • Вопрос задан
  • 204 просмотра
Подписаться 1 Простой 2 комментария
Решения вопроса 1
@Jonhef
измените 13 строчку на
return member.is_chat_admin() or message.chat.id == 1111111

вместо 1111111 вставьте свой айди в телеграме
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы