This commit is contained in:
@@ -0,0 +1 @@
|
|||||||
|
ikgdsa
|
||||||
@@ -1,7 +1,8 @@
|
|||||||
import os
|
import os
|
||||||
import requests
|
import requests
|
||||||
from apps.bitwarden.utils import bitwardenUtils
|
from apps.bitwarden.utils import bitwardenUtils
|
||||||
|
from .models import TelegramData
|
||||||
|
from datetime import datetime, timedelta
|
||||||
|
|
||||||
class telegramUtils():
|
class telegramUtils():
|
||||||
|
|
||||||
@@ -33,10 +34,10 @@ class telegramUtils():
|
|||||||
# Retrieved 2026-06-30, License - CC BY-SA 4.0
|
# 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}"
|
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
|
result = requests.get(url).json() # this sends the message
|
||||||
send_result = result['ok']
|
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
|
return send_result
|
||||||
|
|
||||||
def send_document(self,file,message=''):
|
def send_document(self,file,message=''):
|
||||||
@@ -46,6 +47,9 @@ class telegramUtils():
|
|||||||
files = {'document': document}
|
files = {'document': document}
|
||||||
response = requests.post(url, data=data, files=files)
|
response = requests.post(url, data=data, files=files)
|
||||||
result = response.json()
|
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
|
return result['ok'],result['result']['message_id'],result
|
||||||
|
|
||||||
#example send_document('apps/Le_journal_10h00_du_30_06_2026.mp3')
|
#example send_document('apps/Le_journal_10h00_du_30_06_2026.mp3')
|
||||||
@@ -57,17 +61,22 @@ class telegramUtils():
|
|||||||
|
|
||||||
result = requests.get(url).json()
|
result = requests.get(url).json()
|
||||||
send_result.append(["Message id: "+str(message_id),result['ok']])
|
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
|
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)
|
||||||
|
|
||||||
telegram = telegramUtils()
|
#create a list with only the message_id
|
||||||
#send_message("Hello")
|
for expired_message in expired_messages:
|
||||||
print(telegram.send_document('apps/Le_journal_10h00_du_30_06_2026.txt',"News du jour 2"))
|
expired_messages_list.append(expired_message.message_id)
|
||||||
#print(telegram.send_document('apps/Le_journal_10h00_du_30_06_2026.txt'))
|
|
||||||
|
|
||||||
#just delete everything , for testing
|
#run the delete query with the list created before
|
||||||
list_message_to_delete = []
|
result = self.delete_message(expired_messages_list)
|
||||||
for i in range(26):
|
return result[0]
|
||||||
list_message_to_delete.append(i)
|
|
||||||
|
|
||||||
print(telegram.delete_message(list_message_to_delete))
|
|
||||||
Regular → Executable
Reference in New Issue
Block a user