我使用curl来更新我的公共频道.这种语法:
>curl -X POST "https://api.telegram.org/bot144377327:AAGqdElkZ-77zsPRoAXXXXXXXXXX/sendMessage" -d "chat_id=@MyChannel&text=my sample text"
Run Code Online (Sandbox Code Playgroud)
但chat_id
私人频道是什么?这不是私人邀请中的那个.
因为现在我们可以在所有方法中代替chat_id传递通道用户名(格式为@channelusername)(而不是forwardMessage中的from_chat_id).但是我管理的私人频道的@channelusername是什么?
Sta*_*hin 143
我找到了在私人频道写作的方法.
通过Bot API向此频道发送消息
https://api.telegram.org/bot111:222/sendMessage?chat_id=@channelName&text=123
作为回复,您将获得有关您频道的chat_id的信息.
{"ok":true,"result":{"chat":{ "id": - 1001005582487, "title":"Test Private Channel","type":"channel"},"date":1448245538," message_id":7,"text":"123ds"}}
现在您可以将频道转换为私人(通过删除频道的链接)并将消息直接发送到此chat_id"-1001005582487"
https://api.telegram.org/bot111:222/sendMessage?chat_id=-1001005582487&text=123
Nig*_*ist 86
由于存在至少5个公共组/频道的用户无法完成频道公开,所以......问题没有解决.是的,您可以撤销其中一个,但就目前而言,我们无法以其他方式检索聊天ID.
有没有人找到那个案子的解决方案?
更新
我发现疯狂的解决方案
所以...你的频道ID将是"-1001055587116".魔术发生:)
解决方案在这里找到:https://github.com/GabrielRF/telegram-id#web-channel-id
Jur*_*emo 20
最简单的方法是在聊天中邀请@get_id_bot,然后输入:
/my_id@get_id_bot
Run Code Online (Sandbox Code Playgroud)
在聊天中
您的私人频道的 id 是 XXXXXX 部分(在“p=c”和下划线之间)。要使用它,只需在它前面加上“-100”。因此,如果“XXXXXX”为“4785444554”,则您的私人频道 ID 为“-1004785444554”。
小智 5
打开私人频道,然后:
在网络客户端上:
if
例如https://web.telegram.org/#/im?p=c1192292378_2674311763110923980then
1192292378是频道ID在手机和台式机上:
if
例如https://t.me/c/1192292378/31then
1192292378是频道ID(奖励:31是消息ID)WARNING
使用Telegram Bot API时,请确保添加-100前缀:
if
频道ID例如是1192292378then
您应该使用-1001192292378其实,这很简单。
您需要做的就是:
getUpdates
在浏览器中转到API URL:
https://api.telegram.org/bot<BOT_TOKEN>/getUpdates
Run Code Online (Sandbox Code Playgroud)
现在,看看结果。
您将看到一个 JSON 输出。在此 JSON 中,查找chat
数据。通常,最新的更新在最后。
https://api.telegram.org/bot<BOT_TOKEN>/getUpdates
Run Code Online (Sandbox Code Playgroud)
您的聊天 ID 是-100987654321
。