From 863df5e17bc4f6fa0b19f9187e8c82bcd9e410c5 Mon Sep 17 00:00:00 2001 From: BadStorm Date: Sat, 5 Sep 2026 00:35:47 +0200 Subject: [PATCH] gitignore: exclude Python bytecode cache --- .gitignore | 4 ++++ .../__pycache__/server.cpython-314.pyc | Bin 46270 -> 0 bytes containers/talkbot/server.py | 22 ++++++++++++++++++ 3 files changed, 26 insertions(+) delete mode 100644 containers/talkbot/__pycache__/server.cpython-314.pyc diff --git a/.gitignore b/.gitignore index af0b85d..717cdbd 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,10 @@ *.swp .DS_Store +# Ignora file compilati Python +__pycache__/ +*.pyc + # Ignora file di build o output comuni build/ dist/ diff --git a/containers/talkbot/__pycache__/server.cpython-314.pyc b/containers/talkbot/__pycache__/server.cpython-314.pyc deleted file mode 100644 index 2bf8171a6e30d96f40aaa5618d5b5a5686c105c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46270 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 diff --git a/containers/talkbot/server.py b/containers/talkbot/server.py index d8b346a..87c4d85 100644 --- a/containers/talkbot/server.py +++ b/containers/talkbot/server.py @@ -1155,6 +1155,8 @@ def process_event(job: dict) -> None: sender_user_id, ) + translations = [] + for recipient in recipients: target_language = normalize_language_code( get_user_language(recipient), @@ -1169,6 +1171,26 @@ def process_event(job: dict) -> None: if translated.strip().lower() == message_text.lower(): continue + translations.append((recipient, target_language, translated)) + + if not translations: + return + + deleted = delete_message( + token, + message_id, + ) + + if not deleted: + log.warning( + "Original message %s was not deleted. " + "Generated translations will not be posted " + "to avoid confusing duplicates.", + message_id, + ) + return + + for recipient, target_language, translated in translations: post_manager_message( token, f"@{sender_display_name}: {translated}",