@guruvan_damm

Автоматическая выгрузка в telegram. Как сделать?

Всем привет! Написал код по обращению по 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()
  • Вопрос задан
  • 168 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы