Всем привет! Написал код по обращению по API и выгрузке кол-ва отработанных чатов каждым агентом.
Цель: автоматически выгружать ежедневно в 00:00 в telegram-канал результаты за текущий день. К примеру, 09.06.2021 в 00:00 выгрузка отправляется за 'updated_before': '2021-06-09 00:00' и 'updated_after': '2021-06-08 00:00'
Как поставить именно на автоматическую выгрузку? И как сделать так, чтобы значения updated_before и updated_after менялись автоматически на необходимые?
Сейчас результат выполнения программы выглядит так:
{'Екатерина': 96, 'Маргарита': 120, 'Мария': 213, 'Ольга М.': 197, 'Дария': 225, 'Валерия': 112, 'Анастасия Л.': 242, 'Софья': 106, 'Марина': 43, 'Артем': 1, 'Елизавета': 1}
1356
Код программы:
import requests
import time
def take_all_chats():
token = "ТОКЕН"
offset = 0
all_tickets = []
while offset < 20:
responce = requests.get('МЕТОД',
params={
'api_token': token,
'updated_before': '2021-06-08 00:00',
'updated_after': '2021-06-07 00:00',
'fstatus': '3',
'fchannel': '25222',
'offset': offset
})
data = responce.json()
offset += 1
all_tickets.extend(data)
time.sleep(1)
values_per_key = {}
for d in all_tickets:
for k, v in d.items():
if k == "assignee_id":
if not values_per_key.get(v):
values_per_key[v] = 1
else:
values_per_key[v] += 1
replacemenets = {182004: 'Анастасия', 182870: 'Анастасия Л.', 176964: 'Артем', 186124: 'Артур', 184839: 'Валентина',
186484: 'Валерия', 181999: 'Владислав', 187229: 'Дария', 186486: 'Дарья', 182239: 'Екатерина',
186488: 'Екатерина П.', 186483: 'Елизавета', 187732: 'Людмила', 186485: 'Маргарита',
184335: 'Марина', 184002: 'Мария', 182753: 'Ольга', 182869: 'Ольга М.', 182007: 'Софья',
182008: 'Татьяна', 182005: 'Юлия'}
for i in list(values_per_key):
if i in replacemenets:
values_per_key[replacemenets[i]] = values_per_key.pop(i)
all_tickets_per_day = sum(values_per_key.values())
print(values_per_key)
print(all_tickets_per_day)
take_all_chats()