Làm cách nào để có được chat_id của kênh Telegram riêng tư?


90

Tôi sử dụng curl để cập nhật các kênh công khai của mình. Loại cú pháp này:

curl -X POST "https://api.telegram.org/bot144377327:AAGqdElkZ-77zsPRoAXXXXXXXXXX/sendMessage" -d "chat_id=@MyChannel&text=my sample text"

Nhưng chat_idkênh riêng tư là gì? Nó không phải là cái bạn có trong lời mời riêng tư.

Vì bây giờ chúng ta có thể chuyển tên người dùng kênh (ở định dạng @channelusername) vào vị trí của chat_id trong tất cả các phương pháp (và thay vì from_chat_id trong forwardMessage). Nhưng @channelusername của kênh riêng tư mà tôi quản lý là gì?


Tại sao bạn cần chat_id của kênh? Tất cả các phương thức gửi tới kênh đều sử dụng chuỗi "@channel_name"
Stas Parshin vào

Xin chào @pengrad với lệnh curl Tôi yêu cầu một bot của tôi gửi tin nhắn đến MyChannel. Đối với kênh công khai, chat_id bằng với phần cuối cùng của URL của kênh đó: trong telegram.me/MyChannel , chat_id là "MyChannel". Các kênh riêng tư chỉ có url mời như telegram.me/joinchat/AJhkwTviqL_7HWcGZgottQ và chat_id không phải là "AJhkwTviqL_7HWcGZgottQ". Vì lý do này, tôi đang tìm chat_id của một kênh riêng tư.
aborruso

Có cách nào để chạy taxi libre mà không cần điện tín không?
Shahid Karimi

Câu trả lời:


177

Tôi đã tìm thấy cách để viết trong các kênh riêng.

  1. Bạn nên chuyển nó thành công khai với một số @channelName
  2. Gửi tin nhắn đến kênh này thông qua Bot API

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

  3. Khi phản hồi, bạn sẽ nhận được thông tin với chat_id về kênh của mình.

    {"ok": true, "result": {"chat": { "id": -1001005582487, "title": "Kiểm tra kênh riêng tư", "type": "channel"}, "date": 1448245538, " message_id ": 7," text ":" 123ds "}}

  4. Giờ đây, bạn có thể chuyển đổi Kênh về chế độ riêng tư (bằng cách xóa liên kết của kênh) và gửi tin nhắn trực tiếp tới chat_id "-1001005582487" này

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


1
Tôi đã bình chọn câu hỏi của bạn và tôi cảm ơn bạn về chi tiết! Tôi bối rối bỏ phiếu cho câu trả lời của bạn ở đây vì nó là một hack :-). BTW, câu hỏi chung của tôi là: Kênh Riêng tư cần những gì? Có lẽ các nhóm (siêu nhóm gần đây) là một cách tốt hơn? Trong tài liệu điện tín facs không rõ ràng về các kênh Riêng.
Giorgio Robino

1
Tôi đã thử điều này và nó chỉ hoạt động trong vài phút. Tôi nghĩ vì sau khi kênh trở thành riêng tư, sẽ có một khung thời gian mà kênh vẫn có thể truy cập công khai: sau đó, nếu bạn cố gắng đặt lại kênh là công khai, bạn phải xác định lại id kênh.
roibeart

1
Bạn nên làm rõ rằng chúng tôi cần gửi mã thông báo api của mình bên cạnh bot ở dấu gạch chéo đầu tiên. Dù sao cũng cảm ơn! Đó là một giải pháp gọn gàng.
Franco Maldonado

106

Việc đặt kênh ở chế độ công khai không thể được thực hiện bởi người dùng với tồn tại ít nhất 5 nhóm / kênh công khai nên ... vấn đề chưa được giải quyết. Có, bạn có thể thu hồi một trong số chúng, nhưng hiện tại, chúng tôi không thể truy xuất id trò chuyện theo cách khác.

thu hồi

Có ai tìm thấy giải pháp cho trường hợp đó không?

cập nhật

Tôi đã tìm thấy giải pháp điên rồ:

  1. đăng nhập bằng tài khoản của bạn tại phiên bản web của Telegram: https://web.telegram.org
  2. Tìm kênh của bạn. Xem tới url của bạn, url sẽ giống như https://web.telegram.org/#/im?p=c 1055587116 _11052224402541910257
  3. Lấy "1055587116" từ nó và thêm "-100" làm tiền tố.

Vì vậy, ... id kênh của bạn sẽ là "-1001055587116". Điều kỳ diệu xảy ra :)

Giải pháp được tìm thấy tại đây: https://github.com/GabrielRF/telegram-id#web-channel-id


1
Ngay cả kênh mới của tôi cũng đã chuyển sang chế độ riêng tư / công khai / riêng tư @channel_username, nhưng trong khi nó ở chế độ riêng tư, @channel_usernamenó không hoạt động với tôi! Tôi đã sử dụng giải pháp đã đăng của bạn và đã hoạt động
MohaMad

