Telegram 通过电报发送共享按钮';让机器人进入通道

Telegram 通过电报发送共享按钮';让机器人进入通道,telegram,telegram-bot,php-telegram-bot,Telegram,Telegram Bot,Php Telegram Bot,我发了一封电报。现在,我想发送一个共享按钮到频道的帖子 $btn =array('inline_keyboard'=> array( array( array( 'text'=> 'share', 'switch_inline_query'=>"1111" ) ) ) ); $btn = json_encode(

我发了一封电报。现在,我想发送一个共享按钮到频道的帖子

$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);
现在,如果我设置中任何用户的用户电报id,而不是$id,则此代码有效! 但是如果我设置频道电报id(其中机器人是admin)而不是$id,这将不起作用!我该怎么办


(同样,如果我使用url而不使用switch\u inline\u query,那么这段代码适用于bot频道电报id用户电报id,在这种情况下我没有问题)

如果你想将消息发送到公共频道,你可以用用户名代替id。 例如:@channelname

$content = array
(
    'chat_id' => @channelname,
    'reply_markup' => $btn, 
    'text' => $textt,
);
但是,如果要将消息发送到专用通道,可以执行以下步骤:

  • 您应该使用@channelName将其转换为公共,并通过Bot API将消息发送到此频道
  • 作为响应,您将获得带有频道聊天id的信息。
    {“确定”:true,“结果”:{“聊天”:{“id”:-1001005582487,“标题”:“测试专用频道”,“键入”:“频道”},“日期”:1448245538,“消息id”:7,“文本”:“123ds”}
  • 现在,您可以将频道转换回私人频道(通过删除频道链接),并直接向该聊天室发送消息-“1001005582487”

  • 如果您需要更详细的解释,请阅读

    您想在频道中发送消息吗?您不明白我说的话!!!我可以用频道id或频道用户名向频道发送消息。问题是:switch_inline_查询不适用于通过bot的通道。当我用switch\u inline\u query制作内联键盘时,不可能用bot本身将其发送到频道,因此我必须用bot制作内联键盘,获取bot制作的帖子,然后在频道中共享!请阅读我的问题与更多。。。