将带有电报机器人的共享按钮发送到频道



我制作了一个电报机器人。现在,我想将帖子的共享按钮发送到频道。

$btn =array('inline_keyboard'=>
    array(
        array(
            array(
                'text'=> 'share', 
                'switch_inline_query'=>"1111"
            )
        )   
    )
);
$btn = json_encode($btn);
$content = array
    (
        'chat_id' => $id,
        'reply_markup' => $btn, 
        'text' => $textt,
    );
$bot->sendMessage($content);

现在,如果我设置任何用户的 user_telegram_id ,而不是 $ id ,则此代码可行!但是,如果我设置 channel_telegram_id (其中机器人为管理(而不是 $ id 这是行不通的!我该怎么办?

(也是我使用 url ,并且不使用 switch_inline_query ,则此代码适用于bot channel_telegram_idgram_id user_tele_telegram_id

如果要将消息发送到公共渠道,则可以将用户名代替ID。例如:@channelname

$content = array
(
    'chat_id' => @channelname,
    'reply_markup' => $btn, 
    'text' => $textt,
);

但是,如果您想将消息发送到私人频道,则可以按照以下步骤操作:

  1. 您应该使用一些@ChannelName将其转换为公众,然后通过BOT API将消息发送到此频道https://api.telegram.org/bot111:222/sendmessage?chat_id=@channelname& text=123
  2. 作为响应,您将使用频道的chant_id获取信息。{ "ok" : true, "result" : { "chat" : { "id" : -1001005582487, "title" : "Test Private Channel", "type" : "channel" }, "date" : 1448245538, "message_id" : 7, "text" : "123ds" } }
  3. 现在,您可以将频道转换回私有(通过删除频道的链接(,然后将消息直接发送到此chat_id" -10010055582487"https://api.telegram.org/bot111:222/sendmessage?chat_id = 1001005582487& amp; text=123

如果您需要更多详细的说明,请阅读此页面

最新更新