Telegram php example send message [closed]
Asked Answered
V

3

27

I can't find an example of sending message by telegram protocol from php. Can you give me any functional examples?

Volant answered 24/7, 2015 at 21:56 Comment(2)
Did you find any solution?Truehearted
Check out my answerDelius
S
36

I use the following function:

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;
}

and you call in this way

$token = "<insert bot token here>";
$chatid = "<chatID>";
sendMessage($chatid, "Hello World", $token);
Stodder answered 30/9, 2015 at 20:47 Comment(3)
He's asking about core api, not the bot api!Truehearted
it seems many of telegram developers are Iranian?. but i seeking for simple samples about bots ... all the libraries are complex in c# and php. is there any bank of codes for php develoers? or any training or tutorial?Caroleecarolin
can you add to your answer how to parse the response. {"ok":false,"error_code":400,"description":"Bad Request: chat not found"}Overtop
G
15

Simple way:

$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) );
Germ answered 16/4, 2017 at 9:9 Comment(0)
G
6

Well seems it is a quite old post, but well no answers, so I hope it helps someone. You could have used example from the following repository Telegram Bot Client in PHP that I am currently developing. This is the method I used to send message.

    // 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);
Grekin answered 24/7, 2015 at 21:56 Comment(1)
use github.com/php-telegram-bot/core this official library using composer. And simply use sendMessage function should be the shortest solutionThermophone

© 2022 - 2024 — McMap. All rights reserved.