Как получить id пользователя telegram python
Перейти к содержимому

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

  • автор:

Как телеграмм боту получить id пользователя который нажал /start

Здравствуйте пишу бота на Python- pyTelegramBotApi. Нужно что бы при нажатии юзером на кнопку старт мне пришел его айди. как выполнить такой запрос ?

Отслеживать

задан 9 июн 2018 в 9:56

125 1 1 золотой знак 4 4 серебряных знака 12 12 бронзовых знаков

В случае с ботами, user_id == message.chat.id

10 июн 2018 в 16:02

4 ответа 4

Сортировка: Сброс на вариант по умолчанию

При нажатии юзером кнопки старт происходит отправка боту сообщения с командой ‘start’, а само сообщения содержит информацию, в том числе id юзера, достать который можно например таким хендлером:

@bot.message_handler(commands=['start']) def start(message): user_id = message.from_user.id 

Отслеживать

5,756 3 3 золотых знака 23 23 серебряных знака 44 44 бронзовых знака

Как узнать ID Telegram

Article Image

Telegram user ID — это цифровой код, который присваивается каждому аккаунту при регистрации. Этот идентификатор нужен системе, чтобы корректно сохранять данные и связывать их с конкретным юзером. Найти ID своего аккаунта или другого чата в меню мессенджера не получиться. К сожалению, такая возможность разработчиками не предусмотрена. Но есть другие способы, как узнать айди. О них мы поговорим в этой статье.

Для чего нужен Telegram user ID?

Многие пользователи знают, что в Телеграм можно устанавливать собственный идентификатор. Это дает возможность находить друг друга и общаться без обмена телефонными номерами. Каждый можете придумать себе имя пользователя, так как оно доступно для редактирования и просмотра в разделе «Настройки». Там же можно сделать ссылку для быстрого перехода в чат.

Telegram ID – это тоже идентификатор, но не для людей, а для системы. Он присваивается профилю пользователя, чату, группе и каналу в момент их создания. ID позволяет образовывать связи между:

  • аккаунтами и используемыми ими ботами;
  • юзерами и группами, в которые они вступают;
  • пользователями.

Таким образом, ID в Телеграм отвечает за корректное взаимодействие профилей в сети. Он играет важную роль при пересылке сообщений, загрузке историй переписок, возможности добавлять кого-то или добавляться самому в чат или группу и так далее. В отличие от имени пользователя ID состоит полностью из цифр, изменить его нельзя. При этом он недоступен для просмотра через меню настроек.

Как узнать свой ID Telegram?

В Telegram создано множество ботов с этой целью, но далеко не все из них работают корректно. Мы рекомендуем использовать бот @getmyid_bot. Из его преимуществ можно выделить исправное функционирование и быструю выдачу результатов. Чтобы узнать свой ID, следуйте пошаговой инструкции:

  1. Зайдите в поисковую строку приложения и введите @getmyid_bot.
  2. В выдаче найдите бота, который полностью совпадает с указанным выше именем.
  3. Нажмите на него, чтобы открыть диалоговое окно.
  4. Кликните на кнопку «Начать», чтобы запустить работу бота.
  5. В ответном сообщении сразу же отобразится ваш ID. Смотрите первую строку, которая начинается со слов «Your user». Во второй строчке показывается идентификатор диалога с ботом.

Помимо этого можно использовать бот @userinfobot. Он дополнительно высылает фамилию и имя, с помощью которых можно убедиться в правильности данных.

Как узнать ID другого пользователя в Telegram?

Это не сложнее, чем узнать ID своего аккаунта. Для примера будем использовать тот же бот − @getmyid_bot. Он является универсальным и позволяет проверить не только свои данные, но и узнать информацию о других юзерах. Для этого следуйте пошаговой инструкции:

  1. Ищем и запускаем бот, как в пункте выше.
  2. Переходим к списку контактов и открываем диалог с человеком, идентификатор которого нужно вычислить.
  3. Выбираем любое полученное сообщение из переписки и жмем на «Переслать».
  4. Адресатом назначаем пользователя @getmyid_bot и нажимает «Отправить».
  5. В диалоговом окне появятся три строки. Что означают первые две, вы уже знаете, а третья, которая начинается со слов «Forwarded from» − это и есть идентификатор вашего собеседника.

Если у вас стабильное подключение к интернету, то ответ поступит менее чем через секунду. В ином случае на получение информации может уйти больше времени.