bạn ạ, là một người yêu cuộc sống!
Juggernaut

1
Tôi không nghĩ rằng -100tiền tố này sẽ hoạt động mãi mãi, nhưng sau 4 năm nó vẫn hoạt động!
Ali Tou

1
@AliTou Pavel Durov vừa tìm thấy nhận xét này và quyết định không xóa FEATURE, ahah :) Rất vui khi biết rằng nó vẫn hoạt động :)
Nigrimmist

31

Cách dễ nhất là mời @get_id_bot trong cuộc trò chuyện của bạn và sau đó nhập:

/my_id @get_id_bot

Bên trong cuộc trò chuyện của bạn


3
Cảm ơn bạn, câu trả lời hay nhất!
realag777

1
Theo thử nghiệm của tôi, bot nên được thêm làm quản trị viên trong kênh.
Morteza Ziyae

Vâng, có được thêm as administrator có vẻ như
Stefan Reich

3
điều này vẫn còn hiện tại? / my_id @ ... dường như không làm gì cả (ngoài việc thông báo đó xuất hiện)
wal

@wal Tôi đã nhận được id bằng 2 phương thức /start @get_id_bot/my_id @get_id_botkhông gian cũng có vẻ quan trọng. Thêm @get_id_botlàm thành viên và chỉ cung cấp quyền đăng bài với tư cách Quản trị viên. Xóa nó để an toàn khi bạn có ID.
rahoolm

21

Mở kênh riêng tư, sau đó:

  • trên ứng dụng khách web :

  • trên thiết bị di độngmáy tính để bàn :

    • sao chép liên kết của bất kỳ thông báo của kênh:
    • ifví dụ như https://t.me/c/1192292378/31
    • then 1192292378 là ID kênh (phần thưởng: 31 là ID tin nhắn)
  • trên Messenger Plus dành cho Android :

    • mở thông tin của kênh:
    • ID kênh xuất hiện ở trên , ngay dưới tên của nó

WARNINGhãy chắc chắn thêm tiền tố -100 khi sử dụng Telegram Bot API:

  • if ID kênh là ví dụ: 1192292378
  • thenbạn nên sử dụng -1001192292378

1
Đây là cách dễ nhất và chính xác để lấy ID kênh, cảm ơn!
Tonni

4

Bạn cũng có thể làm điều này:

Bước 1) Chuyển kênh riêng tư của bạn thành kênh công khai

Bước 2) Đặt tên kênh cho kênh này

Bước 3) sau đó bạn có thể thay đổi Kênh này thành Riêng tư

Bước 4) Bây giờ gửi tin nhắn của bạn bằng @ChannelName mà bạn đã đặt ở bước 3

lưu ý: Đối với Bước 1, Bạn có thể Thay đổi Một trong các Kênh Công khai của Bạn thành Riêng tư trong một thời gian ngắn.


3

Không cần chuyển kênh thành công khai sau đó đặt kênh riêng tư.

  1. tìm id của kênh riêng tư của bạn. (Có rất nhiều phương pháp để làm điều này, ví dụ như xem câu trả lời SO này )

  2. curl -X BÀI ĐĂNG " https://api.telegram.org/botxxxxxx:yyyyyyyyyyy/sendMessage " -d "chat_id = -100 CHAT_ID & text = văn bản mẫu của tôi"

    thay xxxxxx: yyyyyyyyyyy bằng id bot của bạn và thay CHAT_ID bằng id kênh được tìm thấy ở bước 1. Vì vậy, nếu id kênh là 1234 thì sẽ là chat_id = -1001234.

Tất cả đã được làm xong!



1

Hiện tại, bạn có thể viết một liên kết mời tới bot @username_to_id_bot và bạn sẽ nhận được id:

thí dụ: nhập mô tả hình ảnh ở đây

cũng hoạt động với các cuộc trò chuyện công khai, các kênh và thậm chí cả người dùng


0

Tùy chọn mà tôi làm là sử dụng Messenger Plus phổ biến trên Android. Liên kết cửa hàng chơi là: https://play.google.com/store/apps/details?id=org.telegram.plus&hl=vi

Bạn có thể nhấp vào Kênh và trong Thông tin kênh bên dưới tên nhóm, bạn có thể tìm thấy Id kênh.

Id Supergroup và Channel sẽ có dạng 1068773197 trên plus messenger. Đối với việc sử dụng của bạn trên API, bạn có thể đặt tiền tố -100 sẽ làm cho nó là -1001068773197.


-1

CẦN TRẢ LỜI:

Bạn nên thêm & đặt BOT với tư cách là quản trị viên của kênh RIÊNG TƯ , nếu không chat not foundsẽ xảy ra lỗi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.