Support processing of Telegram channel messages (#15104)

Signed-off-by: Dominique Lasserre <lasserre.d@gmail.com>
This commit is contained in:
Dominique Lasserre 2023-07-16 12:50:10 +02:00 committed by GitHub
parent 3e0099d6d1
commit d449fb8c48
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -281,6 +281,9 @@ public class TelegramHandler extends BaseThingHandler {
String replyId = null;
Message message = update.message();
if (message == null) {
message = update.channelPost();
}
CallbackQuery callbackQuery = update.callbackQuery();
if (message != null) {
@ -297,8 +300,10 @@ public class TelegramHandler extends BaseThingHandler {
JsonObject messageRaw = JsonParser.parseString(gson.toJson(message)).getAsJsonObject();
JsonObject messagePayload = new JsonObject();
messagePayload.addProperty("message_id", message.messageId());
messagePayload.addProperty("from",
String.join(" ", new String[] { message.from().firstName(), message.from().lastName() }));
if (messageRaw.has("from")) {
messagePayload.addProperty("from",
String.join(" ", new String[] { message.from().firstName(), message.from().lastName() }));
}
messagePayload.addProperty("chat_id", message.chat().id());
if (messageRaw.has("text")) {
messagePayload.addProperty("text", message.text());
@ -371,9 +376,11 @@ public class TelegramHandler extends BaseThingHandler {
// process metadata
if (lastMessageURL != null || lastMessageText != null) {
lastMessageDate = message.date();
lastMessageFirstName = message.from().firstName();
lastMessageLastName = message.from().lastName();
lastMessageUsername = message.from().username();
if (message.from() != null) {
lastMessageFirstName = message.from().firstName();
lastMessageLastName = message.from().lastName();
lastMessageUsername = message.from().username();
}
}
} else if (callbackQuery != null && callbackQuery.message() != null
&& callbackQuery.message().text() != null) {