web-dev-qa-db-ja.com

電報PHPの例は、メッセージを送信します

Phpから電報プロトコルでメッセージを送信する例が見つかりません。 this を使用しようとしましたが、失敗しました。例を挙げていただけますか?

18
user3537042

私は次の機能を使用します。

function sendMessage($chatID, $messaggio, $token) {
    echo "sending message to " . $chatID . "\n";

    $url = "https://api.telegram.org/bot" . $token . "/sendMessage?chat_id=" . $chatID;
    $url = $url . "&text=" . urlencode($messaggio);
    $ch = curl_init();
    $optArray = array(
            CURLOPT_URL => $url,
            CURLOPT_RETURNTRANSFER => true
    );
    curl_setopt_array($ch, $optArray);
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}

そして、あなたはこの方法で呼び出します

$token = "<insert bot token here>";
$chatid = "<chatID>";
sendMessage($chatid, "Hello World", $token);
19
Mauro Delrio

簡単な方法:

$token = "YOUR_BOT's_TOKEN";

$data = [
    'text' => 'your message here',
    'chat_id' => 'the_chat_id_here'
];

file_get_contents("https://api.telegram.org/bot$token/sendMessage?" . http_build_query($data) );
7
Babak Bandpey

まあ、それはかなり古い投稿のようですが、答えはありませんので、誰かの助けになることを願っています。次のリポジトリのサンプルを使用できます PHPのテレグラムボットクライアント 現在開発中です。これは、メッセージの送信に使用した方法です。

// initialise variables here
$chat_id = 1231231231;
// path to the picture, 
$text = 'your text goes here';
// following ones are optional, so could be set as null
$disable_web_page_preview = null;
$reply_to_message_id = null;
$reply_markup = null;

$data = array(
        'chat_id' => urlencode($chat_id),
        'text' => urlencode($text),
        'disable_web_page_preview' => urlencode($disable_web_page_preview),
        'reply_to_message_id' => urlencode($reply_to_message_id),
        'reply_markup' => urlencode($reply_markup)
    );

$url = https://api.telegram.org/botYOUR_TOKEN_GOES_HERE/sendMessage;

//  open connection
$ch = curl_init();
//  set the url
curl_setopt($ch, CURLOPT_URL, $url);
//  number of POST vars
curl_setopt($ch, CURLOPT_POST, count($data));
//  POST data
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
//  To display result of curl
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//  execute post
$result = curl_exec($ch);
//  close connection
curl_close($ch);
5
fiz