local json = require('cjson') local log = require('utils.log') local chat = require('bitrix.chat') -- Настройка логирования log.outfile = 'logs/tests_chats_live_'..os.date('%Y-%m-%d_%H-%M-%S')..'.log' log.level = 'trace' log.info("===== СТАРТ ТЕСТИРОВАНИЯ (РЕЖИМ LIVE) =====") -- ID чата для тестов. ЗАМЕНИТЕ на ID существующего чата. -- Это может быть ID группы или открытого чата. local test_chat_id = 1 local test_user_id_to_add = 2 -- ID пользователя для теста добавления в чат --=== ТЕСТЫ ===-- local function test_chat_get() log.info('--- Тест: Получение чата (get) ---') local result, error_response = chat.get(test_chat_id) if result and result.id then log.info(string.format('Тест получения чата: УСПЕШНО. Название: "%s"', result.name or 'N/A')) else log.error('Тест получения чата: ПРОВАЛЕНО.') log.error('Ответ сервера: ' .. json.encode(result)) if error_response then log.error(error_response) end end end local function test_chat_getlist() log.info('--- Тест: Листинг чатов (getlist) ---') -- Фильтр: только открытые чаты (тип 'L' - lines/group), созданные недавно. local two_days_ago_timestamp = os.time() - 2 * 24 * 3600 local date_two_days_ago = os.date("%Y-%m-%d", two_days_ago_timestamp) local filter = { TYPE = 'L', >=DATE_CREATE = date_two_days_ago, } local result_list, error_response = chat.getlist({'ID', 'NAME'}, filter, {'ID', 'NAME', 'TYPE'}, nil, 0) if result_list and #result_list > 0 then log.info(string.format('Тест листинга чатов: УСПЕШНО. Найдено чатов: %d', #result_list)) elseif result_list and #result_list == 0 then log.warning('Тест листинга чатов: Чаты не найдены по фильтру.') else log.error('Тест листинга чатов: ПРОВАЛЕНО.') if error_response then log.error(error_response) end end end local function test_chat_message_getList() log.info('--- Тест: Получение сообщений чата (message.getList) ---') local result_list, error_response = chat.message.getList(test_chat_id, {'ID'}, {}, 0) if result_list and #result_list > 0 then log.info(string.format('Тест получения сообщений: УСПЕШНО. Найдено сообщений: %d', #result_list)) elseif result_list and #result_list == 0 then log.warning('Тест получения сообщений: Сообщений не найдено.') else log.error('Тест получения сообщений: ПРОВАЛЕНО.') if error_response then log.error(error_response) end end end local function test_chat_message_add() log.info('--- Тест: Отправка сообщения в чат (message.add) ---') local new_message_text = 'Привет! Это тестовое сообщение от Lua SDK.' local result, error_response = chat.message.add(test_chat_id, new_message_text) if result and result.id then log.info(string.format('Тест отправки сообщения: УСПЕШНО. ID сообщения: %s', tostring(result.id))) else log.error('Тест отправки сообщения: ПРОВАЛЕНО.') log.error('Ответ сервера: ' .. json.encode(result)) if error_response then log.error(error_response) end end end --=== ЗАПУСК ТЕСТОВ ===-- test_chat_get() test_chat_getlist() test_chat_message_getList() test_chat_message_add() -- <-- ВНИМАНИЕ! Этот тест отправит сообщение в чат! log.info("===== ЗАВЕРШЕНИЕ ТЕСТИРОВАНИЯ =====")