במדריך זה נדבר על הדרך הפשוטה והקלה לשלוח הודעות לערוץ טלגרם. והשימוש? תלוי צורך. אני למשל משתמש ביכלות זו במערכת ניטור שכתבתי. אפשרות נוספת היא לשימוש בבתים חכמים (גם אותה יישמתי אגב).
על מנת שנוכל להתקדם עם המדריך, תצטרכו לבצע את השלבים המקדימים הבאים:
- הקמת ערוץ טלגרם ציבורי.
- יצירת בוט טלגרם באמצעות BotFather.
- הוספת הבוט שיצרתם כמנהל בערוץ
לאחר שביצעתם את השלבים לעיל, תוכלו כעת לשלוח הודעה לערוץ שלכם על ידי שליחת בקשת HTTP GET לממשק ה- API של Telegram בכתובת הבאה:
כאשר:
- BOT_API_KEY – הוא ה API KEY של הבוט שקיבלתם בעת יצירתו.
- MY_CHANNEL_NAME – שם הערוץ שפתחתם, לדוגמא @my_channel_name.
- MY_MESSAGE_TEXT – תוכן ההודעה אותה תרצו לשלוח.
וכעת אספק מספר דוגמאות קוד בשפות הפיתוח השונות באמצעותן ניתן לממש את השליחה כפי שהוסברה כאן.
PHP
https://api.telegram.org/bot[BOT_API_KEY]/sendMessage?chat_id=[MY_CHANNEL_NAME]&text=[MY_MESSAGE_TEXT]
$apiToken = "my_bot_api_token";
$data = [
'chat_id' => '@my_channel_name',
'text' => 'Hello world!'
];
$response = file_get_contents("https://api.telegram.org/bot$apiToken/sendMessage?" . http_build_query($data) );
// Do what you want with result
JAVA
String urlString = "https://api.telegram.org/bot%s/sendMessage?chat_id=%s&text=%s";
String apiToken = "my_bot_api_token";
String chatId = "@my_channel_name";
String text = "Hello world!";
urlString = String.format(urlString, apiToken, chatId, text);
URL url = new URL(urlString);
URLConnection conn = url.openConnection();
StringBuilder sb = new StringBuilder();
InputStream is = new BufferedInputStream(conn.getInputStream());
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String inputLine = "";
while ((inputLine = br.readLine()) != null) {
sb.append(inputLine);
}
String response = sb.toString();
// Do what you want with response
Objective-C
NSString *strUrl = @”https://api.telegram.org/bot%@/sendMessage?chat_id=%@&text=%@";
NSString *apiToken = @”my_bot_api_token”;
NSString *chatId = @”@my_channel_name”;
NSString *text = @”Hello world!”;
strUrl = [NSString stringWithFormat:strUrl, apiToken, chatId, text];
NSURL *url = [NSURL URLWithString:strUrl];
NSURLSessionDataTask *downloadTask = [[NSURLSession sharedSession]
dataTaskWithURL:url completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
// Do what you want with data
}];
[downloadTask resume];
#C
string urlString = "https://api.telegram.org/bot{0}/sendMessage?chat_id={1}&text={2}";
string apiToken = "my_bot_api_token";
string chatId = "@my_channel_name";
string text = "Hello world!";
urlString = String.Format(urlString, apiToken, chatId, text);
WebRequest request = WebRequest.Create(urlString);
Stream rs = request.GetResponse().GetResponseStream();
StreamReader reader = new StreamReader(rs);
string line = "";
StringBuilder sb = new StringBuilder();
while ( line !=null ) {
line = reader.ReadLine();
if ( line != null )
sb.Append(line);
}
string response = sb.ToString();
// Do what you want with response
Leave a Reply