由bot发送消息到电报频道

时间:2016-01-26 19:27:06

标签: php sendmessage telegram-bot

我用电报botfather制作一个电报机器人,我在我的公共电报频道中将我的机器人设为管理员,现在我想通过机器人在频道发送消息,这是我的工作代码:

send.php代码是:

mhoggan@1USDMHOGGAN /cygdrive/c/Program Files (x86)/SoftErg/WinGDB
$ ls -l
total 19620
drwxrwx---+ 1 SYSTEM SYSTEM        0 Jan 26 11:00 1033
drwxrwx---+ 1 SYSTEM SYSTEM        0 Jan 26 11:00 Generators
-rwxr-x---+ 1 SYSTEM SYSTEM   583168 Jan 10 13:51 softergCrashReporter.exe
-rwxr-x---+ 1 SYSTEM SYSTEM    59392 Jan 10 13:52 softergProcessBreaker64.exe
-rwxr-x---+ 1 SYSTEM SYSTEM   546816 Jan 10 13:51 softergShell.exe
drwxrwx---+ 1 SYSTEM SYSTEM        0 Jan 26 11:00 Templates
drwxrwx---+ 1 SYSTEM SYSTEM        0 Jan 26 11:00 Visualizers
-rwxr-x---+ 1 SYSTEM SYSTEM  3116544 Jan 10 13:29 wingdb.chm
-rwxr-x---+ 1 SYSTEM SYSTEM  1363456 Jan 10 13:46 wingdbAdaLanguagePack.dll
-rwxr-x---+ 1 SYSTEM SYSTEM    30208 Jan 10 13:53 wingdbAutomationAPI.dll
-rwxr-x---+ 1 SYSTEM SYSTEM 11030016 Jan 10 13:50 wingdbEngine.dll
-rwxr-x---+ 1 SYSTEM SYSTEM  1495040 Jan 10 13:54 wingdbMakefilePack.dll
-rwxr-x---+ 1 SYSTEM SYSTEM  1845760 Jan 10 13:51 wingdbRemoteTerminalPack.dll

和telegram-bot-api.php代码是:

<?php
    require('telegram-bot-api.php');

    $token = '10**************************************jM';
    $bot = new telegram_bot($token);
    $to = '@myChannel';
    $rs = $bot->send_message($to , 'test' , null, null);
        print_r($rs);
?>

但是当运行send.php时没有向频道发送消息但是当我用私人chat_id或group chat_id替换chat_id时,这段代码非常酷并且向群组或我的联系人发送消息

对不起我的英语,sory :)

4 个答案:

答案 0 :(得分:3)

解决了,我使用httpRequster插件测试,发送一个帖子请求到这个链接:

https://api.telegram.org/bot1 ******************************* M / sendMessage

和发布的参数是: chat_id = @myChannel_username text = myMessage

我不知道为什么不使用我的旧代码但是要处理此请求:D

无论如何,谢谢。

答案 1 :(得分:0)

Bot必须是该频道的管理员,才能发送消息。没有客户可以帮助您使机器人成为渠道管理员。你确定你的机器人是渠道的管理员吗?

来源:https://core.telegram.org/bots/api-changelog#october-8-2015

答案 2 :(得分:0)

curl对SSL有这个问题。 将此代码添加到Solve problem:


        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

答案 3 :(得分:0)

您还可以使用频道/组/帐户的数字chat_id来使漫游器发送消息。 获取chat_id的简单方法是将频道中的任何消息转发到@userinfobot机器人。