Задача: не працює коректно парсер адміністраторів Telegram-чату (Telethon).
Опис проблеми:
Є Python-скрипт (telegram_admins.py), який через Telethon збирає адміністраторів чатів і записує їх у Google Sheets.
Проблема в тому, що для мого чату скрипт не повертає реальний список адміністраторів.
В чаті фактично 10 адмінів (я бачу їх в інтерфейсі Telegram, я сам адміністратор/власник),
але парсер або:
- повертає тільки один "лівий" ID,
- або повертає тільки поточну сесію,
- або пише "no admins".
Важливо:
1. Чат — звичайний Telegram-чат (не канал).
2. Обліковий запис, з якого йде парсинг (Telethon session), НЕ є адміністратором.
3. Я хочу отримувати повний список адмінів, навіть якщо обліковий запис-парсер не адмін.
Очікувана поведінка:
Скрипт повинен коректно отримувати список усіх адміністраторів чата (usernames або ID) через Telethon.
Що потрібно перевірити і виправити:
- Правильно чи визначається тип сутності (Chat vs Channel).
- Використовується чи коректний фільтр (ChannelParticipantsAdmins).
- Чи можливо взагалі отримувати список адмінів без адмін-прав.
- Коректна чи логіка resolve / get_entity.
- Немає чи проблеми з linked discussion (якщо це канал + чат).
- Чому повертається тільки один ID (можливо це ID самої сесії).
Потрібно:
1. Знайти причину, чому Telethon не повертає реальний список адмінів.
2. Пояснити, це обмеження Telegram API чи баг у коді.
3. Якщо це баг — пофіксити.
4. Якщо це обмеження API — запропонувати робоче рішення.
Готовий надати код повністю (telegram_admins.py).