Подтвердить что ты не робот

Как получить chat_id частного канала Telegram?

Я использую curl для обновления моих общедоступных каналов. Этот вид синтаксиса:

>curl -X POST "https://api.telegram.org/bot144377327:AAGqdElkZ-77zsPRoAXXXXXXXXXX/sendMessage" -d "[email protected]&text=my sample text"

Но что такое chat_id частного канала? Это не тот, который вы имеете в частном приглашении.

Потому что теперь мы можем передавать имя пользователя канала (в формате @channelusername) вместо chat_id во всех методах (и вместо from_chat_id в forwardMessage). Но что такое @channelusername частного канала, которым я управляю?

4b9b3361

Ответ 1

Я нашел способ писать в частных каналах.

  • Вы должны преобразовать его в общедоступное с помощью некоторого @channelName
  • Отправить сообщение на этот канал через API блогов

    https://api.telegram.org/bot111:222/[email protected]&text=123

  • В качестве ответа вы получите информацию с chat_id вашего канала.

    { "ok": true, "результат": {    "chat": {      "id": -1001005582487,     "title": "Test Private Channel",      "type": "channel"   },    "дата": 1448245538,    "message_id": 7,    "текст": "123ds" } }

  • Теперь вы можете преобразовать канал обратно в частный (путем удаления ссылки канала) и отправить сообщение прямо на этот chat_id "-1001005582487"

    https://api.telegram.org/bot111:222/sendMessage?chat_id=-1001005582487&text=123

Ответ 2

Сделать канал общедоступным не может пользователь, если существует не менее 5 общедоступных групп/каналов, поэтому... проблема не решена. Да, вы можете отозвать один из них, но пока мы не можем получить идентификатор чата другим способом.

revoke

Кто-нибудь нашел решение для этого случая?

Обновить

Я нашел сумасшедшее решение:

  1. войдите под своей учетной записью в веб-версии Telegram: https://web.telegram.org
  2. Найдите свой канал. Посмотрите на ваш URL, он должен быть похож на https://web.telegram.org/#/im?p=c 1055587116 _11052224402541910257
  3. Возьмите с него "1055587116" и добавьте "-100" в качестве префикса.

Итак... ваш идентификатор канала будет "-100 1055587116". Волшебство случается :)

Решение найдено здесь: https://github.com/GabrielRF/telegram-id#web-channel-id

Ответ 3

Самый простой способ - пригласить @get_id_bot в свой чат и набрать:

/[email protected]_id_bot

Внутри вашего чата

Ответ 4

Вы тоже можете это сделать:

Шаг 1) Преобразование частного канала в общедоступный канал

Шаг 2) Установите ChannelName для этого канала

Шаг 3), то вы можете изменить этот канал на частный

Шаг 4) Теперь отправьте свое сообщение с помощью @ChannelName, которое вы установите на шаге 3

Примечание. Для шага 1 вы можете изменить один из ваших общедоступных каналов на частные. В течение короткого времени.

Ответ 5

Не нужно преобразовывать канал в общедоступный, а затем сделать его закрытым.

  • найдите идентификатор вашего частного канала. (Существует множество методов сделайте это, например, см. этот ответ SO)

  • curl -X POST " https://api.telegram.org/botxxxxxx:yyyyyyyyyyy/sendMessage" -d "chat_id = -100 CHAT_ID & text = мой образец текста

    замените xxxxxx: yyyyyyyyyyyy с вашим идентификатором бота и замените CHAT_ID на идентификатор канала, найденный на шаге 1. Таким образом, если идентификатор канала равен 1234, это будет chat_id = -1001234.

Все сделано!

Ответ 6

Идентификатор вашего частного канала - часть XXXXXX (между "p = c" и подчеркиванием). Чтобы использовать его, просто добавьте "-100" перед ним. Так что, если "XXXXXX" - это "4785444554", то идентификатор вашего частного канала "-100 4785444554".

Ответ 7

Вариант, который я делаю, - это использование популярного приложения Plus Messenger на Android. Ссылка на игровой магазин: https://play.google.com/store/apps/details?id=org.telegram.plus&hl=en.

Вы можете нажать на канал и в информации о канале под названием группы, вы можете найти идентификатор канала.

Supergroup и Channel Ids будут выглядеть как 1068773197 на плюс мессенджера. Для использования в API вы можете использовать префикс -100, что сделает его -100 1068773197.

Ответ 8

Откройте приватный канал, затем:

  • на веб- клиенте:

  • на мобильном и настольном компьютере:

    • Скопируйте ссылку на любое сообщение канала:
    • if это например https://t.me/c/1192292378/31
    • then 1192292378 - идентификатор канала (бонус: 31 - идентификатор сообщения).
  • на Plus Messenger для Android:

    • откройте информацию о канале:
    • идентификатор канала отображается выше, прямо под его названием

WARNING Обязательно добавляйте префикс -100 при использовании Telegram Bot API:

  • if идентификатор канала, например, 1192292378
  • then вы должны использовать -100 1192292378