Как получить 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 частного канала, которым я управляю?
Ответы
Ответ 1
Я нашел способ писать в частных каналах.
Ответ 2
Сделать канал общедоступным не может пользователь, если существует не менее 5 общедоступных групп/каналов, поэтому... проблема не решена. Да, вы можете отозвать один из них, но пока мы не можем получить идентификатор чата другим способом.
![revoke]()
Кто-нибудь нашел решение для этого случая?
Обновить
Я нашел сумасшедшее решение:
- войдите под своей учетной записью в веб-версии Telegram: https://web.telegram.org
- Найдите свой канал. Посмотрите на ваш URL, он должен быть похож на https://web.telegram.org/#/im?p=c 1055587116 _11052224402541910257
- Возьмите с него "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
Откройте приватный канал, затем:
WARNING
Обязательно добавляйте префикс -100 при использовании Telegram Bot API:
-
if
идентификатор канала, например, 1192292378 -
then
вы должны использовать -100 1192292378