From 3d690e4402503d20c5b22835ec0b34db5456b366 Mon Sep 17 00:00:00 2001 From: Maksim Bobylev Date: Tue, 11 Jun 2019 18:35:28 +0500 Subject: [PATCH 1/5] Add uid debug for get_uid function --- zbxtg.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/zbxtg.py b/zbxtg.py index cd5626c..b0839b2 100755 --- a/zbxtg.py +++ b/zbxtg.py @@ -196,6 +196,8 @@ def get_uid(self, name): else: if chat["title"] == name: uid = chat["id"] + if self.debug: + print_message("Use uid = {0}".format(uid)) return uid def error_need_to_contact(self, to): From 4f22f472d339a4037185e39258d1de14f6454f87 Mon Sep 17 00:00:00 2001 From: Maksim Bobylev Date: Tue, 11 Jun 2019 18:40:15 +0500 Subject: [PATCH 2/5] Move python version check before loop --- zbxtg.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/zbxtg.py b/zbxtg.py index b0839b2..d712864 100755 --- a/zbxtg.py +++ b/zbxtg.py @@ -174,6 +174,8 @@ def send_txt(self, to, text, text_name=None): def get_uid(self, name): uid = 0 + if sys.version_info[0] < 3: + name = name.decode("utf-8") if self.debug: print_message("Getting uid from /getUpdates...") updates = self.get_updates() @@ -190,12 +192,9 @@ def get_uid(self, name): uid = chat["id"] if (chat["type"] == "group" or chat["type"] == "supergroup") and self.type == "group": if "title" in chat: - if sys.version_info[0] < 3: - if chat["title"] == name.decode("utf-8"): - uid = chat["id"] - else: - if chat["title"] == name: - uid = chat["id"] + if chat["title"] == name: + uid = chat["id"] + break if self.debug: print_message("Use uid = {0}".format(uid)) return uid From 704eb10e044096d68de90d35a5f54fc6acc5883a Mon Sep 17 00:00:00 2001 From: Maksim Bobylev Date: Tue, 11 Jun 2019 18:43:18 +0500 Subject: [PATCH 3/5] If name is chat id - use it --- zbxtg.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/zbxtg.py b/zbxtg.py index d712864..4d83235 100755 --- a/zbxtg.py +++ b/zbxtg.py @@ -191,6 +191,8 @@ def get_uid(self, name): if chat["username"] == name: uid = chat["id"] if (chat["type"] == "group" or chat["type"] == "supergroup") and self.type == "group": + if name == str(chat["id"]).encode("utf-8").decode("utf-8"): + uid = name if "title" in chat: if chat["title"] == name: uid = chat["id"] From 3ba67d56103deef358c3d3364696a63a04159b55 Mon Sep 17 00:00:00 2001 From: Maksim Bobylev Date: Tue, 11 Jun 2019 18:44:54 +0500 Subject: [PATCH 4/5] Add some breakes for the loop in get_uid function --- zbxtg.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/zbxtg.py b/zbxtg.py index 4d83235..64fe8b8 100755 --- a/zbxtg.py +++ b/zbxtg.py @@ -190,9 +190,11 @@ def get_uid(self, name): if "username" in chat: if chat["username"] == name: uid = chat["id"] + break if (chat["type"] == "group" or chat["type"] == "supergroup") and self.type == "group": if name == str(chat["id"]).encode("utf-8").decode("utf-8"): uid = name + break if "title" in chat: if chat["title"] == name: uid = chat["id"] From 11e7ef206ebdec6953217892a16e8c64cc2f72ab Mon Sep 17 00:00:00 2001 From: Maksim Bobylev Date: Mon, 17 Jun 2019 18:16:05 +0500 Subject: [PATCH 5/5] If name is integer not check updates, and send message by chat id --- zbxtg.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/zbxtg.py b/zbxtg.py index 64fe8b8..a0a36d1 100755 --- a/zbxtg.py +++ b/zbxtg.py @@ -174,6 +174,11 @@ def send_txt(self, to, text, text_name=None): def get_uid(self, name): uid = 0 + try: + uid = int(name) + return uid + except ValueError: + pass if sys.version_info[0] < 3: name = name.decode("utf-8") if self.debug: @@ -192,15 +197,10 @@ def get_uid(self, name): uid = chat["id"] break if (chat["type"] == "group" or chat["type"] == "supergroup") and self.type == "group": - if name == str(chat["id"]).encode("utf-8").decode("utf-8"): - uid = name - break if "title" in chat: if chat["title"] == name: uid = chat["id"] break - if self.debug: - print_message("Use uid = {0}".format(uid)) return uid def error_need_to_contact(self, to): @@ -811,6 +811,8 @@ def main(): if not uid: uid = tg.get_uid(zbx_to) + if self.debug: + print_message("get_uid result = {0}".format(uid)) if uid: tmp_need_update = True if not uid: