From f132ccf0e9cb3ee13ff04482e5ec940f0363ad5b Mon Sep 17 00:00:00 2001 From: mrcarrera24 Date: Tue, 10 Jan 2023 12:25:51 +0100 Subject: [PATCH 1/7] Update UniversalTelegramBot.cpp --- src/UniversalTelegramBot.cpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/UniversalTelegramBot.cpp b/src/UniversalTelegramBot.cpp index fbb1ac7..90d63df 100644 --- a/src/UniversalTelegramBot.cpp +++ b/src/UniversalTelegramBot.cpp @@ -769,6 +769,40 @@ bool UniversalTelegramBot::sendChatAction(const String& chat_id, const String& t return sent; } +bool UniversalTelegramBot::sendLocation(const String& chat_id, const float latitude, const float longitude, uint16_t live_period) { + + bool sent = false; + #ifdef TELEGRAM_DEBUG + Serial.println(F("SEND Location Message")); + #endif + unsigned long sttime = millis(); + + while (millis() - sttime < 8000ul) { // loop for a while to send the message + String command = BOT_CMD("sendLocation?chat_id="); + command += chat_id; + command += F("&latitude="); + command += String(latitude,6); + command += F("&longitude="); + command += String(longitude,6); + if ((live_period >= 60) && (live_period <= 86400)) { + command += F("&live_period="); + command += String(live_period); + } + + String response = sendGetToTelegram(command); + + #ifdef TELEGRAM_DEBUG + Serial.println(response); + #endif + sent = checkForOkResponse(response); + + if (sent) break; + } + + closeClient(); + return sent; +} + void UniversalTelegramBot::closeClient() { if (client->connected()) { #ifdef TELEGRAM_DEBUG From 8e59e8ff4f8dafe6f54e953dec18aa1e23fcf0ec Mon Sep 17 00:00:00 2001 From: mrcarrera24 Date: Tue, 10 Jan 2023 12:40:03 +0100 Subject: [PATCH 2/7] Update UniversalTelegramBot.h --- src/UniversalTelegramBot.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/UniversalTelegramBot.h b/src/UniversalTelegramBot.h index 5fc97ee..c013b44 100644 --- a/src/UniversalTelegramBot.h +++ b/src/UniversalTelegramBot.h @@ -94,7 +94,8 @@ class UniversalTelegramBot { const String& parse_mode, const String& keyboard, int message_id = 0); bool sendChatAction(const String& chat_id, const String& text); - + bool sendLocation(const String& chat_id, const float latitude, const float longitude, const uint16_t live_period=0); + bool sendPostMessage(JsonObject payload, bool edit = false); String sendPostPhoto(JsonObject payload); String sendPhotoByBinary(const String& chat_id, const String& contentType, int fileSize, From f74d79e310ffa728f081308ad6a13780dc1f4790 Mon Sep 17 00:00:00 2001 From: mrcarrera24 Date: Tue, 10 Jan 2023 12:57:54 +0100 Subject: [PATCH 3/7] Update Location.ino --- examples/ESP32/Location/Location.ino | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/ESP32/Location/Location.ino b/examples/ESP32/Location/Location.ino index 7dcfeda..ceaaafc 100644 --- a/examples/ESP32/Location/Location.ino +++ b/examples/ESP32/Location/Location.ino @@ -41,6 +41,7 @@ void handleNewMessages(int numNewMessages) String message = "Long: " + String(bot.messages[i].longitude, 6) + "\n"; message += "Lat: " + String(bot.messages[i].latitude, 6) + "\n"; bot.sendMessage(chat_id, message, "Markdown"); + bot.sendLocation(chat_id,bot.messages[i].latitude,bot.messages[i].longitude); } else if (text == "/start") { From a74f874ad54d33afe8016a11b1afa0a79079068e Mon Sep 17 00:00:00 2001 From: mrcarrera24 Date: Tue, 10 Jan 2023 12:59:10 +0100 Subject: [PATCH 4/7] Update Location.ino --- examples/ESP8266/Location/Location.ino | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/ESP8266/Location/Location.ino b/examples/ESP8266/Location/Location.ino index 9381c61..2e30aab 100644 --- a/examples/ESP8266/Location/Location.ino +++ b/examples/ESP8266/Location/Location.ino @@ -42,6 +42,7 @@ void handleNewMessages(int numNewMessages) String message = "Long: " + String(bot.messages[i].longitude, 6) + "\n"; message += "Lat: " + String(bot.messages[i].latitude, 6) + "\n"; bot.sendMessage(chat_id, message, "Markdown"); + bot.sendLocation(chat_id,bot.messages[i].latitude,bot.messages[i].longitude); } else if (text == "/start") { From f329b3bcd2f14ecb7f96c0f3c04ccf87656f0d59 Mon Sep 17 00:00:00 2001 From: mrcarrera24 Date: Wed, 8 Mar 2023 12:00:57 +0100 Subject: [PATCH 5/7] Update UniversalTelegramBot.h --- src/UniversalTelegramBot.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/UniversalTelegramBot.h b/src/UniversalTelegramBot.h index c013b44..dab1499 100644 --- a/src/UniversalTelegramBot.h +++ b/src/UniversalTelegramBot.h @@ -48,6 +48,7 @@ struct telegramMessage { String chat_title; String from_id; String from_name; + String username; String date; String type; String file_caption; From dad75316a21327267f91399138bf979de2001443 Mon Sep 17 00:00:00 2001 From: mrcarrera24 Date: Wed, 8 Mar 2023 12:03:46 +0100 Subject: [PATCH 6/7] Update UniversalTelegramBot.cpp --- src/UniversalTelegramBot.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/UniversalTelegramBot.cpp b/src/UniversalTelegramBot.cpp index 90d63df..5a3bb3a 100644 --- a/src/UniversalTelegramBot.cpp +++ b/src/UniversalTelegramBot.cpp @@ -444,6 +444,7 @@ bool UniversalTelegramBot::processResult(JsonObject result, int messageIndex) { messages[messageIndex].text = F(""); messages[messageIndex].from_id = F(""); messages[messageIndex].from_name = F(""); + messages[messageIndex].username= F(""); messages[messageIndex].longitude = 0; messages[messageIndex].latitude = 0; messages[messageIndex].reply_to_message_id = 0; @@ -455,6 +456,7 @@ bool UniversalTelegramBot::processResult(JsonObject result, int messageIndex) { messages[messageIndex].type = F("message"); messages[messageIndex].from_id = message["from"]["id"].as(); messages[messageIndex].from_name = message["from"]["first_name"].as(); + messages[messageIndex].username= message["from"]["username"].as(); messages[messageIndex].date = message["date"].as(); messages[messageIndex].chat_id = message["chat"]["id"].as(); messages[messageIndex].chat_title = message["chat"]["title"].as(); @@ -495,6 +497,7 @@ bool UniversalTelegramBot::processResult(JsonObject result, int messageIndex) { messages[messageIndex].type = F("callback_query"); messages[messageIndex].from_id = message["from"]["id"].as(); messages[messageIndex].from_name = message["from"]["first_name"].as(); + messages[messageIndex].username= message["from"]["username"].as(); messages[messageIndex].text = message["data"].as(); messages[messageIndex].date = message["date"].as(); messages[messageIndex].chat_id = message["message"]["chat"]["id"].as(); @@ -508,6 +511,7 @@ bool UniversalTelegramBot::processResult(JsonObject result, int messageIndex) { messages[messageIndex].type = F("edited_message"); messages[messageIndex].from_id = message["from"]["id"].as(); messages[messageIndex].from_name = message["from"]["first_name"].as(); + messages[messageIndex].username= message["from"]["username"].as(); messages[messageIndex].date = message["date"].as(); messages[messageIndex].chat_id = message["chat"]["id"].as(); messages[messageIndex].chat_title = message["chat"]["title"].as(); From ed4623ba804f24d08772c6ec828f3f9d8cd7929e Mon Sep 17 00:00:00 2001 From: mrcarrera24 Date: Wed, 8 Mar 2023 12:13:00 +0100 Subject: [PATCH 7/7] Update UniversalTelegramBot.cpp --- src/UniversalTelegramBot.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/UniversalTelegramBot.cpp b/src/UniversalTelegramBot.cpp index 5a3bb3a..d15bb73 100644 --- a/src/UniversalTelegramBot.cpp +++ b/src/UniversalTelegramBot.cpp @@ -444,7 +444,7 @@ bool UniversalTelegramBot::processResult(JsonObject result, int messageIndex) { messages[messageIndex].text = F(""); messages[messageIndex].from_id = F(""); messages[messageIndex].from_name = F(""); - messages[messageIndex].username= F(""); + messages[messageIndex].username= F(""); messages[messageIndex].longitude = 0; messages[messageIndex].latitude = 0; messages[messageIndex].reply_to_message_id = 0; @@ -456,7 +456,7 @@ bool UniversalTelegramBot::processResult(JsonObject result, int messageIndex) { messages[messageIndex].type = F("message"); messages[messageIndex].from_id = message["from"]["id"].as(); messages[messageIndex].from_name = message["from"]["first_name"].as(); - messages[messageIndex].username= message["from"]["username"].as(); + messages[messageIndex].username= message["from"]["username"].as(); messages[messageIndex].date = message["date"].as(); messages[messageIndex].chat_id = message["chat"]["id"].as(); messages[messageIndex].chat_title = message["chat"]["title"].as();