diff options
-rw-r--r-- | src/main/java/org/traccar/notificators/NotificatorTelegram.java | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/main/java/org/traccar/notificators/NotificatorTelegram.java b/src/main/java/org/traccar/notificators/NotificatorTelegram.java index cd6fb0c45..00baa2540 100644 --- a/src/main/java/org/traccar/notificators/NotificatorTelegram.java +++ b/src/main/java/org/traccar/notificators/NotificatorTelegram.java @@ -1,5 +1,6 @@ /* * Copyright 2019 - 2021 Anton Tananaev (anton@traccar.org) + * Copyright 2021 Rafael Miquelino (rafaelmiquelino@gmail.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,6 +20,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.traccar.Context; +import org.traccar.model.User; import org.traccar.config.Keys; import org.traccar.model.Event; import org.traccar.model.Position; @@ -81,9 +83,9 @@ public class NotificatorTelegram extends Notificator { }); } - private LocationMessage createLocationMessage(Position position) { + private LocationMessage createLocationMessage(String messageChatId, Position position) { LocationMessage locationMessage = new LocationMessage(); - locationMessage.chatId = chatId; + locationMessage.chatId = messageChatId; locationMessage.latitude = position.getLatitude(); locationMessage.longitude = position.getLongitude(); locationMessage.bearing = (int) Math.ceil(position.getCourse()); @@ -93,12 +95,16 @@ public class NotificatorTelegram extends Notificator { @Override public void sendSync(long userId, Event event, Position position) { + User user = Context.getPermissionsManager().getUser(userId); TextMessage message = new TextMessage(); - message.chatId = chatId; + message.chatId = user.getString("telegramChatId"); + if (message.chatId == null) { + message.chatId = chatId; + } message.text = NotificationFormatter.formatShortMessage(userId, event, position); executeRequest(urlSendText, message); if (position != null) { - executeRequest(urlSendLocation, createLocationMessage(position)); + executeRequest(urlSendLocation, createLocationMessage(message.chatId, position)); } } |