From b2f9dc30b30c82202168748cb7350568419b0aca Mon Sep 17 00:00:00 2001 From: RafaelMiquelino Date: Fri, 11 Jun 2021 19:14:04 -0300 Subject: Modify NotificatorTelegram.java Add chatId based on "notificationTelegramChatId" user attributes, if available. --- .../org/traccar/notificators/NotificatorTelegram.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'src/main/java/org/traccar') diff --git a/src/main/java/org/traccar/notificators/NotificatorTelegram.java b/src/main/java/org/traccar/notificators/NotificatorTelegram.java index cd6fb0c45..25dc7567f 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,17 @@ 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; + if (user.getAttributes().containsKey("notificationTelegramChatId")) { + message.chatId = user.getString("notificationTelegramChatId"); + } else { + 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)); } } -- cgit v1.2.3