aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/org/traccar/notificators/NotificatorTelegram.java14
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));
}
}