This commit is contained in:
@@ -0,0 +1 @@
|
||||
ikgdsa
|
||||
@@ -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))
|
||||
Regular → Executable
Reference in New Issue
Block a user