From 87645225259a65ee89d29f7d16c57396b729ff82 Mon Sep 17 00:00:00 2001 From: pierregeeraert Date: Tue, 30 Jun 2026 15:40:35 +0100 Subject: [PATCH] create usefull functions --- .../apps/Le_journal_10h00_du_30_06_2026.txt | 1 + .../apps/telegram_communication/utils.py | 37 ++++++++++++------- django_code/manage.py | 0 3 files changed, 24 insertions(+), 14 deletions(-) create mode 100644 django_code/apps/Le_journal_10h00_du_30_06_2026.txt mode change 100644 => 100755 django_code/manage.py diff --git a/django_code/apps/Le_journal_10h00_du_30_06_2026.txt b/django_code/apps/Le_journal_10h00_du_30_06_2026.txt new file mode 100644 index 0000000..f82cdfa --- /dev/null +++ b/django_code/apps/Le_journal_10h00_du_30_06_2026.txt @@ -0,0 +1 @@ +ikgdsa \ No newline at end of file diff --git a/django_code/apps/telegram_communication/utils.py b/django_code/apps/telegram_communication/utils.py index 03d68ce..fc2d87e 100644 --- a/django_code/apps/telegram_communication/utils.py +++ b/django_code/apps/telegram_communication/utils.py @@ -1,7 +1,8 @@ import os import requests from apps.bitwarden.utils import bitwardenUtils - +from .models import TelegramData +from datetime import datetime, timedelta class telegramUtils(): @@ -33,10 +34,10 @@ class telegramUtils(): # Retrieved 2026-06-30, License - CC BY-SA 4.0 url = f"https://api.telegram.org/bot{self.__TOKEN}/sendMessage?chat_id={self.__CHAT_ID}&text={message}" - #print(requests.get(url).json()) # this sends the message - + result = requests.get(url).json() # this sends the message send_result = result['ok'] + TelegramData.objects.create(message_id=result['result']['message_id'],chat_id=self.__CHAT_ID,description=message[0:99],creation_date=datetime.now(),expiration_date=datetime.now()+timedelta(days=1)) return send_result def send_document(self,file,message=''): @@ -46,6 +47,9 @@ class telegramUtils(): files = {'document': document} response = requests.post(url, data=data, files=files) result = response.json() + + #Create data , for the dercsription use a message of set , or use the filename , cut it to grab the end if the filename is more then 99 characters + TelegramData.objects.create(message_id=result['result']['message_id'],chat_id=self.__CHAT_ID,description=message[0:99] or str(file)[-99:],creation_date=datetime.now(),expiration_date=datetime.now()+timedelta(days=1)) return result['ok'],result['result']['message_id'],result #example send_document('apps/Le_journal_10h00_du_30_06_2026.mp3') @@ -57,17 +61,22 @@ class telegramUtils(): result = requests.get(url).json() send_result.append(["Message id: "+str(message_id),result['ok']]) + if result['ok']: + message = TelegramData.objects.filter(message_id=message_id) + message.delete() return send_result,result + def clear_expired_messages(self): + yesterday=datetime.now()+timedelta(days=-1) + #filter all the messages that expired yesterday or before + expired_messages_list = [] + expired_messages = TelegramData.objects.filter(expiration_date__lte=yesterday) + + #create a list with only the message_id + for expired_message in expired_messages: + expired_messages_list.append(expired_message.message_id) + + #run the delete query with the list created before + result = self.delete_message(expired_messages_list) + return result[0] -telegram = telegramUtils() -#send_message("Hello") -print(telegram.send_document('apps/Le_journal_10h00_du_30_06_2026.txt',"News du jour 2")) -#print(telegram.send_document('apps/Le_journal_10h00_du_30_06_2026.txt')) - -#just delete everything , for testing -list_message_to_delete = [] -for i in range(26): - list_message_to_delete.append(i) - -print(telegram.delete_message(list_message_to_delete)) \ No newline at end of file diff --git a/django_code/manage.py b/django_code/manage.py old mode 100644 new mode 100755