Загрузка...

Refinement of reactions using Telethon 1.40.0

Thread in Python created by TelegramTrust Jul 25, 2025 at 5:13 PM. 98 views

  1. TelegramTrust
    TelegramTrust Topic starter Jul 25, 2025 at 5:13 PM 8 Jun 12, 2021
    Пишу софт по настройке телеграмм чатов, прописал все нужное и что хотел реализовать, проблема в одном - не могу понять как с помощью python telethon 1.40.0 прописать отключение реакций на чате (от лица владельца чата)... Прописать способен сам, просто подскажите нужный объект через который это можно реализовать..

    Как мне на python telethon 1.40.0 прописать чтобы со стороны аккаунта владельца тг супер чата , владелец мог отключать реакции вовсе на чате если они были включены?

    [IMG]
     
  2. NingaGo
    1. TelegramTrust Topic starter
      NingaGo, у меня реализована функция по установке разрешений в чате (чтобы люди могли писать в чат), по факту я могу сюда внедрить "send_polls=True" и это будет закрывать реакции в чате?


      Python
              chat_entity = await client.get_entity(chat_id)
      if isinstance(chat_entity, types.Channel) and hasattr(chat_entity, 'default_banned_rights'):
      current_rights = chat_entity.default_banned_rights
      banned_rights = ChatBannedRights(
      until_date=None,
      send_messages=False,
      send_media=False,
      send_stickers=True,
      send_gifs=True,
      send_games=True,
      send_inline=True,
      embed_links=True,
      send_polls=True,
      change_info=True,
      invite_users=True,
      pin_messages=True,
      send_polls=True
      )
      update_needed = (
      current_rights and (
      current_rights.send_messages != banned_rights.send_messages or
      current_rights.send_media != banned_rights.send_media
      )
      )
      if not update_needed:
      logger.debug(f"[{session_name}] - Настройки разрешений чата уже актуальны")
      else:
      await client(EditChatDefaultBannedRightsRequest(
      peer=chat_id,
      banned_rights=banned_rights
      ))
    2. NingaGo
      TelegramTrust, Ты два раза прописал send_polls = True. Тебе ошибка явно об этом говорит
      [IMG]
  3. TelegramTrust
    TelegramTrust Topic starter Jul 25, 2025 at 11:58 PM 8 Jun 12, 2021
    send_polls = True к сожалению не срабатывает через ChatBannedRights, решение которое сработало :

    Python
                try:
    await client(functions.messages.SetChatAvailableReactionsRequest(
    peer=chat_id,
    available_reactions=types.ChatReactionsNone(),
    paid_enabled=False
    ))
    logger.debug(f"[{session_name}] - Реакции в чате отключены")
    Но в любом случае спасибо NingaGo за помощь!
     
Loading...
Top