@EgorKhabarov

Как получить цвет пользователя в telegram на python?

Делаю бота для Telegram, использую библиотеку Telebot.
Мне нужно получать цвет пользователя (цвет ника в группах и цвет фона дефолтной аватарки).
Этих цветов всего, вроде как, 6 (оранжевый, синий, фиолетовый, зелёный, розовый, красный).
В классах telebot.types Chat и User нет информации о цвете.
И я так и не нашёл, как получать цвет пользователя, хотя видел бота, который умел так делать.
Может, он вычисляется из user_id? Помогите, пожалуйста.
  • Вопрос задан
  • 436 просмотров
Решения вопроса 1
@EgorKhabarov Автор вопроса
def get_color(chat_id: int) -> str:
    """
    Группы и супергруппы имеют отрицательный id, для них используем abs().
    """
    return {
        0: "красный",
        1: "оранжевый",
        2: "фиолетовый",
        3: "зелёный",
        4: "голубой",
        5: "синий",
        6: "розовый"
    }[abs(chat_id) % 7]
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
shurshur
@shurshur
Сисадмин, просто сисадмин...
Если в Bot API нет такой информации, то никак. А в Bot API её на текущйи момент вообще нет. Можно только узнать о наличии premium-подписки. https://core.telegram.org/bots/api#user
Ответ написан
@kr_ilya
По API - никак.
Ответ написан
Ваш ответ на вопрос

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

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