ID в Telegram: что это, как узнать
Если вы рассматриваете Telegram как инструмент для ведения бизнеса или донесения информации до других пользователей, наверняка со временем у вас возникнет вопрос: как узнать свой ID в Telegram. Это необходимо для целого ряда действий, которые связаны с добавлением ботов, ведением каналов и другими функциями администрирования. В данной статье рассмотрим самый простой способ узнать ID в Телеграм.
Оглавление: 1. Что такое ID в Telegram 2. Как узнать свой ID в Telegram 3. Как узнать чужой ID в Telegram
Что такое ID в Telegram
Главная задача ID в Telegram — идентификация пользователя, канала, группы, чтобы их было возможно отличить от других аналогичных субъектов мессенджера. В отличие от ID ВКонтакте, пользователь не знает свой идентификационный номер. Он является системным и обычному пользователю не нужен.
В чем отличия ID от имени пользователя (@username):
- ID нельзя выбрать — он выдается каждому пользователю случайным образом;
- ID нельзя сменить, даже если текущий номер вас не устраивает;
- ID позволяет точно идентифицировать пользователя, у другого пользователя не может быть точно такой же ID.
Узнать ID просто в настройках своего профиля Telegram не получится, но есть специальные инструменты, которые позволяют это сделать.
Как узнать свой ID в Telegram
Чтобы узнать свой ID в Telegram, проще всего воспользоваться специальными ботами. Таких ботов в Телеграм несколько, в целом, они работают практически одинаково. Все, что нужно сделать, чтобы получить свой ID, направить боту запрос от своего имени.
Например, есть бот @my_id_bot. Чтобы узнать через него свой ID, просто откройте чат с ним, а после нажмите “Запустить”.
В чат с вашей стороны будет отправлена команда /start, после чего в ответ вы получите сообщение с вашим ID.
Это все, никаких дополнительных действий выполнять не нужно.
Как узнать чужой ID в Telegram
Если вам требуется узнать ID любого другого пользователя Telegram, то сделать это ничуть не сложнее. Для этого можно использовать бота @userinfobot.
Перешлите ему сообщение от любого пользователя (или канала), ID которого вы хотите узнать. Для этого надо нажать на пересылаемое сообщение и выбрать соответствующий пункт.
После чего указать отправку боту.
В ответ бот пришлет ID пользователя (или канала), сообщение которого было ему отправлено.
Как телеграм боту получить id только что отправленного им же сообщения
Библиотек для работы с телеграм для питона несколько. Не зная, какую именно вы используете отвечу в общем. Telegram API предоставляет метод messages.sendMessage, который возвращает данные об отправленном сообщении. Среди этих данных в том числе идентификатор отправленного сообщения.
Скорее всего библиотека которую вы используете также возвращает эти данные. Тогда код будет примерно таким:
res = bot.sendMessage(chatId, "текст сообщения") print(res.id)
Отслеживать
ответ дан 3 авг 2017 в 14:03
Никита Васильченко Никита Васильченко
1,344 9 9 серебряных знаков 11 11 бронзовых знаков
- python
- telebot
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.3.8.5973
Руководство администратора
С помощью смарт-действия «Отправить HTTP-запрос» можно автоматизировать общение через бот мессенджера Telegram.
1. Если вы еще не зарегистрированы в Telegram, пройдите регистрацию.
2. Получите идентификатор нового бота : обратитесь к боту @BotFather c требованием создать нового бота (команда /newbot).
3. Получите идентификатор беседы с ботом :
• Откройте диалог со своим созданным ботом и напишите ему произвольное сообщение,
• Откройте в браузере ссылку
где — идентификатор, полученный от @BotFather,
• В полученном json-ответе найдите значение в параметре result->message->chat->id , это и есть .
URL для отправки сообщения боту формируется по образцу:
https://api.telegram.org/bot < bot_token >/sendMessage?chat_id= < chat_id >&text=
URL для получения последнего сообщения от бота формируется по образцу:
Если возвращается одно сообщение, то json имеет вид:
Чат-бот может вернуть сразу несколько последних ответов — json вида:
Первое непрочитанное ответное сообщение доступно как значение атрибута result.message[0].text , а доступен как значение атрибута result.message[0].chat.id (этот параметр важен, поскольку бот может вести несколько чатов одновременно).
Простейший пример обмена сообщениями с чат-ботом Telegram описан ниже.
Смарт-пакет для отправки сообщения боту.
Смарт-действие для отправки сообщения боту.
Вариант смарт-действия для отправки сообщения боту с использованием двух параметров:
Вариант смарт-действия для отправки сообщения боту с использованием двух параметров.
Для данного кейса не поддерживаются зашифрованные задачи
Смарт-пакет для работы с курсом валюты в формате JSON.
Обратите внимание на необходимость очистки ответа веб-сервиса от лишних символов, эти объяснения даны здесь. Поэтому во втором смарт-действии для выделения текста сообщения используется выражение TSQL:
select top 1 JSON_VALUE ( @ActionResult8639, ‘$.HttpResponse.ResponseContent.result[0].message.text’ )
Как узнать id сообщения сообщения в телеграме?
Megach, ссылку на документацию Вам дали. Начните с getUpdates. Учтите, что сервера ТГ могут быть заблокированы. Поэтому может потребоваться прокси или VPN.
Megach @Megach Автор вопроса
BasiC2k, Мне дает
Что теперь мне делать?
Megach, Ответ есть, уже хорошо.)
Скорее всего у Вас неверные параметры запроса или токен.
Что Вы неправильно делаете можно сказать только когда Вы напишете — что именно Вы делаете.
Megach @Megach Автор вопроса
BasiC2k, Я все делаю как на документации
Использую метод getUpdates
А в боте токене не может быть ошибки. Потому что у меня есть код который связан с этим токеном и бот хорошо работает.
И ещё я хотел уточнить почему мне нужен message_id
Я использую forward_message и ему требуется message_id
Я хочу сделать так:
Бот у вас спрашивает: Напишите ваше Имя
Вы пишите и бот должен передать мне это сообшение.