Сообщество IT-специалистов
Ответы на любые вопросы об IT
Профессиональное развитие в IT
Удаленная работа для IT-специалистов
def send_file_to_bitrix24(file_path, chat_id, webhook_url): """ Отправляет файл в чат Битрикс24. :param file_path: Путь к файлу для отправки :param chat_id: ID чата в Битрикс24 :param webhook_url: URL вебхука Битрикс24 :return: Ответ API Битрикс24 """ if not os.path.exists(file_path): raise FileNotFoundError(f"Файл {file_path} не найден.") # Загружаем файл в Битрикс24 with open(file_path, 'rb') as file: files = {'file': file} upload_response = requests.post(f"{webhook_url}&method=disk.folder.uploadfile", files=files) upload_result = upload_response.json() if 'result' not in upload_result: raise Exception(f"Ошибка загрузки файла: {upload_response.text}") file_id = upload_result['result']['ID'] # Отправляем файл в чат message_response = requests.post( f"{webhook_url}&method=im.message.add", json={ "DIALOG_ID": chat_id, "MESSAGE": "Отправляю расчет в формате .docx", "ATTACH": [{"FILE_ID": file_id}] } ) message_result = message_response.json() if 'result' not in message_result: raise Exception(f"Ошибка отправки сообщения: {message_response.text}") return message_result