Как узнать ID чата Telegram?

В этом случае инструменты, которые упоминались выше, не подойдут. Они могут предоставить только идентификационные данные конкретного человека, пославшего сообщение в личный или публичный чат. Чтобы получить ID Telegram публичного чата или группы, воспользуйтесь ботом @username_to_id_bot. Пошаговая инструкция:

  1. Ищем @username_to_id_bot через поисковую строку Telegram.
  2. Запускаем бот нажатием кнопки «Начать».
  3. Заходим в чат или группу, информацию о которой хотим узнать.
  4. Копируем ссылку на чат. Её можно найти в настройках чата/группы при нажатии на кнопку «Пригласить». Ссылка будет находиться в верхней части открывшегося окна.
  5. Далее возвращаемся к нашему боту и отправляем ему скопированную ранее ссылку.
  6. В ответном сообщении получаем основные данные о чате/группе. В нижней строке будет ID.

Как видите, узнать ID Telegram совсем несложно. Если следовать приведенным здесь пошаговым инструкциям, то у вас обязательно все получится. Удачи!

Как получить id юзера / chat id telebot?

Нужно получить айди юзера (message.chat.id) в переменной, без отправки сообщения. Как это можно сделать?

  • Вопрос задан более трёх лет назад
  • 21039 просмотров

4 комментария

Простой 4 комментария

А какие у вас декораторы в переменной?
1grand @1grand Автор вопроса
Я имел в виду хэндлер (@bot.message_handler)
1grand, не использовать библиотеку, которая работает через декораторы.

Groosha

AWEme, сможете обосновать?
Решения вопроса 0
Ответы на вопрос 2

Danya_Violet

Данил К. @Danya_Violet

body = '\n' \ '--\n' \ ', \n' \ ', '.format(message=message.text, first=message.from_user.first_name, last=message.from_user.last_name, username=message.from_user.username,

Ответ написан более трёх лет назад
Комментировать
Нравится 2 Комментировать

Groosha

message.from_user.id правильнее, т.к. в группах message.chat.id будет возвращать ID группы, а не конкретного пользователя. Но если уверены, что дело ограничится только диалогами (личные сообщения), тогда message.chat.id тоже уместен.

@bot.message_handler(commands=['start']) def start_message(message): your_variable = message.from_user.id

Как получить id пользователя через @упоминание в telegram?

Я хочу сделать бота модератора для чата в телеграм, но при написании кода сталкиваюсь с проблемой, что в js и python нет метода для получения юзера из упоминания. Например, мне нужно забанить пользователя, но единственный способ — это ответить на его сообщение. Есть ли какой-то способ получения id в aiogram через упоминание (@юзернейм) или какой можно использовать язык программирования и библиотеку для такой цели?

  • Вопрос задан более года назад
  • 1853 просмотра

Комментировать
Решения вопроса 0
Ответы на вопрос 1

gnifajio

Совершенствуюсь каждый день

Чтобы получить id пользователя через упоминание в Telegram с помощью aiogram, вам нужно будет сначала извлечь упоминание из сообщения, а затем использовать метод resolve_peer клиента для получения id пользователя.

Вот пример того, как это можно сделать:

import re from aiogram import Bot, Dispatcher, types # Инициализируем бота и диспетчер bot = Bot(token='your_bot_token') dp = Dispatcher(bot) @dp.message_handler() async def handle_message(message: types.Message): # Извлекаем упоминание из сообщения mention = re.search(r'@(\w+)', message.text) if mention: # Получаем id пользователя через resolve_peer user_id = await bot.resolve_peer(mention.group(1)) # Теперь можем использовать user_id для выполнения нужных действий await message.reply(f'User ID: ')

Код написан довольно костыльно, не могу не согласится, но для примера сгодится.

Ответ написан более года назад
Uni0005 @Uni0005 Автор вопроса

user_id = await bot.resolve_peer(mention.group(1)) ^^^^^^^^^^^^^^^^ AttributeError: 'Bot' object has no attribute 'resolve_peer'

Какую версию aiogram вы используете?

gnifajio

Uni0005, забыл упомянуть, что resolve_peer нет в aiogram, для получения этой функции нужно использовать pyrogram. Но вы можете сохранять username пользователя в базу данных вместе с id, и при надобности извлекать эти значения.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *