From da48f062e14573cbcbe01b4bbb7f8a2b2d4276da Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Sat, 23 May 2026 13:58:13 -0700 Subject: [PATCH] Send Telegram location per user (fix #5174) --- src/main/java/org/traccar/config/Keys.java | 2 +- .../java/org/traccar/notificators/NotificatorTelegram.java | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/traccar/config/Keys.java b/src/main/java/org/traccar/config/Keys.java index ae8c461bb..5aee11190 100644 --- a/src/main/java/org/traccar/config/Keys.java +++ b/src/main/java/org/traccar/config/Keys.java @@ -1409,7 +1409,7 @@ public final class Keys { */ public static final ConfigKey NOTIFICATOR_TELEGRAM_SEND_LOCATION = new BooleanConfigKey( "notificator.telegram.sendLocation", - List.of(KeyType.CONFIG)); + List.of(KeyType.CONFIG, KeyType.USER)); /** * Telegram notification proxy URL. diff --git a/src/main/java/org/traccar/notificators/NotificatorTelegram.java b/src/main/java/org/traccar/notificators/NotificatorTelegram.java index 54ad59a28..d73de2ba0 100644 --- a/src/main/java/org/traccar/notificators/NotificatorTelegram.java +++ b/src/main/java/org/traccar/notificators/NotificatorTelegram.java @@ -116,7 +116,10 @@ public class NotificatorTelegram extends Notificator { } message.text = shortMessage.digest(); client.target(urlSendText).request().post(Entity.json(message)).close(); - if (sendLocation && position != null) { + boolean sendUserLocation = user.hasAttribute(Keys.NOTIFICATOR_TELEGRAM_SEND_LOCATION.getKey()) + ? user.getBoolean(Keys.NOTIFICATOR_TELEGRAM_SEND_LOCATION.getKey()) + : sendLocation; + if (sendUserLocation && position != null) { client.target(urlSendLocation).request().post( Entity.json(createLocationMessage(message.chatId, position))).close(); }