Support processing of Telegram channel messages (#15104)
Signed-off-by: Dominique Lasserre <lasserre.d@gmail.com>
This commit is contained in:
parent
3e0099d6d1
commit
d449fb8c48
@ -281,6 +281,9 @@ public class TelegramHandler extends BaseThingHandler {
|
|||||||
String replyId = null;
|
String replyId = null;
|
||||||
|
|
||||||
Message message = update.message();
|
Message message = update.message();
|
||||||
|
if (message == null) {
|
||||||
|
message = update.channelPost();
|
||||||
|
}
|
||||||
CallbackQuery callbackQuery = update.callbackQuery();
|
CallbackQuery callbackQuery = update.callbackQuery();
|
||||||
|
|
||||||
if (message != null) {
|
if (message != null) {
|
||||||
@ -297,8 +300,10 @@ public class TelegramHandler extends BaseThingHandler {
|
|||||||
JsonObject messageRaw = JsonParser.parseString(gson.toJson(message)).getAsJsonObject();
|
JsonObject messageRaw = JsonParser.parseString(gson.toJson(message)).getAsJsonObject();
|
||||||
JsonObject messagePayload = new JsonObject();
|
JsonObject messagePayload = new JsonObject();
|
||||||
messagePayload.addProperty("message_id", message.messageId());
|
messagePayload.addProperty("message_id", message.messageId());
|
||||||
|
if (messageRaw.has("from")) {
|
||||||
messagePayload.addProperty("from",
|
messagePayload.addProperty("from",
|
||||||
String.join(" ", new String[] { message.from().firstName(), message.from().lastName() }));
|
String.join(" ", new String[] { message.from().firstName(), message.from().lastName() }));
|
||||||
|
}
|
||||||
messagePayload.addProperty("chat_id", message.chat().id());
|
messagePayload.addProperty("chat_id", message.chat().id());
|
||||||
if (messageRaw.has("text")) {
|
if (messageRaw.has("text")) {
|
||||||
messagePayload.addProperty("text", message.text());
|
messagePayload.addProperty("text", message.text());
|
||||||
@ -371,10 +376,12 @@ public class TelegramHandler extends BaseThingHandler {
|
|||||||
// process metadata
|
// process metadata
|
||||||
if (lastMessageURL != null || lastMessageText != null) {
|
if (lastMessageURL != null || lastMessageText != null) {
|
||||||
lastMessageDate = message.date();
|
lastMessageDate = message.date();
|
||||||
|
if (message.from() != null) {
|
||||||
lastMessageFirstName = message.from().firstName();
|
lastMessageFirstName = message.from().firstName();
|
||||||
lastMessageLastName = message.from().lastName();
|
lastMessageLastName = message.from().lastName();
|
||||||
lastMessageUsername = message.from().username();
|
lastMessageUsername = message.from().username();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} else if (callbackQuery != null && callbackQuery.message() != null
|
} else if (callbackQuery != null && callbackQuery.message() != null
|
||||||
&& callbackQuery.message().text() != null) {
|
&& callbackQuery.message().text() != null) {
|
||||||
String[] callbackData = callbackQuery.data().split(" ", 2);
|
String[] callbackData = callbackQuery.data().split(" ", 2);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user