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

Как различать пользователь пишущих от лица канала или как анонимный администратор группы?

Я делаю игрового бота телеграм. Я добавляю пользователей по айди в базу данных. А как быть с теми кто пишет от лица канала или как анонимный администратор группы? При запросе айди или никнейма у них всех выдается один и тот же. Многие другие боты спокойно отличают их добавляют в свои базы. А я никак не могу понять. Использую sqlite3 и telebot.
  • Вопрос задан
  • 2106 просмотров
Подписаться 2 Средний 4 комментария
Решения вопроса 1
@volosogriz Автор вопроса
В общем, помог только переход на aiogram. При запросе from_user.id у сообщения, которое не было отправлено напрямую от пользователя, а от чего-то лица, выдается айди ботов-пустышек @GroupAnonymousBot и @Channel_Bot соответственно. А у этой библиотеки есть такой замечательный параметр, как sender_chat.id, который выдает, если сообщение было от анонимного администратора, то айди группы, если от канала, то айди канала. Иначе, если сообщение было просто от пользователя, то он выдаёт None. Таким образом, с помощью оператора можно задать, например, в переменную айди отправителя.
if message.sender_chat:
        userid = message.sender_chat.id
    else:
        userid = message.from_user.id

Всем добра и позитива!
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@vasmarfas
-кто пишет от лица канала
-при запросе айди или никнейма у них всех выдается один и тот же


Причинно-следственная связь, думаю, тут очевидна. В твоей бд или либе ничего ты не исправишь. Они пишут от чата. Соответсвенно и айди чата будет
Ответ написан
Ваш ответ на вопрос

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

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