@aleksegolubev

Telebot — Как получить ID пользователя по username?

Знаю username пользователя, как получить его ID?
Бот находиться в чате.

Можно спарсить всех участников чата , а после сверять username - но такое вроде бы невозможно.
  • Вопрос задан
  • 681 просмотр
Решения вопроса 1
shabelski89
@shabelski89
engineer
Напрямую никак,
есть методы получить кол-во участников в чате (нужно знать group_chat_id):
bot.get_chat_members_count(group_chat_id)
метод получения админов
bot.get_chat_administrators(group_chat_id)
чтобы получить инфо по юзерам нужен chat_id каждого и тут возможно только хитростями
bot.get_chat_member(group_chat_id, chat_id )
  • записывать все сообщения чата от пользователей и составлять таблицу USERS, с полями chat_id, username, first_name, last_name. Если чат активный то быстро получите всех и сопоставите.
  • отслеживать сообщения "присоединился к группе" и "вышел из группы"

Есть сложность что username, first_name, last_name - не являются обязательными полями, то есть могут быть юзеры у которых они не заполнены. Поэтому, на мой взгляд оптимально парсить сообщения группы, и каждого кто написал заносить в таблицу БД.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы