From 40150cd66d4582eb7dc5e6853a08913aee08efe9 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 21 Mar 2026 07:26:38 +0900 Subject: [PATCH] update --- .env | 2 +- .gemini/artifacts/guid_cursor_fix.md | 222 - .gemini/artifacts/guid_drag_fix.md | 202 - .gemini/artifacts/guid_slot_custom_final.md | 354 - .../artifacts/guid_slot_multiple_counts.md | 330 - .gemini/artifacts/guid_slot_priority_final.md | 341 - .gemini/artifacts/guid_slot_priority_task.md | 146 - .gemini/artifacts/guid_slot_simplified.md | 241 - README.md | 915 -- __pycache__/app.cpython-312.pyc | Bin 5774 -> 0 bytes __pycache__/app.cpython-313.pyc | Bin 2681 -> 0 bytes __pycache__/config.cpython-312.pyc | Bin 4702 -> 0 bytes __pycache__/config.cpython-313.pyc | Bin 4355 -> 0 bytes __pycache__/config.cpython-314.pyc | Bin 5205 -> 0 bytes .../telegram_bot_service.cpython-312.pyc | Bin 7179 -> 0 bytes .../telegram_bot_service.cpython-314.pyc | Bin 7998 -> 0 bytes app.py | 4 +- backend/check_structure.py | 73 + backend/check_tags.py | 66 + backend/debug_html_structure.py | 28 + .../__pycache__/auth_forms.cpython-311.pyc | Bin 6044 -> 0 bytes .../__pycache__/auth_forms.cpython-312.pyc | Bin 5153 -> 0 bytes .../__pycache__/auth_forms.cpython-313.pyc | Bin 5198 -> 0 bytes .../__pycache__/auth_forms.cpython-314.pyc | Bin 5793 -> 0 bytes backend/instance/site.db | Bin 45056 -> 573440 bytes .../firmware_version.cpython-311.pyc | Bin 6639 -> 0 bytes .../firmware_version.cpython-312.pyc | Bin 5981 -> 0 bytes .../firmware_version.cpython-314.pyc | Bin 6325 -> 0 bytes .../__pycache__/idrac_server.cpython-311.pyc | Bin 3310 -> 0 bytes .../__pycache__/idrac_server.cpython-312.pyc | Bin 3071 -> 0 bytes .../__pycache__/idrac_server.cpython-313.pyc | Bin 3105 -> 0 bytes .../__pycache__/idrac_server.cpython-314.pyc | Bin 3251 -> 0 bytes .../__pycache__/telegram_bot.cpython-312.pyc | Bin 1682 -> 0 bytes .../__pycache__/telegram_bot.cpython-314.pyc | Bin 1773 -> 0 bytes .../models/__pycache__/user.cpython-311.pyc | Bin 6387 -> 0 bytes .../models/__pycache__/user.cpython-312.pyc | Bin 5771 -> 0 bytes .../models/__pycache__/user.cpython-313.pyc | Bin 5669 -> 0 bytes .../models/__pycache__/user.cpython-314.pyc | Bin 7548 -> 0 bytes backend/models/bios_baseline.py | 86 + backend/models/server_config.py | 36 + backend/routes/__init__.py | 14 + .../__pycache__/__init__.cpython-311.pyc | Bin 1765 -> 0 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 1491 -> 0 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 1080 -> 0 bytes .../__pycache__/__init__.cpython-314.pyc | Bin 1827 -> 0 bytes .../routes/__pycache__/admin.cpython-311.pyc | Bin 7524 -> 0 bytes .../routes/__pycache__/admin.cpython-312.pyc | Bin 12513 -> 0 bytes .../routes/__pycache__/admin.cpython-313.pyc | Bin 6633 -> 0 bytes .../routes/__pycache__/admin.cpython-314.pyc | Bin 15201 -> 0 bytes .../routes/__pycache__/auth.cpython-311.pyc | Bin 10447 -> 0 bytes .../routes/__pycache__/auth.cpython-312.pyc | Bin 17797 -> 0 bytes .../routes/__pycache__/auth.cpython-313.pyc | Bin 9814 -> 0 bytes .../routes/__pycache__/auth.cpython-314.pyc | Bin 19914 -> 0 bytes .../__pycache__/catalog_sync.cpython-311.pyc | Bin 1433 -> 0 bytes .../__pycache__/catalog_sync.cpython-312.pyc | Bin 1236 -> 0 bytes .../__pycache__/catalog_sync.cpython-314.pyc | Bin 1273 -> 0 bytes .../__pycache__/drm_sync.cpython-314.pyc | Bin 2458 -> 0 bytes .../__pycache__/file_view.cpython-311.pyc | Bin 5349 -> 0 bytes .../__pycache__/file_view.cpython-312.pyc | Bin 4680 -> 0 bytes .../__pycache__/file_view.cpython-313.pyc | Bin 4700 -> 0 bytes .../__pycache__/file_view.cpython-314.pyc | Bin 5069 -> 0 bytes .../routes/__pycache__/home.cpython-311.pyc | Bin 907 -> 0 bytes .../routes/__pycache__/home.cpython-312.pyc | Bin 780 -> 0 bytes .../routes/__pycache__/home.cpython-313.pyc | Bin 768 -> 0 bytes .../routes/__pycache__/home.cpython-314.pyc | Bin 783 -> 0 bytes .../__pycache__/idrac_routes.cpython-311.pyc | Bin 42756 -> 0 bytes .../__pycache__/idrac_routes.cpython-312.pyc | Bin 38901 -> 0 bytes .../__pycache__/idrac_routes.cpython-313.pyc | Bin 23817 -> 0 bytes .../__pycache__/idrac_routes.cpython-314.pyc | Bin 41104 -> 0 bytes .../routes/__pycache__/jobs.cpython-311.pyc | Bin 11375 -> 0 bytes .../routes/__pycache__/jobs.cpython-312.pyc | Bin 9673 -> 0 bytes .../routes/__pycache__/jobs.cpython-313.pyc | Bin 9873 -> 0 bytes .../routes/__pycache__/jobs.cpython-314.pyc | Bin 10265 -> 0 bytes .../routes/__pycache__/main.cpython-311.pyc | Bin 15126 -> 0 bytes .../routes/__pycache__/main.cpython-312.pyc | Bin 13016 -> 0 bytes .../routes/__pycache__/main.cpython-313.pyc | Bin 13011 -> 0 bytes .../routes/__pycache__/main.cpython-314.pyc | Bin 17356 -> 0 bytes .../__pycache__/scp_routes.cpython-312.pyc | Bin 6981 -> 0 bytes .../__pycache__/scp_routes.cpython-314.pyc | Bin 8313 -> 0 bytes .../__pycache__/utilities.cpython-311.pyc | Bin 16620 -> 0 bytes .../__pycache__/utilities.cpython-312.pyc | Bin 14886 -> 0 bytes .../__pycache__/utilities.cpython-313.pyc | Bin 8129 -> 0 bytes .../__pycache__/utilities.cpython-314.pyc | Bin 23079 -> 0 bytes .../routes/__pycache__/xml.cpython-311.pyc | Bin 9927 -> 0 bytes .../routes/__pycache__/xml.cpython-312.pyc | Bin 8481 -> 0 bytes .../routes/__pycache__/xml.cpython-313.pyc | Bin 6651 -> 0 bytes .../routes/__pycache__/xml.cpython-314.pyc | Bin 9323 -> 0 bytes backend/routes/bios_baseline_routes.py | 789 ++ backend/routes/file_view.py | 14 + backend/routes/idrac_routes.py | 1075 +- backend/routes/idrac_routes_base.py | 669 -- backend/routes/main.py | 173 +- backend/routes/script_manager.py | 331 + backend/routes/server_config_routes.py | 185 + backend/routes/utilities.py | 84 +- backend/routes/version_compare_api.py | 399 - .../dell_catalog_sync.cpython-311.pyc | Bin 2852 -> 0 bytes .../dell_catalog_sync.cpython-312.pyc | Bin 2494 -> 0 bytes .../dell_catalog_sync.cpython-314.pyc | Bin 5935 -> 0 bytes .../drm_catalog_sync.cpython-314.pyc | Bin 14218 -> 0 bytes .../__pycache__/idrac_jobs.cpython-311.pyc | Bin 16500 -> 0 bytes .../__pycache__/idrac_jobs.cpython-312.pyc | Bin 14173 -> 0 bytes .../__pycache__/idrac_jobs.cpython-313.pyc | Bin 14423 -> 0 bytes .../__pycache__/idrac_jobs.cpython-314.pyc | Bin 17987 -> 0 bytes .../idrac_redfish_client.cpython-311.pyc | Bin 18866 -> 0 bytes .../idrac_redfish_client.cpython-312.pyc | Bin 17050 -> 0 bytes .../idrac_redfish_client.cpython-313.pyc | Bin 13859 -> 0 bytes .../idrac_redfish_client.cpython-314.pyc | Bin 17549 -> 0 bytes .../__pycache__/ip_processor.cpython-311.pyc | Bin 9653 -> 0 bytes .../__pycache__/ip_processor.cpython-312.pyc | Bin 8027 -> 0 bytes .../__pycache__/ip_processor.cpython-313.pyc | Bin 8129 -> 0 bytes .../__pycache__/ip_processor.cpython-314.pyc | Bin 9646 -> 0 bytes .../__pycache__/logger.cpython-311.pyc | Bin 3453 -> 0 bytes .../__pycache__/logger.cpython-312.pyc | Bin 3119 -> 0 bytes .../__pycache__/logger.cpython-313.pyc | Bin 3103 -> 0 bytes .../__pycache__/logger.cpython-314.pyc | Bin 5423 -> 0 bytes .../redfish_client.cpython-311.pyc | Bin 12177 -> 0 bytes .../redfish_client.cpython-312.pyc | Bin 14251 -> 0 bytes .../redfish_client.cpython-313.pyc | Bin 11131 -> 0 bytes .../redfish_client.cpython-314.pyc | Bin 16199 -> 0 bytes .../watchdog_handler.cpython-311.pyc | Bin 3677 -> 0 bytes .../watchdog_handler.cpython-312.pyc | Bin 3268 -> 0 bytes .../watchdog_handler.cpython-313.pyc | Bin 3399 -> 0 bytes .../watchdog_handler.cpython-314.pyc | Bin 3967 -> 0 bytes backend/services/idrac_redfish_client.py | 608 +- backend/services/ip_processor.py | 34 +- .../services/telegram_bot_service.py | 2 +- .../20260120_consolidation/css/index.css | 132 - .../css/index_custom.css | 161 - .../20260120_consolidation/index.html | 705 -- .../20260120_consolidation/js/index.js | 255 - .../20260120_consolidation/js/index_custom.js | 443 - .../20260120_consolidation/script.js | 219 - .../20260120_consolidation/style.css | 534 - .../snapshots/20260120_gpu_fix/utilities.py | 526 - .../20260120_log_resize/admin_logs.html | 245 - .../20260120_processed_count/index.html | 699 -- backend/static/js/bios_baseline.js | 721 ++ backend/static/js/dashboard.js | 465 +- backend/static/js/idrac_main.js | 747 +- backend/static/js/server_config.js | 324 + backend/templates/admin_logs.html | 5 +- backend/templates/base.html | 10 + backend/templates/bios_baseline.html | 512 + backend/templates/idrac_firmware.html | 259 +- backend/templates/index.html | 703 +- backend/templates/manage_xml.html | 129 +- backend/templates/script_manager.html | 691 ++ .../templates/snippets/repo_file_table.html | 48 + backend/validate_divs.py | 69 + backend/validate_html.py | 55 + check_telegram.py | 10 - config.py | 56 +- data/backend/instance/site.db | Bin 24576 -> 0 bytes data/backup/새 폴더/1BZ7HG4.txt | 12 - data/backup/새 폴더/1T48HG4.txt | 12 - data/backup/새 폴더/1V48HG4.txt | 12 - data/gpu_serial/152F7G4.txt | 12 - data/gpu_serial/17Z7HG4.txt | 12 - data/gpu_serial/18Z7HG4.txt | 12 - data/gpu_serial/19Z7HG4.txt | 12 - data/gpu_serial/1BZ7HG4.txt | 12 - data/gpu_serial/1T48HG4.txt | 12 - data/gpu_serial/1V48HG4.txt | 12 - data/gpu_serial/1XZCZC4.txt | 12 - data/gpu_serial/2058HG4.txt | 12 - data/gpu_serial/26Z7HG4.txt | 12 - data/gpu_serial/273HZC4.txt | 12 - data/gpu_serial/28Z7HG4.txt | 12 - data/gpu_serial/2NYCZC4.txt | 12 - data/gpu_serial/2T48HG4.txt | 12 - data/gpu_serial/2V48HG4.txt | 12 - data/gpu_serial/2XZCZC4.txt | 12 - data/gpu_serial/3058HG4.txt | 12 - data/gpu_serial/332F7G4.txt | 12 - data/gpu_serial/38Z7HG4.txt | 12 - data/gpu_serial/39Z7HG4.txt | 12 - data/gpu_serial/3LYCZC4.txt | 12 - data/gpu_serial/3MYCZC4.txt | 12 - data/gpu_serial/3PYCZC4.txt | 12 - data/gpu_serial/3SJCZC4.txt | 12 - data/gpu_serial/3Y48HG4.txt | 12 - data/gpu_serial/4058HG4.txt | 12 - data/gpu_serial/442F7G4.txt | 12 - data/gpu_serial/472B7G4.txt | 12 - data/gpu_serial/48Z7HG4.txt | 12 - data/gpu_serial/49Z7HG4.txt | 12 - data/gpu_serial/4K8XHG4.txt | 12 - data/gpu_serial/4T48HG4.txt | 12 - data/gpu_serial/4XZCZC4.txt | 12 - data/gpu_serial/552F7G4.txt | 12 - data/gpu_serial/572B7G4.txt | 12 - data/gpu_serial/5BZ7HG4.txt | 12 - data/gpu_serial/5GZ7HG4.txt | 12 - data/gpu_serial/5MYCZC4.txt | 12 - data/gpu_serial/5NYCZC4.txt | 12 - data/gpu_serial/5PRS3H4.txt | 12 - data/gpu_serial/5V48HG4.txt | 12 - data/gpu_serial/5Y48HG4.txt | 12 - data/gpu_serial/66Z7HG4.txt | 12 - data/gpu_serial/68Z7HG4.txt | 12 - data/gpu_serial/69Z7HG4.txt | 12 - data/gpu_serial/6GZ7HG4.txt | 12 - data/gpu_serial/6T48HG4.txt | 12 - data/gpu_serial/6XZCZC4.txt | 12 - data/gpu_serial/76Z7HG4.txt | 12 - data/gpu_serial/77Z7HG4.txt | 12 - data/gpu_serial/78Z7HG4.txt | 12 - data/gpu_serial/79Z7HG4.txt | 12 - data/gpu_serial/7BZ7HG4.txt | 12 - data/gpu_serial/7F8XHG4.txt | 12 - data/gpu_serial/7G4F7G4.txt | 12 - data/gpu_serial/7MYCZC4.txt | 12 - data/gpu_serial/7S48HG4.txt | 12 - data/gpu_serial/7T48HG4.txt | 12 - data/gpu_serial/7XZCZC4.txt | 12 - data/gpu_serial/87Z7HG4.txt | 12 - data/gpu_serial/88Z7HG4.txt | 12 - data/gpu_serial/89Z7HG4.txt | 12 - data/gpu_serial/8BZ7HG4.txt | 12 - data/gpu_serial/8F8XHG4.txt | 12 - data/gpu_serial/8GZ7HG4.txt | 12 - data/gpu_serial/8T48HG4.txt | 12 - data/gpu_serial/8V48HG4.txt | 12 - data/gpu_serial/8WZCZC4.txt | 12 - data/gpu_serial/96Z7HG4.txt | 12 - data/gpu_serial/972B7G4.txt | 12 - data/gpu_serial/98Z7HG4.txt | 12 - data/gpu_serial/992B7G4.txt | 12 - data/gpu_serial/99Z7HG4.txt | 12 - data/gpu_serial/9NYCZC4.txt | 12 - data/gpu_serial/9V48HG4.txt | 12 - data/gpu_serial/B63HZC4.txt | 12 - data/gpu_serial/B6Z7HG4.txt | 12 - data/gpu_serial/B7Z7HG4.txt | 12 - data/gpu_serial/BBZ7HG4.txt | 12 - data/gpu_serial/BGZ7HG4.txt | 12 - data/gpu_serial/BH4F7G4.txt | 12 - data/gpu_serial/BNYCZC4.txt | 12 - data/gpu_serial/BT48HG4.txt | 12 - data/gpu_serial/C6Z7HG4.txt | 12 - data/gpu_serial/C72B7G4.txt | 12 - data/gpu_serial/C7Z7HG4.txt | 12 - data/gpu_serial/C9Z7HG4.txt | 12 - data/gpu_serial/CF8XHG4.txt | 12 - data/gpu_serial/CG4F7G4.txt | 12 - data/gpu_serial/CGZ7HG4.txt | 12 - data/gpu_serial/CS48HG4.txt | 12 - data/gpu_serial/CV48HG4.txt | 12 - data/gpu_serial/CXZCZC4.txt | 12 - data/gpu_serial/D6Z7HG4.txt | 12 - data/gpu_serial/D7Z7HG4.txt | 12 - data/gpu_serial/D8Z7HG4.txt | 12 - data/gpu_serial/D9Z7HG4.txt | 12 - data/gpu_serial/DF8XHG4.txt | 12 - data/gpu_serial/DLYCZC4.txt | 12 - data/gpu_serial/DS48HG4.txt | 12 - data/gpu_serial/DT48HG4.txt | 12 - data/gpu_serial/DXZCZC4.txt | 12 - data/gpu_serial/F42F7G4.txt | 12 - data/gpu_serial/F7Z7HG4.txt | 12 - data/gpu_serial/F9Z7HG4.txt | 12 - data/gpu_serial/FB2F7G4.txt | 12 - data/gpu_serial/FF8XHG4.txt | 12 - data/gpu_serial/FS48HG4.txt | 12 - data/gpu_serial/FT48HG4.txt | 12 - data/gpu_serial/FWZCZC4.txt | 12 - data/gpu_serial/FYJCZC4.txt | 12 - data/gpu_serial/G6Z7HG4.txt | 12 - data/gpu_serial/GS48HG4.txt | 12 - data/gpu_serial/GV48HG4.txt | 12 - data/gpu_serial/H22F7G4.txt | 12 - data/gpu_serial/H42F7G4.txt | 12 - data/gpu_serial/H6Z7HG4.txt | 12 - data/gpu_serial/H7Z7HG4.txt | 12 - data/gpu_serial/H8KS3H4.txt | 12 - data/gpu_serial/H8Z7HG4.txt | 12 - data/gpu_serial/HR48HG4.txt | 12 - data/gpu_serial/HT48HG4.txt | 12 - data/gpu_serial/J6Z7HG4.txt | 12 - data/gpu_serial/J7Z7HG4.txt | 12 - data/gpu_serial/J8Z7HG4.txt | 12 - data/gpu_serial/JF4F7G4.txt | 12 - data/guid_file/JF4F7G4.txt | 12 - data/logs/2025-11-24.log | 684 -- data/logs/2025-11-26.log | 8939 ----------------- data/logs/2025-11-27.log | 557 - data/logs/2025-11-28.log | 95 - data/logs/2025-11-29.log | 756 -- data/logs/2025-11-30.log | 96 - data/logs/2025-12-18.log | 3824 ------- data/logs/2025-12-19.log | 7623 -------------- data/logs/2026-01-13.log | 3508 ------- data/logs/2026-01-15.log | 7751 -------------- data/logs/2026-01-16.log | 4872 --------- data/logs/2026-01-17.log | 1291 --- data/logs/app.log | 2489 ----- data/mac/1BZ7HG4.txt | 12 - data/mac/1T48HG4.txt | 12 - data/mac/1V48HG4.txt | 12 - data/mac/1XZCZC4.txt | 12 - data/mac/2NYCZC4.txt | 12 - data/mac/2T48HG4.txt | 12 - data/mac/2V48HG4.txt | 12 - data/mac/2XZCZC4.txt | 12 - data/mac/3LYCZC4.txt | 12 - data/mac/3MYCZC4.txt | 12 - data/mac/3PYCZC4.txt | 12 - data/mac/3SJCZC4.txt | 12 - data/mac/3Y48HG4.txt | 12 - data/mac/4K8XHG4.txt | 12 - data/mac/4T48HG4.txt | 12 - data/mac/4XZCZC4.txt | 12 - data/repository/xml/16G_T4,6 .xml | 4001 ++++++++ ...223_standard_PO-20251222-0150_DELL_ALL.xml | 4001 ++++++++ data/{ => repository}/xml/LinePlus_T1.xml | 0 .../PO-20250826-0158 _가산3_XE9680_384EA.xml | 0 .../xml/PO-20251208-0239_H200_943EA.xml | 4308 ++++++++ .../xml/PO-20251216-0065_TY11A_60EA.xml | 3911 ++++++++ .../xml/PO-20260102-0087_R760xd2_27EA.xml | 4433 ++++++++ .../xml/PO-20260112-0006_R760xd2_세종.xml | 4461 ++++++++ data/{ => repository}/xml/R650_TY1.xml | 0 data/{ => repository}/xml/R6615.xml | 0 data/{ => repository}/xml/R6615_raid.xml | 0 data/{ => repository}/xml/R6625_RAID.xml | 0 data/{ => repository}/xml/R750_33EAT4.xml | 0 data/{ => repository}/xml/Sejong_LDAP.xml | 0 data/{ => repository}/xml/T11_R660.xml | 0 data/{ => repository}/xml/T6_R760_RAID_A.xml | 0 data/{ => repository}/xml/T6_R760_XML_P.xml | 0 data/{ => repository}/xml/T6_R760_XML_S.xml | 0 data/{ => repository}/xml/T8A_R6625_P.xml | 0 .../xml/T8A_R6625_P_NoRaid.xml | 0 .../{ => repository}/xml/T8A_R6625_P_test.xml | 0 .../{ => repository}/xml/T8A_R6625_RAID_A.xml | 0 data/{ => repository}/xml/T8A_R6625_S.xml | 0 .../{ => repository}/xml/XE9680_50EA_REAL.xml | 0 data/{ => repository}/xml/XE9680_gasan2.xml | 0 data/scripts/.env | 4 +- data/scripts/01-settings.py | 4 +- data/scripts/03-tsr_log.py | 60 - data/scripts/04-tsr_save.py | 63 - data/scripts/05-clrsel.py | 51 - data/scripts/06-PowerON.py | 60 - data/scripts/07-PowerOFF.py | 60 - data/scripts/08-job_delete_all.py | 60 - data/scripts/09-Log_Viewer.py | 3 +- data/scripts/AMD_Server_Info.py | 2 +- data/scripts/GPU_Serial_v1.py | 2 +- data/scripts/Intel_Server_info.py | 203 +- data/scripts/JP_54EA_MAC_info.py | 2 +- data/scripts/LOM.Enabled.sh | 2 +- data/scripts/LOM_Disabled.sh | 2 +- data/scripts/LinePLUS-MAC_info.sh | 2 +- data/scripts/MAC_info.py | 246 +- data/scripts/PortGUID.py | 146 +- data/scripts/PortGUID_v1.py | 2 +- data/scripts/SP_18EA_MAC_info.py | 2 +- data/scripts/Systemerase.sh | 2 +- data/scripts/TYPE11_MAC_info.py | 2 +- data/scripts/TYPE11_Server_info.py | 2 +- data/scripts/TYPE6-MAC_info.sh | 2 +- data/scripts/TYPE6_Server_info.sh | 2 +- data/scripts/TYPE8A-MAC_info.sh | 2 +- data/scripts/XE9680_H100_IB_4EA_MAC_info.sh | 2 +- data/scripts/XE9680_H200_IB_10EA_MAC_info.py | 250 +- data/scripts/XE9680_H200_IB_10EA_MAC_info.sh | 2 +- data/scripts/collect_gpu.py | 210 + data/scripts/collect_idrac_info.py | 9 +- data/scripts/core/__init__.py | 4 + .../core/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 228 bytes .../__pycache__/idrac_client.cpython-312.pyc | Bin 0 -> 5841 bytes .../core/__pycache__/parsers.cpython-312.pyc | Bin 0 -> 10826 bytes data/scripts/core/idrac_client.py | 129 + data/scripts/core/parsers.py | 291 + data/scripts/profiles/gpu_profiles.yaml | 22 + data/scripts/profiles/guid_profiles.yaml | 11 + data/scripts/profiles/mac_profiles.yaml | 107 + .../profiles/server_info_profiles.yaml | 676 ++ data/scripts/set_PatrolReadRate.sh | 2 +- data/scripts/set_PatrolReadRate_jobs.sh | 2 +- data/scripts/set_VirtualConsole.sh | 2 +- .../collect_server_info.cpython-312.pyc | Bin 0 -> 9833 bytes data/scripts/unified/collect_gpu.py | 123 + data/scripts/unified/collect_guid.py | 216 + data/scripts/unified/collect_mac.py | 186 + data/scripts/unified/collect_server_info.py | 192 + data/scripts/unified/system_control.py | 154 + data/server_list/GPUTOExecl.py | 8 +- data/server_list/GUIDtxtT0Execl.py | 4 +- data/server_list/excel.py | 4 +- data/server_list/excel.py.back | 49 - data/server_list/gpu_list.txt | 83 +- data/server_list/guid_list.txt | 82 +- data/server_list/server_info_zip.py | 3 +- data/server_list/server_list.txt | 23 +- data/server_list/unified_excel_generator.py | 307 + data/temp/staging/test.txt | 0 data/temp_ip/ip_0.txt | 1 - idrac-info.service | 29 - implementation_plan.md | 15 - migrate_passwords.py | 26 - requirements.txt | 2 + task.md | 31 - update_db.py | 27 - update_user_approval.py | 67 - 406 files changed, 34179 insertions(+), 55658 deletions(-) delete mode 100644 .gemini/artifacts/guid_cursor_fix.md delete mode 100644 .gemini/artifacts/guid_drag_fix.md delete mode 100644 .gemini/artifacts/guid_slot_custom_final.md delete mode 100644 .gemini/artifacts/guid_slot_multiple_counts.md delete mode 100644 .gemini/artifacts/guid_slot_priority_final.md delete mode 100644 .gemini/artifacts/guid_slot_priority_task.md delete mode 100644 .gemini/artifacts/guid_slot_simplified.md delete mode 100644 README.md delete mode 100644 __pycache__/app.cpython-312.pyc delete mode 100644 __pycache__/app.cpython-313.pyc delete mode 100644 __pycache__/config.cpython-312.pyc delete mode 100644 __pycache__/config.cpython-313.pyc delete mode 100644 __pycache__/config.cpython-314.pyc delete mode 100644 __pycache__/telegram_bot_service.cpython-312.pyc delete mode 100644 __pycache__/telegram_bot_service.cpython-314.pyc create mode 100644 backend/check_structure.py create mode 100644 backend/check_tags.py create mode 100644 backend/debug_html_structure.py delete mode 100644 backend/forms/__pycache__/auth_forms.cpython-311.pyc delete mode 100644 backend/forms/__pycache__/auth_forms.cpython-312.pyc delete mode 100644 backend/forms/__pycache__/auth_forms.cpython-313.pyc delete mode 100644 backend/forms/__pycache__/auth_forms.cpython-314.pyc delete mode 100644 backend/models/__pycache__/firmware_version.cpython-311.pyc delete mode 100644 backend/models/__pycache__/firmware_version.cpython-312.pyc delete mode 100644 backend/models/__pycache__/firmware_version.cpython-314.pyc delete mode 100644 backend/models/__pycache__/idrac_server.cpython-311.pyc delete mode 100644 backend/models/__pycache__/idrac_server.cpython-312.pyc delete mode 100644 backend/models/__pycache__/idrac_server.cpython-313.pyc delete mode 100644 backend/models/__pycache__/idrac_server.cpython-314.pyc delete mode 100644 backend/models/__pycache__/telegram_bot.cpython-312.pyc delete mode 100644 backend/models/__pycache__/telegram_bot.cpython-314.pyc delete mode 100644 backend/models/__pycache__/user.cpython-311.pyc delete mode 100644 backend/models/__pycache__/user.cpython-312.pyc delete mode 100644 backend/models/__pycache__/user.cpython-313.pyc delete mode 100644 backend/models/__pycache__/user.cpython-314.pyc create mode 100644 backend/models/bios_baseline.py create mode 100644 backend/models/server_config.py delete mode 100644 backend/routes/__pycache__/__init__.cpython-311.pyc delete mode 100644 backend/routes/__pycache__/__init__.cpython-312.pyc delete mode 100644 backend/routes/__pycache__/__init__.cpython-313.pyc delete mode 100644 backend/routes/__pycache__/__init__.cpython-314.pyc delete mode 100644 backend/routes/__pycache__/admin.cpython-311.pyc delete mode 100644 backend/routes/__pycache__/admin.cpython-312.pyc delete mode 100644 backend/routes/__pycache__/admin.cpython-313.pyc delete mode 100644 backend/routes/__pycache__/admin.cpython-314.pyc delete mode 100644 backend/routes/__pycache__/auth.cpython-311.pyc delete mode 100644 backend/routes/__pycache__/auth.cpython-312.pyc delete mode 100644 backend/routes/__pycache__/auth.cpython-313.pyc delete mode 100644 backend/routes/__pycache__/auth.cpython-314.pyc delete mode 100644 backend/routes/__pycache__/catalog_sync.cpython-311.pyc delete mode 100644 backend/routes/__pycache__/catalog_sync.cpython-312.pyc delete mode 100644 backend/routes/__pycache__/catalog_sync.cpython-314.pyc delete mode 100644 backend/routes/__pycache__/drm_sync.cpython-314.pyc delete mode 100644 backend/routes/__pycache__/file_view.cpython-311.pyc delete mode 100644 backend/routes/__pycache__/file_view.cpython-312.pyc delete mode 100644 backend/routes/__pycache__/file_view.cpython-313.pyc delete mode 100644 backend/routes/__pycache__/file_view.cpython-314.pyc delete mode 100644 backend/routes/__pycache__/home.cpython-311.pyc delete mode 100644 backend/routes/__pycache__/home.cpython-312.pyc delete mode 100644 backend/routes/__pycache__/home.cpython-313.pyc delete mode 100644 backend/routes/__pycache__/home.cpython-314.pyc delete mode 100644 backend/routes/__pycache__/idrac_routes.cpython-311.pyc delete mode 100644 backend/routes/__pycache__/idrac_routes.cpython-312.pyc delete mode 100644 backend/routes/__pycache__/idrac_routes.cpython-313.pyc delete mode 100644 backend/routes/__pycache__/idrac_routes.cpython-314.pyc delete mode 100644 backend/routes/__pycache__/jobs.cpython-311.pyc delete mode 100644 backend/routes/__pycache__/jobs.cpython-312.pyc delete mode 100644 backend/routes/__pycache__/jobs.cpython-313.pyc delete mode 100644 backend/routes/__pycache__/jobs.cpython-314.pyc delete mode 100644 backend/routes/__pycache__/main.cpython-311.pyc delete mode 100644 backend/routes/__pycache__/main.cpython-312.pyc delete mode 100644 backend/routes/__pycache__/main.cpython-313.pyc delete mode 100644 backend/routes/__pycache__/main.cpython-314.pyc delete mode 100644 backend/routes/__pycache__/scp_routes.cpython-312.pyc delete mode 100644 backend/routes/__pycache__/scp_routes.cpython-314.pyc delete mode 100644 backend/routes/__pycache__/utilities.cpython-311.pyc delete mode 100644 backend/routes/__pycache__/utilities.cpython-312.pyc delete mode 100644 backend/routes/__pycache__/utilities.cpython-313.pyc delete mode 100644 backend/routes/__pycache__/utilities.cpython-314.pyc delete mode 100644 backend/routes/__pycache__/xml.cpython-311.pyc delete mode 100644 backend/routes/__pycache__/xml.cpython-312.pyc delete mode 100644 backend/routes/__pycache__/xml.cpython-313.pyc delete mode 100644 backend/routes/__pycache__/xml.cpython-314.pyc create mode 100644 backend/routes/bios_baseline_routes.py delete mode 100644 backend/routes/idrac_routes_base.py create mode 100644 backend/routes/script_manager.py create mode 100644 backend/routes/server_config_routes.py delete mode 100644 backend/routes/version_compare_api.py delete mode 100644 backend/services/__pycache__/dell_catalog_sync.cpython-311.pyc delete mode 100644 backend/services/__pycache__/dell_catalog_sync.cpython-312.pyc delete mode 100644 backend/services/__pycache__/dell_catalog_sync.cpython-314.pyc delete mode 100644 backend/services/__pycache__/drm_catalog_sync.cpython-314.pyc delete mode 100644 backend/services/__pycache__/idrac_jobs.cpython-311.pyc delete mode 100644 backend/services/__pycache__/idrac_jobs.cpython-312.pyc delete mode 100644 backend/services/__pycache__/idrac_jobs.cpython-313.pyc delete mode 100644 backend/services/__pycache__/idrac_jobs.cpython-314.pyc delete mode 100644 backend/services/__pycache__/idrac_redfish_client.cpython-311.pyc delete mode 100644 backend/services/__pycache__/idrac_redfish_client.cpython-312.pyc delete mode 100644 backend/services/__pycache__/idrac_redfish_client.cpython-313.pyc delete mode 100644 backend/services/__pycache__/idrac_redfish_client.cpython-314.pyc delete mode 100644 backend/services/__pycache__/ip_processor.cpython-311.pyc delete mode 100644 backend/services/__pycache__/ip_processor.cpython-312.pyc delete mode 100644 backend/services/__pycache__/ip_processor.cpython-313.pyc delete mode 100644 backend/services/__pycache__/ip_processor.cpython-314.pyc delete mode 100644 backend/services/__pycache__/logger.cpython-311.pyc delete mode 100644 backend/services/__pycache__/logger.cpython-312.pyc delete mode 100644 backend/services/__pycache__/logger.cpython-313.pyc delete mode 100644 backend/services/__pycache__/logger.cpython-314.pyc delete mode 100644 backend/services/__pycache__/redfish_client.cpython-311.pyc delete mode 100644 backend/services/__pycache__/redfish_client.cpython-312.pyc delete mode 100644 backend/services/__pycache__/redfish_client.cpython-313.pyc delete mode 100644 backend/services/__pycache__/redfish_client.cpython-314.pyc delete mode 100644 backend/services/__pycache__/watchdog_handler.cpython-311.pyc delete mode 100644 backend/services/__pycache__/watchdog_handler.cpython-312.pyc delete mode 100644 backend/services/__pycache__/watchdog_handler.cpython-313.pyc delete mode 100644 backend/services/__pycache__/watchdog_handler.cpython-314.pyc rename telegram_bot_service.py => backend/services/telegram_bot_service.py (99%) delete mode 100644 backend/snapshots/20260120_consolidation/css/index.css delete mode 100644 backend/snapshots/20260120_consolidation/css/index_custom.css delete mode 100644 backend/snapshots/20260120_consolidation/index.html delete mode 100644 backend/snapshots/20260120_consolidation/js/index.js delete mode 100644 backend/snapshots/20260120_consolidation/js/index_custom.js delete mode 100644 backend/snapshots/20260120_consolidation/script.js delete mode 100644 backend/snapshots/20260120_consolidation/style.css delete mode 100644 backend/snapshots/20260120_gpu_fix/utilities.py delete mode 100644 backend/snapshots/20260120_log_resize/admin_logs.html delete mode 100644 backend/snapshots/20260120_processed_count/index.html create mode 100644 backend/static/js/bios_baseline.js create mode 100644 backend/static/js/server_config.js create mode 100644 backend/templates/bios_baseline.html create mode 100644 backend/templates/script_manager.html create mode 100644 backend/templates/snippets/repo_file_table.html create mode 100644 backend/validate_divs.py create mode 100644 backend/validate_html.py delete mode 100644 check_telegram.py delete mode 100644 data/backend/instance/site.db delete mode 100644 data/backup/새 폴더/1BZ7HG4.txt delete mode 100644 data/backup/새 폴더/1T48HG4.txt delete mode 100644 data/backup/새 폴더/1V48HG4.txt delete mode 100644 data/gpu_serial/152F7G4.txt delete mode 100644 data/gpu_serial/17Z7HG4.txt delete mode 100644 data/gpu_serial/18Z7HG4.txt delete mode 100644 data/gpu_serial/19Z7HG4.txt delete mode 100644 data/gpu_serial/1BZ7HG4.txt delete mode 100644 data/gpu_serial/1T48HG4.txt delete mode 100644 data/gpu_serial/1V48HG4.txt delete mode 100644 data/gpu_serial/1XZCZC4.txt delete mode 100644 data/gpu_serial/2058HG4.txt delete mode 100644 data/gpu_serial/26Z7HG4.txt delete mode 100644 data/gpu_serial/273HZC4.txt delete mode 100644 data/gpu_serial/28Z7HG4.txt delete mode 100644 data/gpu_serial/2NYCZC4.txt delete mode 100644 data/gpu_serial/2T48HG4.txt delete mode 100644 data/gpu_serial/2V48HG4.txt delete mode 100644 data/gpu_serial/2XZCZC4.txt delete mode 100644 data/gpu_serial/3058HG4.txt delete mode 100644 data/gpu_serial/332F7G4.txt delete mode 100644 data/gpu_serial/38Z7HG4.txt delete mode 100644 data/gpu_serial/39Z7HG4.txt delete mode 100644 data/gpu_serial/3LYCZC4.txt delete mode 100644 data/gpu_serial/3MYCZC4.txt delete mode 100644 data/gpu_serial/3PYCZC4.txt delete mode 100644 data/gpu_serial/3SJCZC4.txt delete mode 100644 data/gpu_serial/3Y48HG4.txt delete mode 100644 data/gpu_serial/4058HG4.txt delete mode 100644 data/gpu_serial/442F7G4.txt delete mode 100644 data/gpu_serial/472B7G4.txt delete mode 100644 data/gpu_serial/48Z7HG4.txt delete mode 100644 data/gpu_serial/49Z7HG4.txt delete mode 100644 data/gpu_serial/4K8XHG4.txt delete mode 100644 data/gpu_serial/4T48HG4.txt delete mode 100644 data/gpu_serial/4XZCZC4.txt delete mode 100644 data/gpu_serial/552F7G4.txt delete mode 100644 data/gpu_serial/572B7G4.txt delete mode 100644 data/gpu_serial/5BZ7HG4.txt delete mode 100644 data/gpu_serial/5GZ7HG4.txt delete mode 100644 data/gpu_serial/5MYCZC4.txt delete mode 100644 data/gpu_serial/5NYCZC4.txt delete mode 100644 data/gpu_serial/5PRS3H4.txt delete mode 100644 data/gpu_serial/5V48HG4.txt delete mode 100644 data/gpu_serial/5Y48HG4.txt delete mode 100644 data/gpu_serial/66Z7HG4.txt delete mode 100644 data/gpu_serial/68Z7HG4.txt delete mode 100644 data/gpu_serial/69Z7HG4.txt delete mode 100644 data/gpu_serial/6GZ7HG4.txt delete mode 100644 data/gpu_serial/6T48HG4.txt delete mode 100644 data/gpu_serial/6XZCZC4.txt delete mode 100644 data/gpu_serial/76Z7HG4.txt delete mode 100644 data/gpu_serial/77Z7HG4.txt delete mode 100644 data/gpu_serial/78Z7HG4.txt delete mode 100644 data/gpu_serial/79Z7HG4.txt delete mode 100644 data/gpu_serial/7BZ7HG4.txt delete mode 100644 data/gpu_serial/7F8XHG4.txt delete mode 100644 data/gpu_serial/7G4F7G4.txt delete mode 100644 data/gpu_serial/7MYCZC4.txt delete mode 100644 data/gpu_serial/7S48HG4.txt delete mode 100644 data/gpu_serial/7T48HG4.txt delete mode 100644 data/gpu_serial/7XZCZC4.txt delete mode 100644 data/gpu_serial/87Z7HG4.txt delete mode 100644 data/gpu_serial/88Z7HG4.txt delete mode 100644 data/gpu_serial/89Z7HG4.txt delete mode 100644 data/gpu_serial/8BZ7HG4.txt delete mode 100644 data/gpu_serial/8F8XHG4.txt delete mode 100644 data/gpu_serial/8GZ7HG4.txt delete mode 100644 data/gpu_serial/8T48HG4.txt delete mode 100644 data/gpu_serial/8V48HG4.txt delete mode 100644 data/gpu_serial/8WZCZC4.txt delete mode 100644 data/gpu_serial/96Z7HG4.txt delete mode 100644 data/gpu_serial/972B7G4.txt delete mode 100644 data/gpu_serial/98Z7HG4.txt delete mode 100644 data/gpu_serial/992B7G4.txt delete mode 100644 data/gpu_serial/99Z7HG4.txt delete mode 100644 data/gpu_serial/9NYCZC4.txt delete mode 100644 data/gpu_serial/9V48HG4.txt delete mode 100644 data/gpu_serial/B63HZC4.txt delete mode 100644 data/gpu_serial/B6Z7HG4.txt delete mode 100644 data/gpu_serial/B7Z7HG4.txt delete mode 100644 data/gpu_serial/BBZ7HG4.txt delete mode 100644 data/gpu_serial/BGZ7HG4.txt delete mode 100644 data/gpu_serial/BH4F7G4.txt delete mode 100644 data/gpu_serial/BNYCZC4.txt delete mode 100644 data/gpu_serial/BT48HG4.txt delete mode 100644 data/gpu_serial/C6Z7HG4.txt delete mode 100644 data/gpu_serial/C72B7G4.txt delete mode 100644 data/gpu_serial/C7Z7HG4.txt delete mode 100644 data/gpu_serial/C9Z7HG4.txt delete mode 100644 data/gpu_serial/CF8XHG4.txt delete mode 100644 data/gpu_serial/CG4F7G4.txt delete mode 100644 data/gpu_serial/CGZ7HG4.txt delete mode 100644 data/gpu_serial/CS48HG4.txt delete mode 100644 data/gpu_serial/CV48HG4.txt delete mode 100644 data/gpu_serial/CXZCZC4.txt delete mode 100644 data/gpu_serial/D6Z7HG4.txt delete mode 100644 data/gpu_serial/D7Z7HG4.txt delete mode 100644 data/gpu_serial/D8Z7HG4.txt delete mode 100644 data/gpu_serial/D9Z7HG4.txt delete mode 100644 data/gpu_serial/DF8XHG4.txt delete mode 100644 data/gpu_serial/DLYCZC4.txt delete mode 100644 data/gpu_serial/DS48HG4.txt delete mode 100644 data/gpu_serial/DT48HG4.txt delete mode 100644 data/gpu_serial/DXZCZC4.txt delete mode 100644 data/gpu_serial/F42F7G4.txt delete mode 100644 data/gpu_serial/F7Z7HG4.txt delete mode 100644 data/gpu_serial/F9Z7HG4.txt delete mode 100644 data/gpu_serial/FB2F7G4.txt delete mode 100644 data/gpu_serial/FF8XHG4.txt delete mode 100644 data/gpu_serial/FS48HG4.txt delete mode 100644 data/gpu_serial/FT48HG4.txt delete mode 100644 data/gpu_serial/FWZCZC4.txt delete mode 100644 data/gpu_serial/FYJCZC4.txt delete mode 100644 data/gpu_serial/G6Z7HG4.txt delete mode 100644 data/gpu_serial/GS48HG4.txt delete mode 100644 data/gpu_serial/GV48HG4.txt delete mode 100644 data/gpu_serial/H22F7G4.txt delete mode 100644 data/gpu_serial/H42F7G4.txt delete mode 100644 data/gpu_serial/H6Z7HG4.txt delete mode 100644 data/gpu_serial/H7Z7HG4.txt delete mode 100644 data/gpu_serial/H8KS3H4.txt delete mode 100644 data/gpu_serial/H8Z7HG4.txt delete mode 100644 data/gpu_serial/HR48HG4.txt delete mode 100644 data/gpu_serial/HT48HG4.txt delete mode 100644 data/gpu_serial/J6Z7HG4.txt delete mode 100644 data/gpu_serial/J7Z7HG4.txt delete mode 100644 data/gpu_serial/J8Z7HG4.txt delete mode 100644 data/gpu_serial/JF4F7G4.txt delete mode 100644 data/guid_file/JF4F7G4.txt delete mode 100644 data/logs/2025-11-24.log delete mode 100644 data/logs/2025-11-26.log delete mode 100644 data/logs/2025-11-27.log delete mode 100644 data/logs/2025-11-28.log delete mode 100644 data/logs/2025-11-29.log delete mode 100644 data/logs/2025-11-30.log delete mode 100644 data/logs/2025-12-18.log delete mode 100644 data/logs/2025-12-19.log delete mode 100644 data/logs/2026-01-13.log delete mode 100644 data/logs/2026-01-15.log delete mode 100644 data/logs/2026-01-16.log delete mode 100644 data/logs/2026-01-17.log delete mode 100644 data/logs/app.log delete mode 100644 data/mac/1BZ7HG4.txt delete mode 100644 data/mac/1T48HG4.txt delete mode 100644 data/mac/1V48HG4.txt delete mode 100644 data/mac/1XZCZC4.txt delete mode 100644 data/mac/2NYCZC4.txt delete mode 100644 data/mac/2T48HG4.txt delete mode 100644 data/mac/2V48HG4.txt delete mode 100644 data/mac/2XZCZC4.txt delete mode 100644 data/mac/3LYCZC4.txt delete mode 100644 data/mac/3MYCZC4.txt delete mode 100644 data/mac/3PYCZC4.txt delete mode 100644 data/mac/3SJCZC4.txt delete mode 100644 data/mac/3Y48HG4.txt delete mode 100644 data/mac/4K8XHG4.txt delete mode 100644 data/mac/4T48HG4.txt delete mode 100644 data/mac/4XZCZC4.txt create mode 100644 data/repository/xml/16G_T4,6 .xml create mode 100644 data/repository/xml/20260223_standard_PO-20251222-0150_DELL_ALL.xml rename data/{ => repository}/xml/LinePlus_T1.xml (100%) rename data/{ => repository}/xml/PO-20250826-0158 _가산3_XE9680_384EA.xml (100%) create mode 100644 data/repository/xml/PO-20251208-0239_H200_943EA.xml create mode 100644 data/repository/xml/PO-20251216-0065_TY11A_60EA.xml create mode 100644 data/repository/xml/PO-20260102-0087_R760xd2_27EA.xml create mode 100644 data/repository/xml/PO-20260112-0006_R760xd2_세종.xml rename data/{ => repository}/xml/R650_TY1.xml (100%) rename data/{ => repository}/xml/R6615.xml (100%) rename data/{ => repository}/xml/R6615_raid.xml (100%) rename data/{ => repository}/xml/R6625_RAID.xml (100%) rename data/{ => repository}/xml/R750_33EAT4.xml (100%) rename data/{ => repository}/xml/Sejong_LDAP.xml (100%) rename data/{ => repository}/xml/T11_R660.xml (100%) rename data/{ => repository}/xml/T6_R760_RAID_A.xml (100%) rename data/{ => repository}/xml/T6_R760_XML_P.xml (100%) rename data/{ => repository}/xml/T6_R760_XML_S.xml (100%) rename data/{ => repository}/xml/T8A_R6625_P.xml (100%) rename data/{ => repository}/xml/T8A_R6625_P_NoRaid.xml (100%) rename data/{ => repository}/xml/T8A_R6625_P_test.xml (100%) rename data/{ => repository}/xml/T8A_R6625_RAID_A.xml (100%) rename data/{ => repository}/xml/T8A_R6625_S.xml (100%) rename data/{ => repository}/xml/XE9680_50EA_REAL.xml (100%) rename data/{ => repository}/xml/XE9680_gasan2.xml (100%) delete mode 100644 data/scripts/03-tsr_log.py delete mode 100644 data/scripts/04-tsr_save.py delete mode 100644 data/scripts/05-clrsel.py delete mode 100644 data/scripts/06-PowerON.py delete mode 100644 data/scripts/07-PowerOFF.py delete mode 100644 data/scripts/08-job_delete_all.py create mode 100644 data/scripts/collect_gpu.py create mode 100644 data/scripts/core/__init__.py create mode 100644 data/scripts/core/__pycache__/__init__.cpython-312.pyc create mode 100644 data/scripts/core/__pycache__/idrac_client.cpython-312.pyc create mode 100644 data/scripts/core/__pycache__/parsers.cpython-312.pyc create mode 100644 data/scripts/core/idrac_client.py create mode 100644 data/scripts/core/parsers.py create mode 100644 data/scripts/profiles/gpu_profiles.yaml create mode 100644 data/scripts/profiles/guid_profiles.yaml create mode 100644 data/scripts/profiles/mac_profiles.yaml create mode 100644 data/scripts/profiles/server_info_profiles.yaml create mode 100644 data/scripts/unified/__pycache__/collect_server_info.cpython-312.pyc create mode 100644 data/scripts/unified/collect_gpu.py create mode 100644 data/scripts/unified/collect_guid.py create mode 100644 data/scripts/unified/collect_mac.py create mode 100644 data/scripts/unified/collect_server_info.py create mode 100644 data/scripts/unified/system_control.py delete mode 100644 data/server_list/excel.py.back create mode 100644 data/server_list/unified_excel_generator.py create mode 100644 data/temp/staging/test.txt delete mode 100644 data/temp_ip/ip_0.txt delete mode 100644 idrac-info.service delete mode 100644 implementation_plan.md delete mode 100644 migrate_passwords.py delete mode 100644 task.md delete mode 100644 update_db.py delete mode 100644 update_user_approval.py diff --git a/.env b/.env index 4438e6c..3f24d47 100644 --- a/.env +++ b/.env @@ -1,7 +1,7 @@ # Flask SECRET_KEY=your_secret_key FLASK_HOST=0.0.0.0 -FLASK_PORT=5000 +FLASK_PORT=6050 FLASK_DEBUG=true diff --git a/.gemini/artifacts/guid_cursor_fix.md b/.gemini/artifacts/guid_cursor_fix.md deleted file mode 100644 index 7cec45f..0000000 --- a/.gemini/artifacts/guid_cursor_fix.md +++ /dev/null @@ -1,222 +0,0 @@ -# 드래그 커서 문제 최종 해결 - -## 🔧 문제 해결 - -손 모양 커서가 나타나지 않는 문제를 **완벽하게 해결**했습니다! - -## ✅ 적용한 최종 수정 - -### 1. **Inline 스타일로 강제 적용** - -```html - - - - - -``` - -**핵심 변경:** -- `style="cursor: grab"` - **inline 스타일로 직접 적용** (최우선) -- `font-size: 1.2rem` - 그립 아이콘 크기 키움 (클릭하기 쉽게) -- `padding: 0.25rem` - 클릭 영역 확대 -- `drag-handle` 클래스 추가 - -### 2. **CSS 스타일 강화** - -```css -.drag-handle { - cursor: grab !important; /* 손 모양 커서 */ - user-select: none; /* 텍스트 선택 방지 */ -} - -.drag-handle:hover { - color: #0d6efd !important; /* 마우스 올리면 파란색 */ -} - -.drag-handle:active { - cursor: grabbing !important; /* 드래그 중 잡는 모양 */ -} -``` - -### 3. **Sortable Handle 업데이트** - -```javascript -sortable = Sortable.create(slotList, { - handle: '.drag-handle', // 클래스 선택자 변경 - // ... -}); -``` - -## 🎨 시각적 효과 - -### 마우스 상호작용 - -``` -1. 평소: 일반 커서 - ↓ -2. 그립 아이콘(⋮⋮⋮) 위에 마우스 - ↓ - ★ 손 모양 커서 (🖐️) + 아이콘 파란색 - ↓ -3. 클릭 & 드래그 - ↓ - ★ 잡는 손 커서 (✊) + 초록색 하이라이트 - ↓ -4. 놓기 - ↓ - 순서 변경 완료! ✅ -``` - -### 그립 아이콘 개선 - -**이전:** -- 크기: 작음 (기본) -- 클릭 영역: 좁음 -- 커서: 없음 - -**수정 후:** -- 크기: **1.2배** (더 크게) -- 클릭 영역: **패딩 추가**로 넓음 -- 커서: **grab → grabbing** (명확한 피드백) -- 호버: **파란색**으로 변경 (마우스 올렸다는 표시) - -## 💡 사용 방법 - -### 드래그하는 법 - -``` -1️⃣ 그립 아이콘(⋮⋮⋮) 찾기 - - 각 슬롯 왼쪽에 있는 세로 점 3개 - -2️⃣ 마우스 올리기 - - 손 모양 커서 확인 🖐️ - - 아이콘이 파란색으로 변함 - -3️⃣ 클릭 & 드래그 - - 잡는 손 커서로 변경 ✊ - - 슬롯이 초록색으로 하이라이트 - -4️⃣ 원하는 위치에서 놓기 - - 순서 변경 완료! -``` - -### 주의사항 - -**드래그 가능 영역:** -- ✅ 그립 아이콘(⋮⋮⋮) - **이것만 드래그됨!** -- ❌ 순서 번호 (1, 2, 3...) -- ❌ "Slot 38" 텍스트 -- ❌ 화살표 아이콘(↕) -- ❌ 제거 버튼 `[x]` - -## 🔍 테스트 방법 - -### 1. 손 모양 커서 확인 - -``` -브라우저에서 모달 열기 - ↓ -그립 아이콘(⋮⋮⋮) 위에 마우스 - ↓ -확인사항: -✅ 커서가 손 모양(🖐️)으로 변경 -✅ 아이콘이 파란색으로 변경 -``` - -### 2. 드래그 테스트 - -``` -그립 아이콘 클릭 - ↓ -위/아래로 드래그 - ↓ -확인사항: -✅ 커서가 잡는 손(✊)으로 변경 -✅ 슬롯이 초록색으로 하이라이트 -✅ 파란색 ghost가 따라다님 -``` - -### 3. 콘솔 확인 (F12) - -``` -Console에서 확인: -"드래그 시작: 38" -"Sortable 초기화 완료, 슬롯 개수: 10" -"드래그 종료: 0 → 2" -``` - -## 🎯 핵심 개선 사항 - -### 1. **Inline 스타일 우선순위** -- CSS 파일보다 우선 적용 -- 다른 스타일에 영향 안 받음 -- 확실한 커서 표시 - -### 2. **아이콘 크기 확대** -- `font-size: 1.2rem` (20% 크게) -- 클릭하기 더 쉬워짐 -- 시각적으로 명확함 - -### 3. **클릭 영역 확대** -- `padding: 0.25rem` 추가 -- 주변 영역도 클릭 가능 -- 정확히 아이콘 중앙 안 눌러도 됨 - -### 4. **호버 효과** -- 마우스 올리면 **파란색** -- 드래그 가능 여부 즉시 확인 -- 사용자 경험 향상 - -## ✅ 체크리스트 - -- [x] 손 모양 커서 표시됨 (grab 🖐️) -- [x] 드래그 중 잡는 손 표시 (grabbing ✊) -- [x] 호버 시 파란색 변경 -- [x] 그립 아이콘 크기 확대 -- [x] 클릭 영역 확대 -- [x] 드래그 앤 드롭 작동 -- [x] 순서 변경 저장 -- [x] 콘솔 로그 출력 - -## 🚨 문제 해결 - -### 여전히 손 모양이 안 나타난다면? - -1. **브라우저 캐시 삭제** - - Ctrl + F5 (강제 새로고침) - - 또는 Ctrl + Shift + Delete - -2. **개발자 도구로 확인** - - F12 → Elements 탭 - - 그립 아이콘 검사 - - Styles에서 `cursor: grab` 확인 - -3. **콘솔에서 Sortable 확인** - ```javascript - console.log(sortable); // Sortable 객체 확인 - ``` - -4. **Bootstrap Icons 로드 확인** - - 그립 아이콘이 제대로 표시되는지 확인 - - 세로 점 3개가 보여야 함 - -## 🎉 최종 결과 - -이제 **완벽하게 작동**합니다! - -``` -그립 아이콘(⋮⋮⋮) 마우스 올림 - ↓ -손 모양 커서 (🖐️) + 파란색 - ↓ -드래그 - ↓ -잡는 손 커서 (✊) + 초록색 - ↓ -순서 변경 완료! ✅ -``` - -**시각적 피드백이 풍부하여 사용이 매우 직관적입니다!** 🚀 diff --git a/.gemini/artifacts/guid_drag_fix.md b/.gemini/artifacts/guid_drag_fix.md deleted file mode 100644 index 102a9d9..0000000 --- a/.gemini/artifacts/guid_drag_fix.md +++ /dev/null @@ -1,202 +0,0 @@ -# 드래그 앤 드롭 수정 완료 - -## 🔧 해결한 문제 - -사용자가 슬롯 순서를 마우스로 드래그할 수 없는 문제를 해결했습니다. - -## ✅ 적용한 수정사항 - -### 1. **Sortable 초기화 개선** - -```javascript -// 이전 (문제 있던 코드) -sortable = Sortable.create(slotList, { - animation: 150, - ghostClass: 'bg-light', - chosenClass: 'bg-success bg-opacity-25', - dragClass: 'opacity-50' -}); - -// 수정 (개선된 코드) -sortable = Sortable.create(slotList, { - animation: 200, - handle: '.bi-grip-vertical', // ★ 그립 아이콘만 드래그 가능 - ghostClass: 'sortable-ghost', - chosenClass: 'sortable-chosen', - dragClass: 'sortable-drag', - forceFallback: true, // ★ 더 나은 호환성 - fallbackTolerance: 3, - onStart: function(evt) { - console.log('드래그 시작'); // ★ 디버깅 - }, - onEnd: function(evt) { - console.log('드래그 종료'); // ★ 디버깅 - // ... 순서 업데이트 - } -}); -``` - -### 2. **드래그 핸들 지정** - -**핵심 변경:** -```javascript -handle: '.bi-grip-vertical' // 그립 아이콘(⋮⋮⋮)만 드래그 가능 -``` - -이제 **그립 아이콘(⋮⋮⋮)을 마우스로 잡아야** 드래그가 됩니다! - -### 3. **CSS 스타일 추가** - -```css -/* 그립 아이콘 커서 */ -.slot-item .bi-grip-vertical { - cursor: grab !important; /* 손 모양 커서 */ -} - -.slot-item .bi-grip-vertical:active { - cursor: grabbing !important; /* 잡는 중 커서 */ -} - -/* 드래그 중 시각 효과 */ -.sortable-ghost { - opacity: 0.4; - background-color: #e3f2fd !important; /* 파란색 반투명 */ -} - -.sortable-chosen { - background-color: #c8e6c9 !important; /* 초록색 하이라이트 */ - transform: scale(1.02); /* 약간 크게 */ - box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.2) !important; -} - -.sortable-drag { - opacity: 0.8; -} -``` - -### 4. **HTML 수정** - -```javascript -// 이전 (cursor: move가 전체에 적용) -li.style.cursor = 'move'; - -// 수정 (제거하고 CSS로 그립 아이콘만 적용) -// ← 제거됨 -``` - -```html - - -``` - -### 5. **디버깅 로그 추가** - -```javascript -onStart: function(evt) { - console.log('드래그 시작:', evt.item.getAttribute('data-slot')); -}, -onEnd: function(evt) { - console.log('드래그 종료:', evt.oldIndex, '→', evt.newIndex); -} -``` - -콘솔에서 드래그가 제대로 작동하는지 확인 가능! - -## 📊 사용 방법 - -### 이전 (작동 안 됨) -``` -❌ 슬롯 아이템 아무 곳이나 클릭 → 드래그 안 됨 -``` - -### 수정 후 (작동함) -``` -✅ 그립 아이콘(⋮⋮⋮)을 마우스로 클릭 & 드래그 - ↓ -손 모양 커서(🖐️) 표시 - ↓ -드래그하면 초록색 하이라이트 - ↓ -놓으면 순서 변경 완료 -``` - -## 🎨 시각적 효과 - -### 마우스 커서 변화 -``` -평소: 그립 아이콘 위에 → 손(grab) 커서 🖐️ -드래그 중: 잡는(grabbing) 커서 ✊ -``` - -### 드래그 시 -``` -선택된 아이템: 초록색 배경 + 약간 크게 -드래그되는 아이템: 파란색 반투명 ghost -``` - -## ⚙️ 기술적 개선 - -### 1. **Handle 지정** -- 전체 아이템이 아닌 **그립 아이콘만** 드래그 가능 -- 실수로 다른 부분 클릭해도 순서 안 바뀜 -- 제거 버튼 `[x]` 클릭 시 드래그 안 됨 - -### 2. **forceFallback** -- 브라우저 호환성 향상 -- 모바일에서도 더 잘 작동 -- 더 부드러운 애니메이션 - -### 3. **fallbackTolerance: 3** -- 3픽셀 이상 움직여야 드래그 시작 -- 클릭과 드래그 구분 -- 실수 방지 - -## 🔍 테스트 방법 - -### 1. 브라우저 콘솔 확인 -``` -F12 → Console 탭 열기 -그립 아이콘 드래그 시: - "드래그 시작: 38" - "Sortable 초기화 완료, 슬롯 개수: 10" - "드래그 종료: 0 → 2" -``` - -### 2. 시각적 확인 -``` -1. 모달 열기 -2. 그립 아이콘(⋮⋮⋮) 위에 마우스 -3. 손 모양 커서 확인 ✅ -4. 클릭 & 드래그 -5. 초록색 하이라이트 확인 ✅ -6. 놓으면 순서 변경 ✅ -``` - -### 3. 기능 테스트 -``` -✅ 위/아래 드래그 -✅ 첫 번째 ↔ 마지막 -✅ 연속 드래그 -✅ 커스텀 모드에서 드래그 → 입력 필드 자동 업데이트 -``` - -## 💡 사용 팁 - -### 드래그가 안 될 때 -1. **그립 아이콘(⋮⋮⋮)을 정확히 클릭**하세요 -2. 슬롯 이름이나 번호를 클릭하면 안 됩니다 -3. 손 모양 커서가 나타나는지 확인 - -### 더 쉽게 드래그하려면 -- 그립 아이콘 영역이 작으니 **천천히 정확하게** 클릭 -- 드래그 시작 후 부드럽게 이동 - -## 🎉 결과 - -이제 **완벽하게 드래그 앤 드롭**이 작동합니다! - -``` -그립 아이콘(⋮⋮⋮) 클릭 → 드래그 → 순서 변경 ✅ -``` - -**시각적 피드백도 개선**되어 사용자 경험이 훨씬 좋아졌습니다! diff --git a/.gemini/artifacts/guid_slot_custom_final.md b/.gemini/artifacts/guid_slot_custom_final.md deleted file mode 100644 index bd22cd2..0000000 --- a/.gemini/artifacts/guid_slot_custom_final.md +++ /dev/null @@ -1,354 +0,0 @@ -# GUID 슬롯 완전 자유 편집 기능 (최종 완성) - -## 🎉 완벽한 유연성 달성! - -이제 **1개, 3개, 5개, 100개** 등 **어떤 개수의 슬롯**이든 자유롭게 설정할 수 있습니다! - -## ✨ 핵심 기능 - -### 1. **프리셋 + 커스텀 하이브리드 방식** - -``` -┌─────────────────────────────────────────────────┐ -│ [2 슬롯] [4 슬롯] [10 슬롯] [커스텀] ← 선택 │ -└─────────────────────────────────────────────────┘ -``` - -- **프리셋**: 자주 사용하는 2, 4, 10슬롯 원클릭 선택 -- **커스텀**: 원하는 슬롯 번호를 직접 입력 - -### 2. **커스텀 슬롯 입력** - -``` -┌─────────────────────────────────────────────────┐ -│ 슬롯 번호: [31, 32, 38] [✓ 적용] │ -│ ↑ 콤마로 구분하여 입력 │ -└─────────────────────────────────────────────────┘ -``` - -**사용 예시:** -- `38` → 1개 슬롯 -- `32, 34, 38` → 3개 슬롯 -- `31, 32, 33, 34, 35` → 5개 슬롯 -- `38, 39, 40, 41, 42, 43, 44, 45` → 8개 슬롯 - -### 3. **슬롯 개별 제거 버튼** (커스텀 모드) - -``` -1 ::: Slot 38 [x] ← 제거 버튼 -2 ::: Slot 32 [x] -3 ::: Slot 34 [x] -``` - -- 커스텀 모드에서만 각 슬롯 옆에 `[x]` 제거 버튼 표시 -- 클릭하면 해당 슬롯 즉시 제거 -- 실시간으로 입력 필드도 업데이트 - -### 4. **드래그 앤 드롭 순서 조정** -- 프리셋이든 커스텀이든 모두 드래그로 순서 변경 가능 -- 커스텀 모드에서는 드래그 후 입력 필드도 자동 업데이트 - -### 5. **빈 슬롯 처리** -- 슬롯이 0개일 때: "슬롯이 없습니다" 메시지 표시 -- 제출 시 검증: 최소 1개 이상 슬롯 필요 - -## 📊 사용 시나리오 - -### 시나리오 1: 1슬롯 서버 - -``` -[커스텀] 선택 - ↓ -입력: 38 - ↓ -[적용] 클릭 - ↓ -표시: 1. Slot 38 - ↓ -txt 파일: - ABC1234 - Slot.38: XXX - GUID: 0xXXX -``` - -### 시나리오 2: 3슬롯 서버 - -``` -[커스텀] 선택 - ↓ -입력: 32, 34, 38 - ↓ -[적용] 클릭 - ↓ -표시: - 1. Slot 32 [x] - 2. Slot 34 [x] - 3. Slot 38 [x] - ↓ -드래그로 순서 변경 (예: 38, 34, 32) - ↓ -txt 파일: - ABC1234 - Slot.38: XXX - Slot.34: YYY - Slot.32: ZZZ - GUID: 0xXXX;0xYYY;0xZZZ -``` - -### 시나리오 3: 5슬롯 서버 - -``` -[커스텀] 선택 - ↓ -입력: 31, 32, 33, 38, 39 - ↓ -[적용] 클릭 - ↓ -표시: 5개 슬롯 - ↓ -자유롭게 드래그로 순서 조정 -``` - -### 시나리오 4: 프리셋에서 커스텀으로 전환 - -``` -[10 슬롯] 선택 (기본) - ↓ -10개 슬롯 표시: 38, 39, 37, 36, 32, 33, 34, 35, 31, 40 - ↓ -[커스텀] 클릭 - ↓ -입력 필드에 현재 슬롯 자동 표시: "38, 39, 37, ..." - ↓ -원하는 슬롯만 남기고 삭제 -예: "38, 32, 34" 로 수정 - ↓ -[적용] 클릭 - ↓ -3개 슬롯만 표시 -``` - -## 🔧 기술 구현 - -### JavaScript - 커스텀 슬롯 파싱 - -```javascript -// 슬롯 번호 입력: "31, 32, 38, 39" -const slots = input.split(',') - .map(s => s.trim()) // 공백 제거 - .filter(s => s !== '') // 빈 문자열 제거 - .filter(s => /^\d+$/.test(s)) // 숫자만 허용 - .filter((v, i, a) => a.indexOf(v) === i); // 중복 제거 - -// 결과: ['31', '32', '38', '39'] -currentSlotOrder = slots; -``` - -### 슬롯 제거 버튼 - -```javascript -// 커스텀 모드에서만 제거 버튼 표시 -${currentSlotMode === 'custom' ? - `` - : '' -} - -// 제거 버튼 클릭 시 -btn.addEventListener('click', function() { - const slotToRemove = this.getAttribute('data-slot'); - currentSlotOrder = currentSlotOrder.filter(s => s !== slotToRemove); - renderSlotList(); - customSlotNumbers.value = currentSlotOrder.join(', '); -}); -``` - -### Enter 키 지원 - -```javascript -customSlotNumbers.addEventListener('keypress', function(e) { - if (e.key === 'Enter') { - applyCustomSlots.click(); // 적용 버튼 클릭 - } -}); -``` - -### 빈 슬롯 검증 - -```javascript -// 폼 제출 시 -if (currentSlotOrder.length === 0) { - e.preventDefault(); - alert('최소 1개 이상의 슬롯을 설정하세요.'); - return; -} -``` - -## 💡 UI/UX 특징 - -### 1. **직관적인 모드 전환** -- 프리셋 버튼 클릭 → 입력 필드 숨김 -- 커스텀 버튼 클릭 → 입력 필드 표시 -- 현재 슬롯이 자동으로 입력 필드에 표시됨 - -### 2. **실시간 동기화** -- 드래그로 순서 변경 → 입력 필드 자동 업데이트 (커스텀 모드) -- `[x]` 버튼으로 제거 → 입력 필드 자동 업데이트 -- 입력 필드 수정 → [적용] 클릭 → 슬롯 리스트 업데이트 - -### 3. **시각적 피드백** -- 슬롯 개수 배지: `3개`, `5개`, `10개` -- 슬롯 없을 때: 회색 배지 + 안내 메시지 -- 커스텀 모드: 노란색 버튼 + `[x]` 제거 버튼 - -### 4. **안전 장치** -- 중복 슬롯 자동 제거 -- 숫자 아닌 입력 무시 -- 빈 입력 검증 -- 제출 시 최소 1개 슬롯 검증 - -## 🎯 실제 사용 예시 - -### 예제 1: 초소형 서버 (1슬롯) - -``` -[커스텀] 선택 -입력: 38 -[적용] - -결과: -┌──────────────┐ -│ 1 Slot 38 [x]│ -└──────────────┘ - -txt 파일: -ABC1234 -Slot.38: 00:11:22:33:44:55:66:77 -GUID: 0x0011223344556677 -``` - -### 예제 2: 중형 서버 (6슬롯) - -``` -[커스텀] 선택 -입력: 32, 33, 34, 37, 38, 39 -[적용] - -표시되는 슬롯: -1. Slot 32 [x] -2. Slot 33 [x] -3. Slot 34 [x] -4. Slot 37 [x] -5. Slot 38 [x] -6. Slot 39 [x] - -드래그로 순서 변경: -1. Slot 38 [x] ← 드래그로 맨 위로 -2. Slot 39 [x] -3. Slot 37 [x] -4. Slot 32 [x] -5. Slot 33 [x] -6. Slot 34 [x] - -입력 필드 자동 업데이트: -"38, 39, 37, 32, 33, 34" -``` - -### 예제 3: 대형 서버 (12슬롯 - 프리셋 없음) - -``` -[커스텀] 선택 -입력: 31,32,33,34,35,36,37,38,39,40,41,42 -[적용] - -결과: 12개 슬롯 모두 표시 -자유롭게 순서 조정 가능 -``` - -## 🚀 장점 - -### 1. **무제한 유연성** -- 1개부터 이론상 무제한까지 -- 어떤 슬롯 번호 조합도 가능 -- 연속/불연속 무관 - -### 2. **편의성** -- 자주 사용하는 것은 프리셋으로 -- 특수한 경우는 커스텀으로 -- 두 방식을 자유롭게 오갈 수 있음 - -### 3. **안전성** -- 입력 검증 (숫자만, 중복 제거) -- 빈 슬롯 방지 -- 현재 상태 자동 저장 - -### 4. **직관성** -- 입력 필드와 슬롯 리스트 동기화 -- 제거 버튼으로 간편한 삭제 -- 드래그로 순서 조정 - -## ⚠️ 사용 팁 - -### 1. **입력 형식** -``` -✅ 올바른 입력: -- 38 -- 32, 34, 38 -- 31,32,33,34,35 -- 38, 39, 40 (공백 있어도 OK) - -❌ 잘못된 입력: -- 38-40 (범위 표기 불가) -- a, b, c (문자 불가) -- 38.5 (소수점 불가) -``` - -### 2. **프리셋에서 커스텀으로** -- 프리셋 선택 → 커스텀 클릭 -- 현재 슬롯이 입력 필드에 표시됨 -- 필요한 슬롯만 남기고 삭제 -- [적용] 클릭 - -### 3. **빠른 편집** -- 입력 필드에서 직접 수정 -- Enter 키로 빠르게 적용 -- `[x]` 버튼으로 개별 제거 - -## ✅ 완성된 기능 - -- [x] 프리셋 2, 4, 10슬롯 -- [x] 커스텀 슬롯 입력 -- [x] 콤마 구분 파싱 -- [x] 숫자 검증 -- [x] 중복 제거 -- [x] 슬롯 개별 제거 (커스텀 모드) -- [x] 드래그 앤 드롭 순서 조정 -- [x] 입력 필드-리스트 동기화 -- [x] Enter 키 지원 -- [x] 빈 슬롯 방지 -- [x] 로컬 스토리지 저장 -- [x] 시각적 피드백 -- [x] 안전 장치 - -## 🎉 최종 결과 - -이제 **완벽한 유연성**을 갖췄습니다: - -``` -✅ 1슬롯 서버 -✅ 2슬롯 서버 (프리셋) -✅ 3슬롯 서버 (커스텀) -✅ 4슬롯 서버 (프리셋) -✅ 5슬롯 서버 (커스텀) -✅ 6슬롯 서버 (커스텀) -✅ 8슬롯 서버 (커스텀) -✅ 10슬롯 서버 (프리셋) -✅ 12슬롯 서버 (커스텀) -✅ 100슬롯 서버 (커스텀) -✅ 모든 개수, 모든 조합 가능! -``` - -**진정한 완전 자유 편집 시스템 완성!** 🚀 - -사용자가 원하는 **어떤 슬롯 구성**이든 완벽하게 지원합니다! diff --git a/.gemini/artifacts/guid_slot_multiple_counts.md b/.gemini/artifacts/guid_slot_multiple_counts.md deleted file mode 100644 index 3e2b973..0000000 --- a/.gemini/artifacts/guid_slot_multiple_counts.md +++ /dev/null @@ -1,330 +0,0 @@ -# GUID 슬롯 우선순위 - 다양한 슬롯 개수 지원 (최종 업데이트) - -## 📋 업데이트 내용 - -슬롯 개수가 2개, 4개, 10개 등 다양한 서버 모델에 대응할 수 있도록 **슬롯 개수 선택 기능**을 추가했습니다. - -## ✨ 새로운 기능 - -### 1. **슬롯 개수 프리셋 선택** -모달창에서 서버 모델에 맞는 슬롯 개수를 선택할 수 있습니다: - -- **2 슬롯**: 38, 37 (2슬롯 서버 모델) -- **4 슬롯**: 38, 37, 32, 34 (4슬롯 서버 모델) -- **10 슬롯**: 31 ~ 40 전체 (10슬롯 서버 모델) - -### 2. **동적 슬롯 리스트** -- 선택한 개수만큼만 슬롯이 표시됨 -- 불필요한 슬롯 표시 제거로 혼란 방지 -- 각 프리셋별로 최적화된 기본 순서 제공 - -### 3. **로컬 스토리지 확장** -- 슬롯 **개수**와 **순서** 모두 저장 -- 다음 방문 시 마지막 설정 자동 복원 -- 프리셋 변경 시 해당 개수의 기본 순서로 초기화 - -## 🎨 UI 개선 사항 - -### 슬롯 개수 선택 버튼 -``` -┌─────────────────────────────────────────────┐ -│ [2 슬롯] [4 슬롯] [10 슬롯] ← 버튼 그룹 │ -│ 38, 37 38,37, 31 ~ 40 │ -│ 32,34 │ -└─────────────────────────────────────────────┘ -``` - -### 슬롯 순서 헤더 -``` -슬롯 순서 [2개] ← 현재 선택된 개수 표시 - [4개] - [10개] -``` - -## 📊 동작 예시 - -### 시나리오 1: 2슬롯 서버 - -``` -1. 모달 열기 - ↓ -2. "2 슬롯" 버튼 클릭 - ↓ -3. 슬롯 리스트에 Slot 38, 37만 표시 - ↓ -4. 드래그로 순서 변경 (예: 37, 38) - ↓ -5. 확인 버튼 클릭 - ↓ -6. txt 파일: - Slot.37: xxx - Slot.38: yyy - GUID: 0xXXX;0xYYY -``` - -### 시나리오 2: 4슬롯 서버 - -``` -1. 모달 열기 - ↓ -2. "4 슬롯" 버튼 클릭 - ↓ -3. 슬롯 리스트에 38, 37, 32, 34 표시 - ↓ -4. 원하는 순서로 드래그 (예: 32, 34, 37, 38) - ↓ -5. txt 파일: - Slot.32: aaa - Slot.34: bbb - Slot.37: ccc - Slot.38: ddd - GUID: 0xAAA;0xBBB;0xCCC;0xDDD -``` - -### 시나리오 3: 10슬롯 서버 (기본) - -``` -1. 모달 열기 (10슬롯이 기본 선택됨) - ↓ -2. 슬롯 31~40 모두 표시 - ↓ -3. 기본 순서: 38, 39, 37, 36, 32, 33, 34, 35, 31, 40 - ↓ -4. 드래그로 자유롭게 순서 조정 -``` - -## 🔧 기술 구현 - -### JavaScript - 슬롯 프리셋 - -```javascript -// 슬롯 개수별 기본 순서 프리셋 -const slotPresets = { - 2: ['38', '37'], - 4: ['38', '37', '32', '34'], - 10: ['38', '39', '37', '36', '32', '33', '34', '35', '31', '40'] -}; - -let currentSlotCount = 10; // 기본값 -let currentSlotOrder = [...slotPresets[10]]; -``` - -### 슬롯 개수 변경 이벤트 - -```javascript -document.querySelectorAll('input[name="slotCount"]').forEach(radio => { - radio.addEventListener('change', function() { - const newCount = parseInt(this.value); - if (newCount !== currentSlotCount) { - currentSlotCount = newCount; - // 해당 개수의 프리셋으로 초기화 - currentSlotOrder = [...slotPresets[currentSlotCount]]; - // UI 업데이트 - updateSlotCountBadge(); - renderSlotList(); - initSortable(); - saveSlotConfigToStorage(); - } - }); -}); -``` - -### 로컬 스토리지 저장/불러오기 - -```javascript -// 저장 -function saveSlotConfigToStorage() { - localStorage.setItem('guidSlotCount', currentSlotCount.toString()); - localStorage.setItem('guidSlotPriority', JSON.stringify(currentSlotOrder)); -} - -// 불러오기 -function loadSlotConfigFromStorage() { - const savedCount = localStorage.getItem('guidSlotCount'); - const savedOrder = localStorage.getItem('guidSlotPriority'); - - if (savedCount) { - currentSlotCount = parseInt(savedCount); - document.getElementById(`slotCount${currentSlotCount}`).checked = true; - } - - if (savedOrder) { - currentSlotOrder = JSON.parse(savedOrder); - } else { - // 저장된 순서 없으면 프리셋 사용 - currentSlotOrder = [...slotPresets[currentSlotCount]]; - } -} -``` - -## 🎯 백엔드 호환성 - -백엔드 스크립트들은 이미 유연하게 구현되어 있습니다: - -### PortGUID_v1.py - -```python -# 환경변수에서 슬롯 우선순위 읽기 -slot_priority_str = os.getenv("GUID_SLOT_PRIORITY", "") - -if slot_priority_str: - # 사용자 지정 순서 (2개든 4개든 10개든 모두 처리) - desired_order = [s.strip() for s in slot_priority_str.split(",")] -else: - # 기본값 (슬롯 개수에 따라 자동 결정) - total_slots = len(slots_in_match_order) - if total_slots == 4: - desired_order = ['38', '37', '32', '34'] - elif total_slots == 10: - desired_order = ['38', '39', '37', '36', '32', '33', '34', '35', '31', '40'] - else: - desired_order = slots_in_match_order - -# 존재하는 슬롯만 처리 -for s in desired_order: - guid = slot_to_guid.get(s, "Not Found") - if guid != "Not Found": # 존재하는 슬롯만 - f.write(f"Slot.{s}: {guid}\n") - hex_guid_list.append(f"0x{guid.replace(':', '').upper()}") -``` - -### GUIDtxtT0Execl.py - -```python -# 슬롯 우선순위에 따라 데이터 재정렬 -for slot_num in SLOT_PRIORITY: - slot_key = f"Slot.{slot_num}" - if slot_key in parsed_data: # txt 파일에 존재하는 슬롯만 - reordered_data[slot_key] = parsed_data[slot_key] -``` - -## 💡 핵심 특징 - -### 1. **유연성** -- 2슬롯, 4슬롯, 10슬롯 모두 지원 -- 커스텀 슬롯 개수도 확장 가능 -- 존재하지 않는 슬롯은 자동으로 스킵 - -### 2. **사용자 편의성** -- 한 번에 한 가지 프리셋만 선택 -- 프리셋 변경 시 즉시 UI 업데이트 -- 기본값 복원 시 현재 프리셋의 기본 순서로 복원 - -### 3. **일관성** -- 모든 GUID 관련 작업에서 동일한 슬롯 개수/순서 적용 -- 로컬 스토리지로 설정 유지 -- 환경변수로 백엔드까지 일관되게 전달 - -### 4. **확장성** -- 새로운 프리셋 추가 용이 - ```javascript - const slotPresets = { - 2: ['38', '37'], - 4: ['38', '37', '32', '34'], - 6: ['38', '39', '37', '36', '32', '34'], // 새로운 프리셋 추가 - 10: ['38', '39', '37', '36', '32', '33', '34', '35', '31', '40'] - }; - ``` - -## ⚠️ 주의사항 - -### 1. **프리셋 변경 시** -- 기존에 드래그로 조정한 순서는 **초기화**됩니다 -- 프리셋의 기본 순서로 리셋됨 -- 필요시 다시 드래그로 조정 가능 - -### 2. **슬롯 번호 제한** -- 현재는 31~40 범위 내의 슬롯만 지원 -- 다른 범위 슬롯 필요 시 프리셋 추가 필요 - -### 3. **하위 호환성** -- 환경변수가 없으면 스크립트가 자동으로 슬롯 개수 감지 -- 기존 txt 파일도 정상 처리됨 - -## 🚀 향후 개선 방안 - -### 1. **커스텀 슬롯 입력** -- 프리셋 외에 직접 슬롯 번호 입력 가능 -- 예: "32, 33, 38, 39" 입력 - -### 2. **자동 감지** -- 업로드된 txt 파일에서 실제 존재하는 슬롯 자동 감지 -- 감지된 슬롯만 모달에 표시 - -### 3. **프리셋 관리** -- 사용자 정의 프리셋 저장 -- 프로젝트별/서버별 프리셋 관리 - -### 4. **일괄 적용** -- 여러 서버에 동일한 설정 적용 -- 프리셋 템플릿 공유 기능 - -## 📝 사용 예시 - -### 예제 1: 2슬롯 서버 (간단한 구성) - -``` -모달에서 "2 슬롯" 선택 -순서: 38 → 37 (기본값 유지) - -결과 txt 파일: -ABC1234 -Slot.38: 00:11:22:33:44:55:66:77 -Slot.37: 11:22:33:44:55:66:77:88 -GUID: 0x0011223344556677;0x1122334455667788 -``` - -### 예제 2: 4슬롯 서버 + 순서 커스터마이징 - -``` -모달에서 "4 슬롯" 선택 -순서 변경: 32, 34, 37, 38 (드래그로 조정) - -결과 txt 파일: -ABC1234 -Slot.32: AA:BB:CC:DD:EE:FF:00:11 -Slot.34: BB:CC:DD:EE:FF:00:11:22 -Slot.37: CC:DD:EE:FF:00:11:22:33 -Slot.38: DD:EE:FF:00:11:22:33:44 -GUID: 0xAABBCCDDEEFF0011;0xBBCCDDEEFF001122;0xCCDDEEFF00112233;0xDDEEFF0011223344 -``` - -### 예제 3: 10슬롯 서버 (역순 정렬) - -``` -모달에서 "10 슬롯" 선택 (기본값) -순서 변경: 40, 31, 35, 34, 33, 32, 36, 37, 39, 38 - -결과: 지정한 순서대로 txt 파일 생성 -``` - -## ✅ 테스트 체크리스트 - -- [x] 2슬롯 프리셋 선택 및 표시 -- [x] 4슬롯 프리셋 선택 및 표시 -- [x] 10슬롯 프리셋 선택 및 표시 (기본) -- [x] 프리셋 변경 시 슬롯 리스트 업데이트 -- [x] 슬롯 개수 배지 동적 업데이트 -- [x] 드래그 앤 드롭 정상 동작 -- [x] 로컬 스토리지에 개수+순서 저장 -- [x] 페이지 새로고침 후 설정 복원 -- [x] 기본값 복원 버튼 (현재 프리셋 기준) -- [x] 백엔드 환경변수 전달 -- [x] txt 파일 순서 적용 -- [x] 엑셀 컬럼 순서 적용 -- [x] GUID 합치기 순서 적용 - -## 🎉 결과 - -이제 **모든 슬롯 개수의 서버**에 대응할 수 있습니다! - -``` -2슬롯 서버 → "2 슬롯" 선택 → 38, 37만 표시 ✅ -4슬롯 서버 → "4 슬롯" 선택 → 38, 37, 32, 34 표시 ✅ -10슬롯 서버 → "10 슬롯" 선택 → 31~40 모두 표시 ✅ -``` - -각 프리셋별로 최적화된 기본 순서가 제공되며, -사용자는 드래그로 자유롭게 순서를 조정할 수 있습니다! - -**완벽한 유연성과 확장성을 갖춘 GUID 슬롯 관리 시스템 완성!** 🚀 diff --git a/.gemini/artifacts/guid_slot_priority_final.md b/.gemini/artifacts/guid_slot_priority_final.md deleted file mode 100644 index 484d715..0000000 --- a/.gemini/artifacts/guid_slot_priority_final.md +++ /dev/null @@ -1,341 +0,0 @@ -# GUID 슬롯 우선순위 및 GUID 합치기 기능 구현 (최종 버전) - -## 📋 개요 - -GUID to Excel 버튼 클릭 시 슬롯 우선순위(Slot 31~40)를 사용자가 직접 지정할 수 있는 모달창을 추가하고, **GUID 값을 합치는 순서도 동일하게 적용**되도록 전체 시스템을 통합 구현했습니다. - -## ✨ 구현된 핵심 기능 - -### 1. **슬롯 우선순위 설정 모달** -- GUID to Excel 버튼 클릭 → 모달창 표시 -- Slot 31~40의 우선순위를 **드래그 앤 드롭**으로 변경 -- **로컬 스토리지**에 자동 저장 → 다음 방문 시에도 유지 -- 기본값 복원 버튼으로 초기 순서로 즉시 리셋 - -### 2. **GUID 합치기 순서 적용** -- 사용자가 지정한 슬롯 순서대로 GUID 값을 세미콜론(;)으로 연결 -- **txt 파일 생성 시**: `PortGUID.py`, `PortGUID_v1.py` 스크립트에서 순서 적용 -- **엑셀 변환 시**: `GUIDtxtT0Execl.py` 스크립트에서 컬럼 순서 적용 -- **예시**: `GUID: 0x12345678;0x23456789;0x34567890` (지정된 슬롯 순서대로) - -### 3. **환경변수 기반 통합** -- 모든 GUID 관련 스크립트가 **GUID_SLOT_PRIORITY** 환경변수를 읽음 -- 모달에서 설정한 순서가 모든 처리 과정에 일관되게 적용 -- 환경변수가 없으면 기본 순서 사용 (하위 호환성 보장) - -### 4. **로컬 스토리지 활용** -- 사용자가 설정한 슬롯 순서를 브라우저에 저장 -- 페이지 새로고침 후에도 설정 유지 -- 다른 작업 시에도 동일한 순서 자동 적용 - -## 🔧 구현 세부사항 - -### Frontend 변경사항 - -#### **index.html - 모달 UI** - -```html - -``` - -#### **JavaScript - 로컬 스토리지 연동** - -```javascript -// 로컬 스토리지에 저장 -function saveSlotOrderToStorage() { - localStorage.setItem('guidSlotPriority', JSON.stringify(currentSlotOrder)); -} - -// 로컬 스토리지에서 불러오기 -function loadSlotOrderFromStorage() { - const saved = localStorage.getItem('guidSlotPriority'); - if (saved) { - currentSlotOrder = JSON.parse(saved); - } -} - -// 페이지 로드 시 자동 불러오기 -loadSlotOrderFromStorage(); - -// 드래그 종료 시 자동 저장 -sortable.onEnd = function() { - saveSlotOrderToStorage(); -}; -``` - -### Backend 변경사항 - -#### **utilities.py - 환경변수 전달** - -```python -@utils_bp.route("/update_guid_list", methods=["POST"]) -def update_guid_list(): - slot_priority = request.form.get("slot_priority", "") - - env = os.environ.copy() - if slot_priority: - env["GUID_SLOT_PRIORITY"] = slot_priority - logging.info(f"GUID 슬롯 우선순위: {slot_priority}") - - subprocess.run( - [sys.executable, "GUIDtxtT0Execl.py"], - env=env # 환경변수로 슬롯 순서 전달 - ) -``` - -#### **GUIDtxtT0Execl.py - 엑셀 컬럼 정렬** - -```python -# 환경변수에서 슬롯 우선순위 읽기 -slot_priority_str = os.getenv("GUID_SLOT_PRIORITY", "") -if slot_priority_str: - SLOT_PRIORITY = [s.strip() for s in slot_priority_str.split(",")] -else: - SLOT_PRIORITY = ['38', '39', '37', '36', '32', '33', '34', '35', '31', '40'] - -# 슬롯 우선순위에 따라 데이터 재정렬 -reordered_data = OrderedDict() -reordered_data["S/T"] = parsed_data.get("S/T", "") - -for slot_num in SLOT_PRIORITY: - slot_key = f"Slot.{slot_num}" - if slot_key in parsed_data: - reordered_data[slot_key] = parsed_data[slot_key] - -# GUID 필드도 순서 유지 -if "GUID" in parsed_data: - reordered_data["GUID"] = parsed_data["GUID"] -``` - -#### **PortGUID_v1.py - GUID 수집 및 합치기** - -```python -# 환경변수에서 슬롯 우선순위 읽기 -slot_priority_str = os.getenv("GUID_SLOT_PRIORITY", "") - -if slot_priority_str: - desired_order = [s.strip() for s in slot_priority_str.split(",")] - logging.info(f"사용자 지정 슬롯 우선순위 사용: {desired_order}") -else: - # 기본 우선순위 (슬롯 개수에 따라) - total_slots = len(slots_in_match_order) - if total_slots == 4: - desired_order = ['38', '37', '32', '34'] - elif total_slots == 10: - desired_order = ['38', '39', '37', '36', '32', '33', '34', '35', '31', '40'] - -# 지정된 순서대로 GUID 합치기 -hex_guid_list = [] -for s in desired_order: - guid = slot_to_guid.get(s, "Not Found") - f.write(f"Slot.{s}: {guid}\n") - if guid != "Not Found": - hex_guid_list.append(f"0x{guid.replace(':', '').upper()}") - -if hex_guid_list: - # GUID: 0xAAA;0xBBB;0xCCC 형식으로 저장 - f.write(f"GUID: {';'.join(hex_guid_list)}\n") -``` - -#### **PortGUID.py - 동일 로직 적용** - -```python -# 슬롯별 GUID를 딕셔너리로 수집 -slot_to_guid = {} -for number, slot in matches: - port_guid = fetch_port_guid(...) - slot_to_guid[slot] = port_guid - -# 환경변수에서 슬롯 우선순위 읽기 -slot_priority_str = os.getenv("GUID_SLOT_PRIORITY", "") -if slot_priority_str: - desired_order = [s.strip() for s in slot_priority_str.split(",")] -else: - desired_order = slots_found # 발견된 순서 - -# 지정된 순서대로 GUID 합치기 -hex_guid_list = [] -for slot in desired_order: - port_guid = slot_to_guid.get(slot, "Not Found") - f.write(f"Slot.{slot}: {port_guid}\n") - if port_guid != "Not Found": - hex_guid_list.append(f"0x{port_guid.replace(':', '').upper()}") - -f.write(f"GUID: {';'.join(hex_guid_list)}\n") -``` - -## 📊 전체 동작 흐름 - -### 시나리오 1: 엑셀 생성 (모달 사용) - -``` -1. 서버 리스트 입력 - ↓ -2. "GUID to Excel" 버튼 클릭 - ↓ -3. 모달창 표시 (저장된 순서 or 기본 순서) - ↓ -4. 드래그 앤 드롭으로 순서 변경 - ↓ -5. "확인 및 엑셀 생성" 클릭 - ↓ -6. 슬롯 순서 → 로컬 스토리지 저장 - ↓ -7. 슬롯 순서 → 환경변수로 백엔드 전달 - ↓ -8. GUIDtxtT0Execl.py 실행 - ↓ -9. 지정된 순서대로 엑셀 컬럼 정렬 ✅ - ↓ -10. GUID 필드도 동일한 순서로 합쳐짐 ✅ -``` - -### 시나리오 2: IP 처리 (GUID 수집) - -``` -1. IP 주소 입력 + GUID 스크립트 선택 - ↓ -2. "처리 시작" 버튼 클릭 - ↓ -3. 로컬 스토리지에서 슬롯 순서 읽기 - ↓ -4. 환경변수로 슬롯 순서 전달 (선택사항) - ↓ -5. PortGUID.py / PortGUID_v1.py 실행 - ↓ -6. 슬롯 GUID 수집 - ↓ -7. 지정된 순서대로 txt 파일에 저장 ✅ - ↓ -8. GUID 합치기도 동일한 순서 적용 ✅ -``` - -## 🎯 txt 파일 출력 예시 - -**사용자 지정 순서: 40, 39, 38, 37, 36, 35, 34, 33, 32, 31** - -```txt -ABC1234 -Slot.40: 00:11:22:33:44:55:66:77 -Slot.39: 11:22:33:44:55:66:77:88 -Slot.38: 22:33:44:55:66:77:88:99 -Slot.37: 33:44:55:66:77:88:99:AA -Slot.36: 44:55:66:77:88:99:AA:BB -Slot.35: 55:66:77:88:99:AA:BB:CC -Slot.34: 66:77:88:99:AA:BB:CC:DD -Slot.33: 77:88:99:AA:BB:CC:DD:EE -Slot.32: 88:99:AA:BB:CC:DD:EE:FF -Slot.31: 99:AA:BB:CC:DD:EE:FF:00 -GUID: 0x0011223344556677;0x1122334455667788;0x2233445566778899;... -``` - -## 💡 핵심 기능 - -### 1. **일관성 보장** -- 모든 GUID 관련 작업에서 동일한 슬롯 순서 적용 -- txt 파일 생성 → 엑셀 변환까지 순서 유지 - -### 2. **사용자 편의성** -- 한 번 설정하면 계속 유지 (로컬 스토리지) -- 드래그 앤 드롭으로 직관적인 순서 변경 -- 기본값 복원 버튼으로 쉬운 리셋 - -### 3. **유연성** -- 환경변수 없으면 기본 순서 사용 (하위 호환) -- 슬롯 개수(4개/10개)에 따라 자동 대응 -- 모든 GUID 스크립트에서 일관되게 동작 - -### 4. **확장성** -- 새로운 GUID 스크립트 추가 시 환경변수만 읽으면 됨 -- 프리셋 기능 추가 가능 (향후) -- API 엔드포인트로 확장 가능 - -## 🔍 기술적 특징 - -### Frontend -- **SortableJS**: 드래그 앤 드롭 UI -- **LocalStorage**: 브라우저 저장소 활용 -- **Bootstrap Modal**: 모달 UI -- **JavaScript**: 순서 관리 및 전송 - -### Backend -- **환경변수**: 프로세스 간 데이터 전달 -- **subprocess**: 스크립트 실행 시 env 전달 -- **Flask**: 라우팅 및 폼 처리 - -### 데이터 -- **OrderedDict**: Python에서 순서 유지 -- **Pandas**: 엑셀 생성 시 컬럼 순서 적용 - -## ⚠️ 주의사항 - -1. **환경변수 우선순위**: - - 환경변수 있음 → 사용자 지정 순서 적용 - - 환경변수 없음 → 기본 순서 또는 발견된 순서 - -2. **로컬 스토리지 제한**: - - 브라우저별로 독립적 (Chrome/Edge 간 공유 안 됨) - - 브라우저 캐시 삭제 시 초기화 - -3. **스크립트 호환성**: - - `PortGUID.py`, `PortGUID_v1.py` 모두 지원 - - 다른 GUID 스크립트 추가 시 환경변수 읽기 로직 필요 - -## 🚀 향후 개선 방안 - -1. **서버 저장**: 로컬 스토리지 대신 DB에 저장하여 여러 브라우저에서 공유 -2. **프리셋 기능**: 자주 사용하는 순서를 프리셋으로 저장 -3. **자동 감지**: txt 파일에서 실제 존재하는 슬롯만 표시 -4. **일괄 적용**: IP 처리 시에도 모달에서 순서 설정 가능 -5. **검증 강화**: 슬롯 번호 유효성 검사 및 중복 체크 - -## 📝 관련 파일 - -### Frontend -- `backend/templates/index.html` - 모달 UI 및 JavaScript - -### Backend -- `backend/routes/utilities.py` - 환경변수 전달 -- `backend/routes/main.py` - IP 처리 라우트 - -### Scripts -- `data/scripts/PortGUID.py` - GUID 수집 (기본) -- `data/scripts/PortGUID_v1.py` - GUID 수집 (v1) -- `data/server_list/GUIDtxtT0Execl.py` - 엑셀 변환 - -## ✅ 테스트 완료 - -- [x] 모달창 정상 표시 -- [x] 드래그 앤 드롭 동작 -- [x] 로컬 스토리지 저장/불러오기 -- [x] 기본값 복원 버튼 -- [x] 슬롯 순서 백엔드 전달 -- [x] 환경변수 읽기 (모든 스크립트) -- [x] txt 파일 슬롯 순서 적용 -- [x] GUID 합치기 순서 적용 -- [x] 엑셀 컬럼 순서 적용 -- [x] 기본 순서 동작 (환경변수 없을 때) - -## 🎉 결과 - -이제 GUID 관련 모든 작업에서 **슬롯 우선순위와 GUID 합치는 순서가 완벽하게 통합**되어 동작합니다! - -사용자가 모달에서 한 번 설정하면: -1. ✅ 로컬 스토리지에 저장되어 다음에도 유지 -2. ✅ txt 파일 생성 시 해당 순서로 저장 -3. ✅ GUID 합치기도 동일한 순서 적용 -4. ✅ 엑셀 변환 시 컬럼 순서도 일치 - -**완벽한 일관성과 사용자 편의성을 모두 확보했습니다!** 🚀 diff --git a/.gemini/artifacts/guid_slot_priority_task.md b/.gemini/artifacts/guid_slot_priority_task.md deleted file mode 100644 index 8f6e312..0000000 --- a/.gemini/artifacts/guid_slot_priority_task.md +++ /dev/null @@ -1,146 +0,0 @@ -# GUID 엑셀 변환 시 슬롯 우선순위 설정 기능 구현 - -## 📋 개요 - -GUID to Excel 버튼 클릭 시 슬롯 우선순위(slot 31~40)를 사용자가 직접 지정할 수 있는 모달창을 추가하여, 지정된 순서대로 엑셀 파일에 저장되도록 기능을 구현했습니다. - -## ✨ 주요 기능 - -### 1. **모달창 기반 UI** -- GUID to Excel 버튼 클릭 시 모달창 표시 -- Slot 31~40의 우선순위를 드래그 앤 드롭으로 변경 가능 -- 기본값 복원 버튼으로 초기 순서로 리셋 가능 - -### 2. **드래그 앤 드롭 인터페이스** -- **SortableJS** 라이브러리 사용 -- 직관적인 슬롯 순서 조정 -- 실시간으로 순위 번호 업데이트 - -### 3. **백엔드 처리** -- 사용자가 지정한 슬롯 순서를 환경변수로 전달 -- `GUIDtxtT0Execl.py` 스크립트에서 슬롯 우선순위를 읽어서 처리 -- 지정된 순서대로 엑셀 컬럼 정렬 - -## 🔧 구현 세부사항 - -### Frontend 변경사항 - -#### **index.html** - -**모달창 추가:** -```html - -``` - -**JavaScript 로직:** -- `SortableJS` 라이브러리를 사용하여 드래그 앤 드롭 구현 -- 기본 슬롯 순서: `['38', '39', '37', '36', '32', '33', '34', '35', '31', '40']` -- 폼 제출 시 슬롯 순서를 콤마로 구분된 문자열로 전달 - -### Backend 변경사항 - -#### **utilities.py** - -```python -@utils_bp.route("/update_guid_list", methods=["POST"]) -def update_guid_list(): - slot_priority = request.form.get("slot_priority", "") - - # 환경변수로 슬롯 우선순위 전달 - env = os.environ.copy() - if slot_priority: - env["GUID_SLOT_PRIORITY"] = slot_priority - - result = subprocess.run( - [sys.executable, "GUIDtxtT0Execl.py"], - env=env, # 환경변수 전달 - ... - ) -``` - -#### **GUIDtxtT0Execl.py** - -```python -# 환경변수에서 슬롯 우선순위 읽기 -slot_priority_str = os.getenv("GUID_SLOT_PRIORITY", "") -if slot_priority_str: - SLOT_PRIORITY = [s.strip() for s in slot_priority_str.split(",")] -else: - # 기본 우선순위 - SLOT_PRIORITY = ['38', '39', '37', '36', '32', '33', '34', '35', '31', '40'] - -# 데이터 재정렬 -for slot_num in SLOT_PRIORITY: - slot_key = f"Slot.{slot_num}" - if slot_key in parsed_data: - reordered_data[slot_key] = parsed_data[slot_key] -``` - -## 📊 사용 흐름 - -1. **서버 리스트 입력**: 텍스트 영역에 서버 목록 입력 -2. **GUID to Excel 버튼 클릭**: 모달창 표시 -3. **슬롯 우선순위 설정**: 드래그 앤 드롭으로 순서 변경 -4. **확인 버튼 클릭**: 설정된 순서로 엑셀 생성 -5. **결과 확인**: 지정된 슬롯 순서대로 엑셀에 저장됨 - -## 🎨 UI 특징 - -- **직관적인 디자인**: 순위 번호가 원형 배지로 표시 -- **시각적 피드백**: 드래그 시 반투명 효과 및 하이라이트 -- **기본값 복원**: 한 번의 클릭으로 초기 순서로 리셋 -- **반응형**: 모달창 크기 조정 가능 - -## 🔍 기술 스택 - -- **Frontend**: - - Bootstrap 5 (모달, 스타일링) - - SortableJS 1.15.0 (드래그 앤 드롭) - - Vanilla JavaScript (로직 처리) - -- **Backend**: - - Flask (라우팅) - - Python subprocess (스크립트 실행) - - 환경변수 (슬롯 순서 전달) - -- **데이터 처리**: - - Pandas (엑셀 생성) - - OrderedDict (순서 유지) - -## ⚠️ 주의사항 - -1. **서버 리스트 필수**: 모달 열기 전에 서버 리스트를 입력해야 함 -2. **슬롯 개수**: 현재는 10개 슬롯(31~40) 기준으로 구현 -3. **호환성**: 기존 *.txt 파일 형식과 호환됨 - -## 🚀 향후 개선 방안 - -1. **동적 슬롯 개수**: txt 파일에서 실제 존재하는 슬롯만 표시 -2. **프리셋 저장**: 자주 사용하는 슬롯 순서를 프리셋으로 저장 -3. **일괄 적용**: 여러 서버에 동일한 슬롯 순서 적용 -4. **검증 강화**: 슬롯 번호 유효성 검사 추가 - -## ✅ 테스트 시나리오 - -1. ✓ 모달창 정상 표시 -2. ✓ 드래그 앤 드롭 동작 확인 -3. ✓ 기본값 복원 버튼 동작 -4. ✓ 슬롯 순서가 백엔드로 정상 전달 -5. ✓ 엑셀 파일에 순서대로 저장 -6. ✓ 환경변수 전달 확인 -7. ✓ 기본 순서 동작 (슬롯 우선순위 미지정 시) - -## 📝 관련 파일 - -- `backend/templates/index.html` - 모달 UI 및 JavaScript -- `backend/routes/utilities.py` - 백엔드 라우트 처리 -- `data/server_list/GUIDtxtT0Execl.py` - 엑셀 생성 로직 diff --git a/.gemini/artifacts/guid_slot_simplified.md b/.gemini/artifacts/guid_slot_simplified.md deleted file mode 100644 index 2bcbd56..0000000 --- a/.gemini/artifacts/guid_slot_simplified.md +++ /dev/null @@ -1,241 +0,0 @@ -# 슬롯 설정 완전 단순화 (최종) - -## 🎉 드래그 앤 드롭 제거! - -복잡한 드래그 앤 드롭 대신 **텍스트 입력만**으로 슬롯을 설정할 수 있게 완전히 단순화했습니다! - -## ✨ 새로운 간단한 방식 - -### 1문. **텍스트 입력 필드** -``` -┌─────────────────────────────────────┐ -│ 슬롯 번호: [3개] │ -│ ┌─────────────────────────────────┐ │ -│ │ 38, 39, 37 │ │ -│ └─────────────────────────────────┘ │ -│ 💡 팁: 위에서부터 순서대로 우선순위 │ -└─────────────────────────────────────┘ -``` - -### 2. **빠른 프리셋 버튼** -``` -[2슬롯] [4슬롯] [10슬롯] -``` -클릭하면 자동으로 입력 필드 채워짐! - -### 3. **실시간 미리보기** -``` -┌─────────────────────────────────────┐ -│ 미리보기: │ -│ [1] Slot 38 [2] Slot 39 [3] Slot 37│ -│ 💡 순서: 38 → 39 → 37 │ -└─────────────────────────────────────┘ -``` - -## 🚀 사용 방법 - -### 방법 1: 빠른 프리셋 사용 -``` -1. [2슬롯] 또는 [4슬롯] 또는 [10슬롯] 클릭 - ↓ -2. 입력 필드에 자동으로 슬롯 번호 채워짐 - ↓ -3. 필요하면 직접 수정 - ↓ -4. [확인] 클릭 -``` - -### 방법 2: 직접 입력 -``` -1. 입력 필드에 슬롯 번호 입력 - 예: 38, 39, 37 - -2. 실시간 미리보기 확인 - -3. 순서 변경하고 싶으면 입력 필드에서 직접 수정 - 예: 37, 38, 39 (순서 변경) - -4. [확인] 클릭 -``` - -## 💡 입력 예시 - -### 1슬롯 -``` -38 -``` - -### 2슬롯 -``` -38, 37 -또는 -38 -37 -``` - -### 4슬롯 -``` -32, 34, 38, 39 -``` - -### 10슬롯 -``` -38, 39, 37, 36, 32, 33, 34, 35, 31, 40 - -또는 여러 줄로: -38 -39 -37 -36 -... -``` - -### 순서 변경 -``` -처음: 38, 37, 32 -변경: 32, 38, 37 ← 입력 필드에서 직접 수정! -``` - -## ⚡ 핵심 장점 - -### 1. **초간단** -- 드래그 필요 없음 -- 그냥 타이핑하면 끝! -- 복사 & 붙여넣기 가능 - -### 2. **명확한 순서** -- 위에서 아래로 = 우선순위 -- 눈으로 바로 확인 -- 수정도 바로 가능 - -### 3. **실시간 미리보기** -- 입력하면 즉시 미리보기 -- 개수 자동 표시 -- 순서 화살표로 표시 - -### 4. **자동 저장** -- 로컬 스토리지에 자동 저장 -- 다음에 모달 열면 이전 설정 그대로 -- 별도 저장 버튼 필요 없음 - -### 5. **유연한 입력** -- 콤마로 구분: `38, 39, 37` -- 줄바꿈으로 구분: `38\n39\n37` -- 공백도 OK: `38 39 37` -- 중복 자동 제거 -- 숫자 아닌 것 자동 무시 - -## 🔧 기술적 개선 - -### 파싱 로직 -```javascript -function parseSlots(input) { - return input.split(/[,\s\n]+/) // 콤마, 공백, 줄바꿈 모두 허용 - .map(s => s.trim()) - .filter(s => s !== '') - .filter(s => /^\d+$/.test(s)) // 숫자만 - .filter((v, i, a) => a.indexOf(v) === i); // 중복 제거 -} -``` - -### 실시간 업데이트 -```javascript -slotNumbersInput.addEventListener('input', updatePreview); -``` -타이핑하자마자 미리보기 업데이트! - -### 자동 저장 -```javascript -function saveToStorage() { - localStorage.setItem('guidSlotNumbers', slotNumbersInput.value); -} -``` - -## 📊 비교 - -### 이전 (복잡) -``` -❌ 드래그 앤 드롭 필요 -❌ 그립 아이콘 찾아야 함 -❌ 손 모양 커서 안 나타남 -❌ 순서 변경 어려움 -❌ 모바일에서 불편 -``` - -### 현재 (간단) -``` -✅ 텍스트만 입력 -✅ 복사 & 붙여넣기 -✅ 순서는 그냥 타이핑 순서 -✅ 실시간 미리보기 -✅ 모바일에서도 편함 -✅ Excel에서 복사 가능 -``` - -## 🎯 실제 사용 시나리오 - -### 시나리오 1: 4슬롯 서버 설정 -``` -1. 모달 열기 -2. 입력: 32, 34, 38, 39 -3. 미리보기 확인: [1]Slot 32 [2]Sl34 [3]Slot 38 [4]Slot 39 -4. [확인] 클릭 -완료! -``` - -### 시나리오 2: 순서 변경 -``` -1. 현재: 38, 39, 37 -2. 입력 필드에서 직접 수정: 37, 38, 39 -3. 미리보기: [1]Slot 37 [2]Slot 38 [3]Slot 39 -4. [확인] 클릭 -완료! -``` - -### 시나리오 3: Excel에서 복사 -``` -1. Excel에 슬롯 목록 있음: - 38 - 39 - 37 - 36 - -2. 복사 (Ctrl+C) - -3. 모달 입력 필드에 붙여넣기 (Ctrl+V) - -4. 자동 파싱: 38, 39, 37, 36 - -완료! -``` - -## ✅ 완료 체크리스트 - -- [x] 드래그 앤 드롭 제거 -- [x] 텍스트 입력 필드 추가 -- [x] 빠른 프리셋 버튼 (2, 4, 10슬롯) -- [x] 실시간 미리보기 -- [x] 개수 자동 표시 -- [x] 순서 화살표 표시 -- [x] 로컬 스토리지 자동 저장 -- [x] 입력 검증 (숫자만, 중복 제거) -- [x] 여러 구분자 지원 (콤마, 공백, 줄바꿈) -- [x] 빈 슬롯 검증 - -## 🎉 최종 결과 - -이제 **완전히 직관적**입니다! - -``` -입력 필드에 슬롯 번호 입력 - ↓ -실시간 미리보기 확인 - ↓ -[확인] 클릭 - ↓ - 완료! ✅ -``` - -**드래그 걱정 없이, 텍스트만 입력하면 끝!** 🚀 - -훨씬 간단하고 확실하고 빠릅니다! diff --git a/README.md b/README.md deleted file mode 100644 index 90dc727..0000000 --- a/README.md +++ /dev/null @@ -1,915 +0,0 @@ -# iDRAC Info Manager - -Dell iDRAC 서버 관리 및 펌웨어 업데이트 자동화를 위한 Flask 기반 웹 애플리케이션 - -## 📋 목차 - -- [소개](#소개) -- [주요 기능](#주요-기능) -- [기술 스택](#기술-스택) -- [시스템 아키텍처](#시스템-아키텍처) -- [시작하기](#시작하기) -- [프로젝트 구조](#프로젝트-구조) -- [사용법](#사용법) -- [고급 기능](#고급-기능) -- [Git 사용법](#git-사용법) -- [문제 해결](#문제-해결) -- [라이선스](#라이선스) - -## 📖 소개 - -**iDRAC Info Manager**는 Dell iDRAC(Integrated Dell Remote Access Controller) 서버를 효율적으로 관리하고 펌웨어 업데이트를 자동화하기 위한 웹 기반 도구입니다. - -이 애플리케이션은 다음과 같은 시나리오에서 유용합니다: -- 여러 대의 Dell 서버를 동시에 관리해야 할 때 -- 펌웨어 카탈로그를 주기적으로 업데이트하고 관리해야 할 때 -- iDRAC 설정을 XML 파일로 관리하고 배포해야 할 때 -- 서버 하드웨어 정보(MAC, GUID, GPU 등)를 수집하고 관리해야 할 때 -- Telegram을 통해 서버 관리 알림을 받고 싶을 때 - -## ✨ 주요 기능 - -### 🖥️ iDRAC 서버 관리 -- **Redfish API 통합**: Dell Redfish API를 통한 서버 정보 조회 및 제어 -- **다중 IP 처리**: 여러 서버에 대한 일괄 작업 실행 -- **실시간 모니터링**: SocketIO를 통한 실시간 작업 진행 상황 확인 -- **작업 큐 관리**: 백그라운드 작업 스케줄링 및 상태 추적 - -### 📦 펌웨어 관리 -- **Dell 카탈로그 동기화**: Dell 공식 펌웨어 카탈로그 자동 다운로드 및 파싱 -- **DRM 통합**: Dell Repository Manager(DRM) XML 파일 지원 -- **펌웨어 버전 추적**: 서버별 펌웨어 버전 비교 및 업데이트 필요 여부 확인 -- **카탈로그 관리**: 여러 펌웨어 카탈로그 버전 관리 및 전환 - -### 📄 XML 설정 관리 -- **XML 파일 업로드**: iDRAC 설정 XML 파일 업로드 및 저장 -- **설정 편집**: 웹 인터페이스를 통한 XML 설정 편집 -- **SCP 파일 관리**: Server Configuration Profile 파일 관리 -- **자동 백업**: 파일 변경 시 자동 백업 생성 - -### 📊 데이터 수집 및 변환 -- **MAC 주소 수집**: 서버 네트워크 인터페이스 MAC 주소 수집 -- **GUID 추출**: 서버 GUID 정보 추출 및 관리 -- **GPU 시리얼 수집**: GPU 하드웨어 시리얼 번호 수집 -- **Excel 변환**: 수집된 데이터를 Excel 파일로 자동 변환 -- **서버 리스트 관리**: 서버 목록 관리 및 매핑 - -### 👥 사용자 관리 -- **인증 시스템**: Flask-Login 기반 보안 인증 -- **사용자 승인 워크플로우**: 신규 사용자 등록 시 관리자 승인 필요 -- **Telegram 승인**: Telegram 봇을 통한 사용자 승인/거부 -- **비밀번호 암호화**: Argon2 해싱을 통한 안전한 비밀번호 저장 -- **세션 관리**: 자동 로그아웃 및 세션 타임아웃 - -### 📱 Telegram 봇 통합 -- **실시간 알림**: 로그인, 회원가입, 작업 완료 알림 -- **인터랙티브 승인**: 인라인 버튼을 통한 사용자 승인/거부 -- **봇 폴링 서비스**: 백그라운드 스레드에서 실행되는 봇 서비스 -- **중복 실행 방지**: 봇 인스턴스 중복 실행 방지 메커니즘 - -### 🔍 실시간 파일 모니터링 -- **Watchdog 통합**: 파일 시스템 변경 실시간 감지 -- **자동 UI 업데이트**: 파일 변경 시 웹 인터페이스 자동 갱신 -- **이벤트 로깅**: 파일 생성, 수정, 삭제 이벤트 로깅 - -## 🛠 기술 스택 - -### Backend Framework -- **Flask 3.1.2**: 경량 웹 프레임워크 -- **Flask-SocketIO 5.5.1**: 실시간 양방향 통신 -- **Flask-Login 0.6.3**: 사용자 인증 및 세션 관리 -- **Flask-Migrate 4.1.0**: 데이터베이스 마이그레이션 -- **Flask-WTF 1.2.2**: 폼 처리 및 CSRF 보호 - -### Database -- **SQLAlchemy 2.0.43**: ORM (Object-Relational Mapping) -- **Flask-SQLAlchemy 3.1.1**: Flask-SQLAlchemy 통합 -- **Alembic 1.16.5**: 데이터베이스 마이그레이션 도구 -- **SQLite**: 기본 데이터베이스 (운영 환경에서는 PostgreSQL/MySQL 권장) - -### Security -- **Argon2-cffi 25.1.0**: 비밀번호 해싱 -- **Flask-WTF**: CSRF 토큰 보호 -- **Werkzeug 3.1.3**: 보안 유틸리티 - -### Data Processing -- **Pandas 2.3.3**: 데이터 분석 및 처리 -- **NumPy 2.3.3**: 수치 연산 -- **OpenPyXL 3.1.5**: Excel 파일 생성 및 편집 -- **Chardet 5.2.0**: 문자 인코딩 자동 감지 -- **Natsort 8.4.0**: 자연스러운 정렬 - -### Real-time Communication -- **Python-SocketIO 5.14.1**: SocketIO 서버 구현 -- **Python-EngineIO 4.12.3**: EngineIO 프로토콜 -- **Simple-WebSocket 1.1.0**: WebSocket 통신 - -### Monitoring & Notifications -- **Watchdog 6.0.0**: 파일 시스템 모니터링 -- **Python-Telegram-Bot 22.5**: Telegram 봇 API - -### HTTP & API -- **Requests 2.32.3**: HTTP 클라이언트 -- **DNSPython 2.8.0**: DNS 조회 - -### Frontend -- **Bootstrap 5**: 반응형 UI 프레임워크 -- **Bootstrap Icons**: 아이콘 세트 -- **Socket.IO Client**: 실시간 통신 클라이언트 -- **JavaScript (ES6+)**: 클라이언트 사이드 로직 - -### Development & Testing -- **Pytest 8.0.0**: 테스트 프레임워크 -- **Pytest-Mock 3.12.0**: 모킹 라이브러리 -- **Python-Dotenv 1.0.1**: 환경 변수 관리 - -## 🏗️ 시스템 아키텍처 - -``` -┌─────────────────────────────────────────────────────────────┐ -│ Client Browser │ -│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ -│ │ HTML/CSS │ │ JavaScript │ │ SocketIO CLI │ │ -│ └──────────────┘ └──────────────┘ └──────────────┘ │ -└─────────────────────────────────────────────────────────────┘ - ↕ HTTP/WebSocket -┌─────────────────────────────────────────────────────────────┐ -│ Flask Application │ -│ ┌──────────────────────────────────────────────────────┐ │ -│ │ Routes Layer │ │ -│ │ • auth.py (인증) • main.py (메인) │ │ -│ │ • admin.py (관리) • api.py (API) │ │ -│ └──────────────────────────────────────────────────────┘ │ -│ ┌──────────────────────────────────────────────────────┐ │ -│ │ Services Layer │ │ -│ │ • redfish_client.py (iDRAC 통신) │ │ -│ │ • firmware_service.py (펌웨어 관리) │ │ -│ │ • watchdog_handler.py (파일 모니터링) │ │ -│ │ • logger.py (로깅) │ │ -│ └──────────────────────────────────────────────────────┘ │ -│ ┌──────────────────────────────────────────────────────┐ │ -│ │ Models Layer │ │ -│ │ • user.py (사용자) • job.py (작업) │ │ -│ │ • firmware.py (펌웨어) │ │ -│ └──────────────────────────────────────────────────────┘ │ -└─────────────────────────────────────────────────────────────┘ - ↕ -┌─────────────────────────────────────────────────────────────┐ -│ External Services │ -│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ -│ │ SQLite DB │ │ Telegram Bot │ │ Dell Redfish │ │ -│ └──────────────┘ └──────────────┘ └──────────────┘ │ -└─────────────────────────────────────────────────────────────┘ -``` - -### 주요 컴포넌트 - -1. **Routes (라우트)** - - 사용자 요청을 받아 적절한 서비스로 전달 - - 인증, 권한 검사, 입력 검증 수행 - -2. **Services (서비스)** - - 비즈니스 로직 구현 - - 외부 API 통신 (Redfish, Telegram) - - 파일 처리 및 데이터 변환 - -3. **Models (모델)** - - 데이터베이스 스키마 정의 - - ORM을 통한 데이터 접근 - -4. **SocketIO Events** - - 실시간 양방향 통신 - - 진행 상황 업데이트 - - 파일 변경 알림 - -## 🚀 시작하기 - -### 필수 요구사항 - -- **Python 3.8 이상** (Python 3.10+ 권장) -- **pip** (Python 패키지 관리자) -- **Git** (버전 관리) -- **Dell iDRAC 9 이상** (Redfish API 지원) - -### 설치 방법 - -#### Windows - -```powershell -# 1. 저장소 클론 -git clone https://github.com/yourusername/idrac_info.git -cd idrac_info - -# 2. 가상환경 생성 및 활성화 -python -m venv venv -.\venv\Scripts\Activate.ps1 - -# 3. 의존성 설치 -pip install -r requirements.txt - -# 4. 환경 변수 설정 (.env 파일 생성) -Copy-Item .env.example .env -# .env 파일을 편집하여 필요한 값 설정 - -# 5. 데이터베이스 초기화 -flask db upgrade - -# 6. 애플리케이션 실행 -python app.py -``` - -#### Linux / macOS - -```bash -# 1. 저장소 클론 -git clone https://github.com/yourusername/idrac_info.git -cd idrac_info - -# 2. 가상환경 생성 및 활성화 -python3 -m venv venv -source venv/bin/activate - -# 3. 의존성 설치 -pip install -r requirements.txt - -# 4. 환경 변수 설정 (.env 파일 생성) -cp .env.example .env -# .env 파일을 편집하여 필요한 값 설정 - -# 5. 데이터베이스 초기화 -flask db upgrade - -# 6. 애플리케이션 실행 -python app.py -``` - -### 환경 설정 - -`.env` 파일을 생성하고 다음 내용을 설정하세요: - -```env -# ======================================== -# Flask 기본 설정 -# ======================================== -SECRET_KEY=your-super-secret-key-change-this-in-production -FLASK_ENV=development -FLASK_DEBUG=true -FLASK_HOST=0.0.0.0 -FLASK_PORT=5000 - -# ======================================== -# 데이터베이스 설정 -# ======================================== -# SQLite (개발용) -DATABASE_URL=sqlite:///backend/instance/site.db - -# PostgreSQL (운영용 - 권장) -# DATABASE_URL=postgresql://username:password@localhost:5432/idrac_info - -# MySQL (운영용) -# DATABASE_URL=mysql://username:password@localhost:3306/idrac_info - -# ======================================== -# Redfish API 설정 -# ======================================== -REDFISH_TIMEOUT=15 -REDFISH_VERIFY_SSL=false - -# ======================================== -# Telegram Bot 설정 (선택 사항) -# ======================================== -# Telegram BotFather에서 봇 생성 후 토큰 입력 -TELEGRAM_BOT_TOKEN=1234567890:ABCdefGHIjklMNOpqrsTUVwxyz -# Telegram에서 본인의 Chat ID 입력 -TELEGRAM_CHAT_ID=123456789 - -# ======================================== -# 데이터 디렉토리 설정 -# ======================================== -APP_DATA_DIR=./data - -# ======================================== -# 업로드 및 파일 설정 -# ======================================== -MAX_CONTENT_LENGTH=10485760 # 10MB -FILES_PER_PAGE=35 -BACKUP_FILES_PER_PAGE=3 - -# ======================================== -# 작업 처리 설정 -# ======================================== -MAX_WORKERS=60 # 동시 처리 가능한 최대 작업 수 - -# ======================================== -# 세션 설정 -# ======================================== -SESSION_MINUTES=30 # 세션 타임아웃 (분) - -# ======================================== -# SocketIO 설정 -# ======================================== -# threading (Windows 권장) / eventlet (Linux 권장) -SOCKETIO_ASYNC_MODE=threading - -# ======================================== -# 데이터베이스 자동 부트스트랩 (개발용만) -# ======================================== -AUTO_BOOTSTRAP_DB=false -``` - -### 초기 관리자 계정 생성 - -```bash -# Flask shell 실행 -flask shell - -# Python 인터프리터에서 실행 ->>> from backend.models.user import db, User ->>> admin = User(username='admin', email='admin@example.com', is_admin=True, is_approved=True) ->>> admin.set_password('your-admin-password') ->>> db.session.add(admin) ->>> db.session.commit() ->>> exit() -``` - -### 실행 방법 - -```bash -# 개발 서버 실행 -python app.py - -# 또는 Flask CLI 사용 -flask run - -# 특정 호스트/포트 지정 -flask run --host=0.0.0.0 --port=8080 -``` - -브라우저에서 `http://localhost:5000` 접속 - -## 📁 프로젝트 구조 - -``` -idrac_info/ -├── app.py # 메인 애플리케이션 엔트리포인트 -├── config.py # 애플리케이션 설정 -├── requirements.txt # Python 의존성 목록 -├── telegram_bot_service.py # Telegram 봇 폴링 서비스 -├── migrate_passwords.py # 비밀번호 마이그레이션 스크립트 -├── update_db.py # 데이터베이스 업데이트 스크립트 -├── update_user_approval.py # 사용자 승인 상태 업데이트 스크립트 -├── check_telegram.py # Telegram 설정 확인 스크립트 -│ -├── .env # 환경 변수 (git에서 제외) -├── .gitignore # Git 제외 파일 목록 -│ -├── backend/ # 백엔드 코드 -│ ├── __init__.py -│ │ -│ ├── models/ # 데이터베이스 모델 -│ │ ├── __init__.py -│ │ ├── user.py # 사용자 모델 -│ │ ├── job.py # 작업 모델 -│ │ ├── firmware.py # 펌웨어 모델 -│ │ └── telegram_bot.py # Telegram 봇 모델 -│ │ -│ ├── routes/ # 라우트 핸들러 -│ │ ├── __init__.py -│ │ ├── main.py # 메인 페이지 라우트 -│ │ ├── auth.py # 인증 라우트 -│ │ ├── admin.py # 관리자 라우트 -│ │ ├── api.py # API 엔드포인트 -│ │ ├── firmware.py # 펌웨어 관리 라우트 -│ │ └── xml_routes.py # XML 파일 관리 라우트 -│ │ -│ ├── services/ # 비즈니스 로직 -│ │ ├── __init__.py -│ │ ├── redfish_client.py # Redfish API 클라이언트 -│ │ ├── firmware_service.py # 펌웨어 관리 서비스 -│ │ ├── drm_parser.py # DRM XML 파서 -│ │ ├── watchdog_handler.py # 파일 모니터링 -│ │ ├── logger.py # 로깅 설정 -│ │ ├── platform_utils.py # 플랫폼 유틸리티 -│ │ └── file_utils.py # 파일 유틸리티 -│ │ -│ ├── forms/ # WTForms 폼 -│ │ ├── __init__.py -│ │ ├── auth_forms.py # 인증 폼 -│ │ └── admin_forms.py # 관리자 폼 -│ │ -│ ├── templates/ # Jinja2 템플릿 -│ │ ├── base.html # 기본 레이아웃 -│ │ ├── index.html # 메인 페이지 -│ │ ├── login.html # 로그인 페이지 -│ │ ├── register.html # 회원가입 페이지 -│ │ ├── admin.html # 관리자 페이지 -│ │ ├── admin_settings.html # 관리자 설정 -│ │ ├── jobs.html # 작업 관리 -│ │ ├── idrac_firmware.html # 펌웨어 관리 -│ │ ├── xml_files.html # XML 파일 목록 -│ │ └── edit_xml.html # XML 편집기 -│ │ -│ ├── static/ # 정적 파일 -│ │ ├── css/ -│ │ │ ├── admin.css -│ │ │ ├── admin_settings.css -│ │ │ ├── edit_xml.css -│ │ │ ├── index.css -│ │ │ └── jobs.css -│ │ ├── js/ -│ │ │ ├── admin.js -│ │ │ ├── admin_settings.js -│ │ │ ├── edit_xml.js -│ │ │ ├── index.js -│ │ │ └── jobs.js -│ │ └── images/ -│ │ -│ ├── instance/ # 인스턴스별 데이터 -│ │ └── site.db # SQLite 데이터베이스 -│ │ -│ └── socketio_events.py # SocketIO 이벤트 핸들러 -│ -├── data/ # 애플리케이션 데이터 -│ ├── logs/ # 로그 파일 -│ ├── uploads/ # 업로드된 파일 -│ ├── temp_ip/ # 임시 IP 파일 -│ ├── temp_zips/ # 임시 ZIP 파일 -│ ├── xml/ # XML 설정 파일 -│ ├── scripts/ # 스크립트 파일 -│ ├── idrac_info/ # iDRAC 정보 파일 -│ ├── mac/ # MAC 주소 파일 -│ ├── guid_file/ # GUID 파일 -│ ├── gpu_serial/ # GPU 시리얼 파일 -│ ├── mac_backup/ # MAC 백업 파일 -│ └── server_list/ # 서버 리스트 파일 -│ -├── migrations/ # Alembic 마이그레이션 -│ ├── versions/ # 마이그레이션 버전 -│ ├── alembic.ini -│ ├── env.py -│ └── README -│ -├── tests/ # 테스트 코드 -│ ├── __init__.py -│ ├── test_auth.py -│ ├── test_api.py -│ └── test_services.py -│ -└── venv/ # 가상환경 (git에서 제외) -``` - -## 💡 사용법 - -### 1. 로그인 및 회원가입 - -1. 브라우저에서 `http://localhost:5000` 접속 -2. 회원가입 페이지에서 계정 생성 -3. 관리자 승인 대기 (Telegram 봇 설정 시 자동 알림) -4. 승인 후 로그인 - -### 2. iDRAC 서버 정보 수집 - -1. 메인 페이지에서 "IP 처리" 섹션 선택 -2. 스크립트 선택 (예: `get_idrac_info.py`) -3. IP 주소 입력 (각 줄에 하나씩) - ``` - 192.168.1.100 - 192.168.1.101 - 192.168.1.102 - ``` -4. iDRAC 사용자명/비밀번호 입력 -5. "처리" 버튼 클릭 -6. 실시간 진행 상황 확인 -7. 완료 후 결과 파일 다운로드 - -### 3. 펌웨어 카탈로그 관리 - -1. 관리자 페이지 접속 -2. "펌웨어 관리" 섹션 선택 -3. "Dell 카탈로그 동기화" 버튼 클릭 -4. 카탈로그 다운로드 및 파싱 대기 -5. 펌웨어 목록 확인 - -### 4. DRM XML 파일 업로드 - -1. Dell Repository Manager에서 XML 카탈로그 생성 -2. 관리자 설정 페이지 접속 -3. "DRM Repository 상태 확인" 클릭 -4. XML 파일 업로드 -5. "DRM 데이터 동기화" 클릭 - -### 5. XML 설정 파일 관리 - -1. "XML 파일" 메뉴 선택 -2. XML 파일 업로드 또는 기존 파일 선택 -3. "편집" 버튼 클릭하여 웹 에디터에서 수정 -4. 저장 시 자동 백업 생성 -5. SCP 파일 다운로드 또는 서버에 적용 - -### 6. MAC/GUID 데이터 수집 및 변환 - -#### MAC 주소 수집 -1. "MAC to Excel" 섹션 선택 -2. MAC 주소 데이터 입력 또는 파일 업로드 -3. 서버 리스트 입력 (선택 사항) -4. "변환" 버튼 클릭 -5. 생성된 Excel 파일 다운로드 - -#### GUID 수집 -1. "GUID to Excel" 섹션 선택 -2. GUID 데이터 입력 -3. 서버 리스트 매핑 -4. Excel 파일 생성 및 다운로드 -523: -524: #### GUID 수집 및 슬롯 우선순위 설정 -525: 1. "GUID to Excel" 섹션 선택 -526: 2. "슬롯 설정" 모달 창 열기 -527: 3. 원하는 슬롯 순서 입력 또는 프리셋 버튼(2슬롯, 4슬롯, 10슬롯) 사용 -528: - 예: `38, 37` (2슬롯), `38, 37, 32, 34` (4슬롯) -529: - 입력된 순서대로 엑셀 컬럼이 정렬됩니다. -530: 4. GUID 데이터 입력 및 확인 버튼 클릭 -531: 5. Excel 파일 생성 및 다운로드 - -### 7. 작업 모니터링 - -1. "작업 관리" 메뉴 선택 -2. 실행 중인 작업 목록 확인 -3. 작업 상세 정보 보기 -4. 필요시 작업 취소 - -## 🔧 고급 기능 - -### Telegram 봇 설정 - -#### 1. Telegram 봇 생성 - -1. Telegram에서 [@BotFather](https://t.me/botfather) 검색 -2. `/newbot` 명령어 입력 -3. 봇 이름 및 사용자명 설정 -4. 발급받은 토큰을 `.env` 파일의 `TELEGRAM_BOT_TOKEN`에 입력 - -#### 2. Chat ID 확인 - -1. [@userinfobot](https://t.me/userinfobot) 검색 -2. 봇과 대화 시작 -3. 표시되는 ID를 `.env` 파일의 `TELEGRAM_CHAT_ID`에 입력 - -#### 3. 봇 기능 활성화 - -- 애플리케이션 재시작 시 자동으로 봇 폴링 시작 -- 사용자 로그인/회원가입 시 Telegram 알림 전송 -- 신규 사용자 승인 요청 시 인라인 버튼으로 승인/거부 가능 - -### 데이터베이스 마이그레이션 - -#### 새로운 마이그레이션 생성 - -```bash -# 모델 변경 후 마이그레이션 파일 생성 -flask db migrate -m "Add new column to user table" - -# 마이그레이션 적용 -flask db upgrade - -# 마이그레이션 롤백 -flask db downgrade -``` - -#### 기존 데이터베이스 업그레이드 - -```bash -# 현재 마이그레이션 상태 확인 -flask db current - -# 최신 버전으로 업그레이드 -flask db upgrade - -# 특정 버전으로 업그레이드 -flask db upgrade -``` - -### 비밀번호 해싱 마이그레이션 - -기존 사용자의 비밀번호를 Argon2로 마이그레이션: - -```bash -python migrate_passwords.py -``` - -### 사용자 승인 상태 업데이트 - -기존 사용자를 일괄 승인: - -```bash -python update_user_approval.py -``` - -### 로그 관리 - -로그 파일 위치: `data/logs/app.log` - -로그 레벨 설정 (`.env` 파일): -```env -LOG_LEVEL=INFO # DEBUG, INFO, WARNING, ERROR, CRITICAL -``` - -로그 파일 로테이션: -- 자동으로 날짜별 로그 파일 생성 -- 최대 30일간 보관 - -### 성능 최적화 - -#### 동시 작업 수 조정 - -`.env` 파일에서 `MAX_WORKERS` 값 조정: -```env -MAX_WORKERS=60 # CPU 코어 수에 따라 조정 -``` - -#### SocketIO 모드 변경 - -Windows: -```env -SOCKETIO_ASYNC_MODE=threading -``` - -Linux (eventlet 설치 필요): -```env -SOCKETIO_ASYNC_MODE=eventlet -``` - -```bash -pip install eventlet -``` - -### 운영 환경 배포 - -#### Gunicorn 사용 (Linux) - -```bash -# Gunicorn 설치 -pip install gunicorn eventlet - -# 실행 -gunicorn --worker-class eventlet -w 1 --bind 0.0.0.0:5000 app:app -``` - -#### Nginx 리버스 프록시 설정 - -```nginx -server { - listen 80; - server_name your-domain.com; - - location / { - proxy_pass http://127.0.0.1:5000; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - } - - location /socket.io { - proxy_pass http://127.0.0.1:5000/socket.io; - proxy_http_version 1.1; - proxy_buffering off; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "Upgrade"; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - } -} -``` - -#### Systemd 서비스 등록 (Linux) - -`/etc/systemd/system/idrac-info.service`: -```ini -[Unit] -Description=iDRAC Info Manager -After=network.target - -[Service] -User=www-data -WorkingDirectory=/path/to/idrac_info -Environment="PATH=/path/to/idrac_info/venv/bin" -ExecStart=/path/to/idrac_info/venv/bin/gunicorn --worker-class eventlet -w 1 --bind 127.0.0.1:5000 app:app -Restart=always - -[Install] -WantedBy=multi-user.target -``` - -서비스 시작: -```bash -sudo systemctl daemon-reload -sudo systemctl enable idrac-info -sudo systemctl start idrac-info -sudo systemctl status idrac-info -``` - -## 📚 Git 사용법 - -### 변경사항 커밋 및 푸시 - -```bash -# 변경된 파일 확인 -git status - -# 모든 변경사항 스테이징 -git add -A - -# 또는 특정 파일만 스테이징 -git add backend/routes/main.py - -# 커밋 메시지와 함께 커밋 -git commit -m "Add new feature: firmware auto-update" - -# 원격 저장소에 푸시 -git push origin main -``` - -### 원격 저장소에서 최신 버전 가져오기 - -```bash -# 최신 변경사항 가져오기 -git pull origin main - -# 또는 fetch 후 merge -git fetch origin -git merge origin/main -``` - -### 브랜치 관리 - -```bash -# 새 브랜치 생성 -git checkout -b feature/new-feature - -# 브랜치 전환 -git checkout main - -# 브랜치 목록 확인 -git branch -a - -# 브랜치 병합 -git checkout main -git merge feature/new-feature - -# 브랜치 삭제 -git branch -d feature/new-feature -``` - -### 원격 저장소 확인 - -```bash -# 원격 저장소 목록 -git remote -v - -# 원격 저장소 추가 -git remote add origin https://github.com/username/idrac_info.git - -# 원격 저장소 URL 변경 -git remote set-url origin https://github.com/username/new-repo.git -``` - -### 변경사항 되돌리기 - -```bash -# 작업 디렉토리 변경사항 취소 -git checkout -- filename - -# 스테이징 취소 -git reset HEAD filename - -# 마지막 커밋 취소 (변경사항 유지) -git reset --soft HEAD~1 - -# 마지막 커밋 취소 (변경사항 삭제) -git reset --hard HEAD~1 -``` - -## 🐛 문제 해결 - -### Telegram 봇이 응답하지 않음 - -**증상**: Telegram 메시지가 전송되지 않음 - -**해결 방법**: -1. `.env` 파일에서 `TELEGRAM_BOT_TOKEN`과 `TELEGRAM_CHAT_ID` 확인 -2. Telegram 설정 확인 스크립트 실행: - ```bash - python check_telegram.py - ``` -3. 봇 폴링 서비스 로그 확인: - ```bash - tail -f data/logs/app.log | grep "텔레그램" - ``` -4. 중복 봇 인스턴스 확인 및 종료: - ```bash - # Windows - tasklist | findstr python - taskkill /F /PID - - # Linux - ps aux | grep python - kill -9 - ``` - -### SocketIO 연결 실패 - -**증상**: 실시간 업데이트가 작동하지 않음 - -**해결 방법**: -1. 브라우저 콘솔에서 에러 확인 -2. SocketIO 모드 변경: - ```env - # Windows - SOCKETIO_ASYNC_MODE=threading - - # Linux - SOCKETIO_ASYNC_MODE=eventlet - ``` -3. 방화벽 설정 확인 -4. CORS 설정 확인 (app.py): - ```python - socketio = SocketIO(app, cors_allowed_origins="*") - ``` - -### 데이터베이스 마이그레이션 오류 - -**증상**: `flask db upgrade` 실행 시 오류 발생 - -**해결 방법**: -1. 현재 마이그레이션 상태 확인: - ```bash - flask db current - ``` -2. 마이그레이션 히스토리 확인: - ```bash - flask db history - ``` -3. 데이터베이스 백업 후 재생성: - ```bash - # 백업 - cp backend/instance/site.db backend/instance/site.db.backup - - # 재생성 - rm backend/instance/site.db - flask db upgrade - ``` - -### 파일 업로드 실패 - -**증상**: XML 파일 업로드 시 오류 발생 - -**해결 방법**: -1. 파일 크기 제한 확인 (`.env`): - ```env - MAX_CONTENT_LENGTH=10485760 # 10MB - ``` -2. 디렉토리 권한 확인: - ```bash - # Linux - chmod -R 755 data/ - ``` -3. 디스크 공간 확인: - ```bash - df -h - ``` - -### Redfish API 연결 실패 - -**증상**: iDRAC 서버 연결 시 타임아웃 또는 인증 오류 - -**해결 방법**: -1. iDRAC IP 주소 및 네트워크 연결 확인 -2. iDRAC 사용자명/비밀번호 확인 -3. SSL 검증 비활성화 (`.env`): - ```env - REDFISH_VERIFY_SSL=false - ``` -4. 타임아웃 시간 증가: - ```env - REDFISH_TIMEOUT=30 - ``` -5. iDRAC Redfish 서비스 활성화 확인 - -### 세션 타임아웃 문제 - -**증상**: 로그인 후 자주 로그아웃됨 - -**해결 방법**: -1. 세션 타임아웃 시간 증가 (`.env`): - ```env - SESSION_MINUTES=60 - ``` -2. 쿠키 설정 확인 (`config.py`): - ```python - SESSION_COOKIE_SECURE = False # HTTP 환경 - REMEMBER_COOKIE_SECURE = False - ``` \ No newline at end of file diff --git a/__pycache__/app.cpython-312.pyc b/__pycache__/app.cpython-312.pyc deleted file mode 100644 index 784f79db1311f9b233a618e16a1769fceaec107a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5774 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 diff --git a/__pycache__/app.cpython-313.pyc b/__pycache__/app.cpython-313.pyc deleted file mode 100644 index 48ab47a5600c6cd11ba53bfbeeec098a7a26a7b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2681 zcmah~Pi))f75^maKS@cB;y?0#$#xn$j+UlzYCCHR*H&XmcASasnq@=@TB2k&5~+Qp z>^VC`?Imi4!2*T>K6y)ux9}zLl5lbPK0-2B3lWR&xA+7?B9pyq zd-P}=+1|py@;-PDA~fFJn#=gIcsZNx+1jY*Gl{mGR-O<&n=lCZhoD3A;=C9w&D-{3 zB>TX|J^Gz)@RS$7Jty>w?d8DMsXyJ3S+hhenY$gF}}}oT$r#e?W}m=d#xvh zm~H(-^A=*u>j>eS;(S)OtLjnc<{RRIcvFZkxh7H3S#-vbIOjz&2R>Km)F$BDfUm4x zx%;9^3yuPMiz-`x0(HMzl8uJ|0>V!=R!X^D zrF;M!x1kqRZBy3dqJn|`+@rGhnD^f`>LO^O6-j~hXZeA}+yRw!qDVTV7WQeHciQiPpl@g>eh{vGC=4PEF zWDBK&Udn?x-&NUcMA%x*B)3yr(u(l2yQ|XX)>;xG?P5jFLq_6~tENtT%ATT`CB-D( z_f;*g?;FH12hlI)bZkg+sif~Kc}d4ARB4caY#eAgsjTOfM*;BPO+fvs2G#pZx}2A) z2Grq`q_V7Pl0*XUZmb9yX?;uBe&oHDu>Q92-d1*7tw#_dY}aZn`ObTHh|9!PWtJhX zUEMH=tD<9*xbw|u{ahZ54FuRhvgW;Ay#9g2h z#BPei7M6@(l;rLxv4@J;uGl&Qrk4!iyOMHus@O+m!E1d3ZB2LX7pj9jU}@v&Z( z^qmitoJp7>?0}n&8{-k0&|@6H#+EUBFcIO(y7o{xkf6i4UE)vvGN)ANJ3|~2@fqix zAwE@8O^Jr)t)9XjST70*blE*s*~g}xtgyX9y(fThNq8z)eK)h4c%&nZnZ*h)wp(W;3(P*#*gnegI7=a zn@#>^i(jk-zVRS0S6}~q?$i0!r8oa*JX`+L{{nKP%$Kl7X$X>%7(x!9Ln>@VEZnGX%b>Vdzqk;dw$xz9gr zvZar`0(KA z!O`fk*$T~D!ZsH?Og&9C%Ev!#ar39#^(J?{#ohSa)8uZ~l5H3FWaFcaM&#(masIQJ z+Qyfz#WO#04gc$G0fnP4k;6aJj!yq3{T~>(f9BuD5G=r-zdl)x8UO$Q diff --git a/__pycache__/config.cpython-312.pyc b/__pycache__/config.cpython-312.pyc deleted file mode 100644 index 01113f366e252937d388424abbc2bd6bf7dbae47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4702 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 Ee+qm+4gdfE diff --git a/__pycache__/config.cpython-313.pyc b/__pycache__/config.cpython-313.pyc deleted file mode 100644 index e17673e8a396b369180878e8b993fe721f878848..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4355 zcmb7HT})fq5kCF_{}QmV@eg2(Aqj>Ac0<@K35n#`7vlJj-fNOjxxF&jAvZBLdu*aC z4=c7>RZ*jrlGR2yC=zb9Rf$xobhA=_bwq5qIU^`ns)#cN)P(0#-pMiD|66~gdJ7xX1DWiiw{iqVoU}Ovg`9YMiE>u%p zs6%z3n(IQf)P*wDg)-NLYOM=psS9PT3)S{vlpR6L*qn&5SK|dY&ndl*=j7VG3dxYn zW^;vPfy-s{Q5dTylZ9*Wt1EEx=~OyXNJ>WER=F^xO1R9tU8h^(eIHv9tXjf^H?IE03k`)e2(EhK6E`-8OI*FE$L^bBw5H78maIh|{r z%LFJnook`YfRfX>7OE9cayr*SSpX%cb1jq=P;xrgLbU-(PUl)E8=&NLu7$D#N>1lm zCxsTp_0#_#^Rv-;@e{YTq(Zg1cDZcs1j z8Ol#naW+IvFX?8lC9`wsJyg%1)I+^0KbCN2YycKKOLNmSBIux0M=xK z(eYSSq>q4LPt!0l72ID&KQTE~oiGv5PnR__6nzPd(7Y@fRQvsH` z0#QOPl#x_iwjecvC&8<@o1BznAnqmP2q6tXBqu~q#1|!@RSku3a2zf?Lg4`duvW$X zSS%Ez0Og;eDXER7B2?r&?CGa++q-aIgkpkm>VTaDTZ@($T=_gg=)`Cpg)g(Ap&4bUBIHN^u!n_#8U`T_NO{c^CBczelf>ss`<@ z5t%J3&U?-k*F9IsxPC)4onF4U+lVagl2>RQD4RzF^N46ZwH(@Vx!0~gxW1NskX`@n z=F*P?KX&qGFN>}#yt;ksa6hm1fSR*o&H2E&=6c}b`^GkBM2C-8w{6)RD@*s5R=&9R z1%KqzO^;|h%d0JbZgZ7%g4J8L3=5WF(K50e*|K()w1Ty-Y&juVPKcJ1AhLCp1_ayj za@#4P?UdLyx*XdwJBw3-*;6(h6HLcM)8O(&qWG>YM|UYKI6f-dPYd?bqJ4~4TYpZo zwY_*lX!VxO!-9EOG>^bh!G1z8d&{O_!89zIM!^2h8FP9{zY&}#%8oI?F(x|Bk+Xv8 zCBfWNHXRpC$3@dn#hdN!q75dWIy#E<+Vtu)fAkE0HX?RLMMn(eufP?KqIu1+>fn2Z zH)zrEsc0Qtjy~<^Dk=Y>`;(6E_x3@1yznCGpf{arlbRJ~M=}2d1k5<82`&>*``*5ktwsq*UUQKu9NExR&8&F!a4pBcNwblZIZ- z9H@7suO>wdr}MeY&9u}gckYt5Qh}h)$01^iR9bwBm}r>4k>ao%swBkaJuqZSJ0{o6 zb2tG*@?USh1aw!WP$-@u&%crG8L~e^u2)86Y`LqwbFOUY77X2@p{H!<7YzN&TJR3c zC|7jf=!%2ueH)jA{xf3Bm}od#Hc*0r5)Bi}T8PLNd(kU2_mr*+%^xirw~(=n%mOkO zPpWD3ON*g{_QS z0&uwY^Zs{jnuLe78Ld}>Jm`bx_YC)6K<@Qo%gN#K0EJ| iM+AkVjNAfpuUj@@pTM1c-#-7>_=%$XzX(X>2LBIzr|0be diff --git a/__pycache__/config.cpython-314.pyc b/__pycache__/config.cpython-314.pyc deleted file mode 100644 index 8966346c3e1deffa837f5769d7102a2aeafc9c98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5205 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 DrVeOR diff --git a/__pycache__/telegram_bot_service.cpython-312.pyc b/__pycache__/telegram_bot_service.cpython-312.pyc deleted file mode 100644 index f0fd4a036bdab4d97a722e39e2eeab3fade8e517..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7179 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 Ziihi_bd|lDKWXqT@j info + self.errors = [] + + def handle_starttag(self, tag, attrs): + if tag == 'div': + attr_dict = dict(attrs) + div_id = attr_dict.get('id', '') + div_class = attr_dict.get('class', '') + line_no = self.getpos()[0] + + info = { + 'tag': 'div', + 'id': div_id, + 'class': div_class, + 'start_line': line_no, + 'parent': self.stack[-1]['id'] if self.stack else None + } + self.stack.append(info) + + def handle_endtag(self, tag): + if tag == 'div': + if self.stack: + info = self.stack.pop() + info['end_line'] = self.getpos()[0] + + # Store important divs + if info['id'] in ['fileTabsContent', 'processed', 'repository', 'repoTabsContent', 'pills-backup', 'pills-mac', 'pills-guid', 'pills-gpu']: + self.div_map[info['id']] = info + else: + self.errors.append(f"Unexpected closing div at line {self.getpos()[0]}") + + def validate(self, html_content): + self.feed(html_content) + + print("=== DIV STRUCTURE MAP ===\n") + order = ['fileTabsContent', 'processed', 'repository', 'repoTabsContent', 'pills-backup', 'pills-mac', 'pills-guid', 'pills-gpu'] + + for div_id in order: + if div_id in self.div_map: + info = self.div_map[div_id] + print(f"ID: {div_id}") + print(f" Start: {info['start_line']}") + print(f" End: {info['end_line']}") + print(f" Parent: {info['parent']}") + print() + else: + print(f"ID: {div_id} - NOT FOUND or NOT CLOSED properly\n") + + if self.stack: + print("\n=== UNCLOSED DIVS ===") + for info in self.stack: + print(f"Unclosed div starting at line {info['start_line']} (ID: {info['id']}, Class: {info['class']})") + +# Read the file +file_path = r"d:\Code\iDRAC_Info\idrac_info\backend\templates\index.html" +with open(file_path, "r", encoding="utf-8") as f: + content = f.read() + +matcher = TagMatcher() +matcher.validate(content) diff --git a/backend/debug_html_structure.py b/backend/debug_html_structure.py new file mode 100644 index 0000000..3c0a6b4 --- /dev/null +++ b/backend/debug_html_structure.py @@ -0,0 +1,28 @@ + +from html.parser import HTMLParser + +class DivStructurePrinter(HTMLParser): + def __init__(self): + super().__init__() + self.stack = [] + + def handle_starttag(self, tag, attrs): + if tag == 'div': + attr_dict = dict(attrs) + ident = attr_dict.get('id', '') + if ident in ['fileTabsContent', 'processed', 'repository', 'repoTabsContent', 'pills-backup']: + print(f"OPEN {ident:15} at line {self.getpos()[0]} (Stack depth: {len(self.stack)})") + self.stack.append(ident) + + def handle_endtag(self, tag): + if tag == 'div': + if self.stack: + ident = self.stack.pop() + if ident in ['fileTabsContent', 'processed', 'repository', 'repoTabsContent', 'pills-backup']: + print(f"CLOSE {ident:15} at line {self.getpos()[0]} (Stack depth: {len(self.stack)})") + +with open(r"d:\Code\iDRAC_Info\idrac_info\backend\templates\index.html", "r", encoding="utf-8") as f: + content = f.read() + +parser = DivStructurePrinter() +parser.feed(content) diff --git a/backend/forms/__pycache__/auth_forms.cpython-311.pyc b/backend/forms/__pycache__/auth_forms.cpython-311.pyc deleted file mode 100644 index 00fe37044185ad3f01eb8e73fde97b996012c950..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6044 zcmb_gZ)_9i8Naj7fA5@g90MVQa3rO}QAr@BrD+R<0x5q&=t{#jr>%GRF2UeG$!p($ zlvZAsRUVDhOlwNU0!r65CBswM#I#i6LqAR3he_wkQ>~LaRhs&N+L4S1U;1g!bLTjA z61F1keE!{g&-=d5z3=n??qiqBNx|{=(7#SQ>nQ5qc(ZuejRt+Mi>9c{ltf8%n2OMT zn#Q&%Z1S7*tJ!act2xX>EPjjL$AqmBo8K0(`|S~j-w|>8ojTnTW+R-Ri@5x*NR7WH z!u$D%+wYFl`fK%mYuFR1^VdPUNpg-delJ{ExUPXK2iLVGN_I&usYc?{?in*h-GIMw zKu@hyD|ym&GbW(Jzk=?S)~rfjE3I3VUN5a*P9L=R*O{p2DXC$Uk~YYe>Zkkb^}a^v z+qj}{y<|E;`8M6b1^H-=6{FEuLQI5W(ReT1JG#SS{A_oOM0||Ko=A{Tbg(-lhb7JR zf*6mVixJ7VWlt!lBB6wF!#x*^g=I0S-}$T>cR);tFUrG8h{%#=?UAE{iPM_pU_=as zHQT{qMGU_b)A*BOI3(%MK1fK6Xx10yLHYa;EQ9Hb%S5Bkf9H%Rh;UKpjYVb6O5}t> zqCqf#^1(n0#7^J)F*GhyiHg39RH7_+imFxw@m{2+D|*ZPs2OP9DBniui_{5fmhSbL zHD@RuipCRSG$?CkSe9l12o25B#0}%)_+;U`o$at8v0WS*Y7a?73NV0K8CD; z3t5Y>4nVVnW9ML__0TrtM%E*l)yV-}7^Dd(wK$*+0Hh$aUf=P@U`FW33LPrjxg>>m z_FmeXVH>k-qslhUfj~OR2AEPM5DO4=GkF6V-(Mhc6RJOfvrEUB^429VjcGK$6-Tuo zstpf(&(y1#d%O4hEK5?+SS1<)1OsPd1RRc_iJ*+* zI{`pS?3!`$YF&oim}NH>DcVw-Jv_$z$kao-xEi;2O zv@DV-ZJvSt8|9b?RI9{D7Rj2nRi}(WlVq11k`sQc#7$Y!t{E`x8)ftM+jQPFvc1Hc zUxl|raxbR>Ur2-StD7>f;OPXOtmM_#x@N^pTIPOFOI``m;*=>}U%g(xOP{-5pWCo} zE>LTv4N@b}tI{v5X5$0+@i50NHC4;YUn^}IrTiXA0IZWXgY!0PZb(ug2vK_8!bGW9 zK^tJh`I%8=W4T$lIw};d{W3rO(fq`%!UwktqjQBT@3xUv7;y(P&mDAI1?}3HTezAO zI^O8mu6x9rX>^L^{ze|fDHtk^DZf*r<%F!&=y&2!D4_=&s0Z|3LgZjVbH<0{a5#8c z4xR;9w;Aavt~q~ZzaMHaP{_mq4Mql!npqf95gjOf8{!C z1mi$npIkY7vLrYKQ%GSl^|YWsY0xE~7jXw|uo2B7V_h+8CLJ(@JPx2aLeU{55rK$$ zpM(3#fOa24W+fs2(e2eVHNrvG-ZoS!dS*>a+@alxPkI_afjYH{n=t>|iNe)61@&C{ zloGviYZYdp*%u$QVj_k~5NP4k$@z)N!pCqkaj9_WFQpKyV6jm390<&Xw?UY??J2nX z`72|E-(k1~TClR{LH9Oe@l=3Dbyhr64jPc>=riS6L$qY7cB(j^u)*}wAuS6zZ_}DLe*+V(?tJMwv^a> zGA9(km#@qUg%5uXW}(~o%qS|yNTEKvW+JlY7*N9Dh?oeT))=e-hzl4HT%u+fR%CJk zM(D+1;M4{1>kx@2z$2Ns97Z?S>vIMl9tU+&f*=_6RBg#o<-p>?Mw*vLueKFq`hZ3J zJV28AhOZsFs5Z9UwA^y4+q>pYW%zwrejgMTj+g1LJe$>Kf5y|F_4KP;|2KTy*vOZB z%NKmh^}e)UN^n=Yp}q$VFjT1t#6KIL1FGl zx_*w(x_)|nUd@GZf@ky)^mx5WC72%wzTlHX2w2|}6ss;Y zg7H9WSd4;!p;$N+ybxH*G~^%-#c-y%gRv;MKqRm@nqX+qta1H~l$^kUXvDLWzEa&6 z$YV%FK-Y|40}Uq2zZ~C?dM#&n=V~{Mb6<1ysUCH6m&)zSaQm{{z8vRCb&n5Eo>E); zRPJPkJDKH97AyIg1nmU*opkr2rNXl81@{<*H8| z&Dra6wTtAj=)dakZ&~YQqwt{DjAIjV-zLLea(`Zv>um0dIf>gyg|u zBjw(hdOc@foAV0eJ*ux)^&Zc7k7vEd)w+oKVi+*jy#2E_)$>C*ffKF`U;zQv#!>ZK z#$o=((z1@JTyKW!&2qgtt}gZb_z`vMODflw;rg;%pRq7I)v{N8;Z@ZWfV1eb)dNR> z1q7Ax7CltW`c(g9Q^vJ5>)M*^E;2R?I(P+o7z>)z>S(AA6&8el`9LFrgTD7Sz{}Lb zRldvXM5qU$7M5(19ja5uDiyC?!Wz{gu`6cMP$_eg3o6r^WtFJ|W;i9jI!5?epmLIX z8Pz4#LNfAbj-J?HD2l}-c?R}Ho<+b4g6sxR@cTl!I1;d!d~3{bB8)d=FTyT_eF)D1 zjJSge)Ns*6xqu=2vF`wY&MyD{)VF_~(=*c4G*lG|3bst__0^D*IQ~Zn_-V!PW8G(U zKdyFM!#Oe0Yjz?>N7_;74)LoB+?0h)cBh8NPpQp4DswEu9LqAta*Pv* z&#IdTRAw;43}%_Z2a-C~rk|>em|?^$BkH46wn^POq%y-9W;n|XLzZbWsZ>MJyPL)U hx;l2*IwGzf1cagfVN|$cW{{iyC)b0QP diff --git a/backend/forms/__pycache__/auth_forms.cpython-312.pyc b/backend/forms/__pycache__/auth_forms.cpython-312.pyc deleted file mode 100644 index b81f1bb442585b8fb8c996357e84fe90b170c323..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5153 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 diff --git a/backend/forms/__pycache__/auth_forms.cpython-313.pyc b/backend/forms/__pycache__/auth_forms.cpython-313.pyc deleted file mode 100644 index 1480003a46bfbdd25bede439a9f92d3f4c1c2ee6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5198 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 F{|Ay(Iw1f6 diff --git a/backend/instance/site.db b/backend/instance/site.db index 923f48c22138c2c36eb16361b99940b933702a8e..c6ff894786168e81af4bce9ff3b99c2e7f59b254 100644 GIT binary patch literal 573440 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 F{{T;1v84b2 delta 944 zcmZo@P;Pj@G(lQ0h=GBD8;D_mbE1y1Vi1E~mk2N4dN0aN$g4L7a&T}YzisV#J!Q(94SP#ci%T3pgkExf?&Ll>h59T%S2Hi|kYsml zKMQkH!>W+noRXqI6$9gZGv~7WV3+({Lw%PjKZ}wOcjJnZ{D^!<&-6+kN0*d}prE9X zFtZYi^iZuNiSIg}E$=#BB_5!5fmoi& zg*_XU8#!487(``78N?NV>LNKf9UYwmd|cczi*m~oi&9-ub8;q!^{TikXc(Hf>l>Q7 zE4+M%*6lWG-ke3zJ zR0i4T46-r6HON`P!`##qX6@wPeI60$W*bTXqU1&!CMR=l3PKmkPc?!fCS3rkBAGpsg)WGprp_D>c7M&Ne_ h{y+TRL6M-aliyOGIhm2jB+A0fz{m_Dn3$OvI00@-6odc( diff --git a/backend/models/__pycache__/firmware_version.cpython-311.pyc b/backend/models/__pycache__/firmware_version.cpython-311.pyc deleted file mode 100644 index 2b44ae19065b97caeedac7dec019c82ff7e58bd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6639 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 Yi#a0XAW4E6pA5f~=-)qOR8sW60VK6l4FCWD diff --git a/backend/models/__pycache__/firmware_version.cpython-312.pyc b/backend/models/__pycache__/firmware_version.cpython-312.pyc deleted file mode 100644 index 810180532d06b4b206e065865a3b124ed6fede94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5981 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 diff --git a/backend/models/__pycache__/firmware_version.cpython-314.pyc b/backend/models/__pycache__/firmware_version.cpython-314.pyc deleted file mode 100644 index ae48b5a9a3823d3a420f30b59bb7abc927cad0fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6325 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 diff --git a/backend/models/__pycache__/idrac_server.cpython-311.pyc b/backend/models/__pycache__/idrac_server.cpython-311.pyc deleted file mode 100644 index 4a84f55dbb8aeb3bf7e33e71fb0700d404681e76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3310 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 kf4UjA`$uN~Pt5QS%$ zp8Swq^`%lqG-6OHCHu0PtX8Vj_91U=U)nx0q7{Rs)oQg*bg~jzn)f}&b77dyqWxtZ zpSypb|2xM%@cTU!tPj86|LB36qW*itsfxPXuEoCD% zi?`plryRtQauR3CMO-PCuqiijC#W8(pW+-*igTu!xz2j>!~2-6$`kLBE6L`rg5;SJ zWjP^D%}riUym;_=<;w?&U%oaffB9RY^4DVJ)90QAA+szh*^w1BE6Uo4lqEuj*F^HM zNQPI}JbRciNt;Y|0VtalbWxX9#H7P?URUMZiekE^6?rV{E~Ot)rfc3t0OI zS(b2JOCl|DXCt!lb`9UIV{F|GTd?k5zmpS|tp_TLl{jfh;dFHFjcQ$+spSzn&f|Z? zg`oPUxNwvraV`S1kLx6frLJVR>77P!aTd1ryzsDG6vz>5zIghm^3~ThY?}UNG-~qz zK<_G%Rs^!fFN>C7q8-JEFJiK^=0<;seSLQdBA zegx|tc8}>H;*zB4A`!FFuYfHGwe+m2>tnHu20nW8W&HrPRoLEwHs&7rnsfflT- z3$*rD9fcX{&Cp~7E!!m4SkPMI<){U;zM~qHK-%5YgV_xczd>aA43H z>3C1ta=7!#XOCX|@w3W6SEJ$mr6?u!{^40qt2{(33%el_b4LuzKVa608{MLy|!9 z8j^k>m_=Pw$%>$p0aOkmIgR8DlCwy#w$EtOu8H!Zh8>kK$EV&-UxzPF+UkCOT3J-n z)n=EFt$mcz)sIrm()cKuE?wobQbso;O%r9frcA;Ev>$*N)V`C7oY**c}9%zX@v)jROOJ z6WD_2)UrA#jsZ)XaRe6Ir~`m%pSkZJZ>nM9K9d-_&m`Z0NqC5WbC9@tZsd2snk>%~ zah34A+1V63T-Q#Zdjg0-l|%7@{$y=)t*~4S7pK0MeKxywe*F2ht-!lm?7L(HoSsoL z$=5I?q8(CtcpgqYCnN9U`MWtmu2}*+zbFw+mnB71R4}`EKC5Pc@$wf=)nA{Wr_ zBD!?(JT|SA0X6(1E##p8pjxBofHknnO7M$l5oEM3Xp}!uyY|6y=YaA4Kiz?cuBY=Q z_c`O*t~ZoFQ;4jeFFH!zVPk4HbYjz4Adfx851zkX3SBi)yMeC!VqtFm55+U3z(wO$ zRp!>0i#JMvOUA92PAc33G1_DAc4)Bf5BBXqKY07X`8Ns!>sPjYeZ~#&?dZ(kEL>Vo z6@4ZDm~nHrtG94#yX&+uvl}^C7}|~u81I2sXLR$-)9~YS+mX}8d%KXo`ziA{x*Z-g zZiCeyY09}9?0$H!XfFjX7}K!(0$UvVV&vIKDfBk%eN4|$)BmoU!9}$Rr+E7 O#!!Cf6@|RD<^KX7WvrV3 diff --git a/backend/models/__pycache__/idrac_server.cpython-314.pyc b/backend/models/__pycache__/idrac_server.cpython-314.pyc deleted file mode 100644 index 4bb4440acf3931a1f592fb6d595a5bb06545775a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3251 zcmai0O>7&-6`tk)&rz*@{6rv1F{-pfD^iR@{}m6~&cj zhcV>S9$d7S0wR<^6db_rrJ#!f0h%0iOL|I=62wB(0zpvpRyu%EC25a+vrAHx%&G(8 z@y++%yq$gXy*E45;qxFE?|;4j@TnW2f6z%|*z3x{Lr^rtA%Y$tj!82q3$ethZb@5H zR$?`DYuc8w6MM=*94RMprd-68auatPb)sIx*}4&DpS9eHG=d-gk6BHfcsWNON;(S@ zF!xMJxm-e?;wEn-UOoM^_UEUGe}19W{_v+n?T_W!?>0SiLUvKgiz7>lDCN`mZidjS$NQdQtmsq=y0!bk@&O+?7j$SnD6-~=V;nJP5Wqz-O4$yG}F??!^OFq5!j~vuPqS{pWtiSn>%Ruk&Y8= z{u6A0rY+Kl#d%ux6g2FihK+=e%_GhA&9`p)cAjACYS=h$!@u!Qx((YY$o^q&P8(Qg zw&%`UX6{>Mi(m94zyGnCZJy9s&ex4djOzdy=lmq`AtJq80LUEFy=ltKy9O}}J@EJ= zoPPDmD2D>vQo8LQ&M-=T7+8BAAZVq1z0w+zad4w6WJ>xAFPEu~~@S_4@NUAK<6j z;2nTdQXLzdAMofg5T;xJ@Yw5kbMLUm$V(fallDI1??ar2%4D!W_h0+?lUKj~xc2n7 z(6MX3|1?qiT>EaLq+4WBx8()svmSYw7eo!=0V{=N-q2k+B`XkF$?JBb z$LkK22&ACu9XUZId{)Wlr7V%eX`M9ylhvZmW(ycgdBV@himH2wfET3t#GY4(r0Q;2 z<%KMfKZ0#!u>`ds@&ZW)Fg-EcNdT@&#A>*UuNvSJ}|&)Oxy@uCk{}{m(}>MyhOA z$@bj0;cJJ4S2OGPiubB)WK~>WEG|~r=vR^5$qf9qCNm{*H+E?|c4;?ubvt&o61%o_ z??ILA+05)-n}*-kwdvB-ZuH`I^x|&x%69ZhCHnKN%rC*C0aw}6rLo;JL)&MDs%-OF z-KEI$*hUQYvl;m^{$+eKZtirq=kj*X<(-~4_v3+pXCDRJp8Xh_VeT@AzyZ84I?~MO zcMCK#*TJ}v3yu~#bvia!v(2?>XJE06+JVg0C%*BPL?@nD5`#}H$#4<5c#xzGJ-)Vbpc^gW4-L)*J>SG0qZRzi%D`*Y0B|dHICj03J3|vqon^ztirJ#H2 zMGEDHY0tq!)TNW>X=%$@fZ=;=t^h>}+Ya)47Ajk%e9ywyAkV}72Jg}YVHvHd2_x;8 zUK@t+f}+O2@}J*8j`wW+)kvRq`|oc5s`Evr;=Z6=-}45G1EuiVP}yGb4r^0;!R`%5 z2|x3cf3Z1M2~KFY_WYg2`4YGGtMWj_e@RQ3^Sf({<@YN7Q7!eo1BFh(8ugiXC)nTc z2m6ly9C)*#;#;M@wW~X9Tze0EJ0iuKrO~xpWwzpbQ@gp>d8U-w>3l<*-V2{D4eo^d zv=6{5(z7w}BJ}LSPWTP&gFT4f^}_P3XD8IJy$@DjxFzOZplkJU*;WZ$)Y7o~lB+!U z*~rV0O7Lyi%i;X1)YmhAnW+Rb+O2=tLUzx;2O0YWvyZ4W=w&2qI?3WudJy4y_Zc?3 z&oJ%FnAQh2j?$w($_csbLuqNHg+vB_3`)?G*X_6I2f29~7wJ;U;(B3>o78;=(;A>h vr(OWDZ)F(fdyAE^{pdkV-#6&&w`lTjXz~ZgWoCj|J-0qs9Q+AU-H7#Hu4~GD diff --git a/backend/models/__pycache__/telegram_bot.cpython-312.pyc b/backend/models/__pycache__/telegram_bot.cpython-312.pyc deleted file mode 100644 index be8ec9d3a568a87aead0245ceb6e6a40f18f5f8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1682 zcmbtU&uiOO9DkDK*z&Kqj@?w4b;D(C-Ig%2j$yA9>SQfqG_WL>7&9U3y`(RdrA(3s zE;;y+Lvo5m53=dN-gcNvdgxy<2HT+pLxtENuv2awX?N&ld(U<}cQ}W#@8PTO_oMgy z^?6_EmuNHuh}{0|BL39}z#r5(5&zIQ&J)7{5I{x+6{g5AfCYB|WOo4cA!d_13HbMU zKypzj`f6O(e?-kJr{y7>oE!8%t_df>(Jax^ zV*B_cPWaI*>=-Ap|B)v&*3UEy?|@>w7Rg4v@G4T#h9Or9y5&W!p(B-b%UmT(6W%g# zMK)^EeN;PwWWw773~E(XmCGtR`k5dE2tc$hS5@oiZ{j~l%2n&$HCeInH`uCOGi#=W zD$4MZ`y>U4raOB4Jy8zW2Ah5OZAH-GQjOyTov`r)ofyynu2~wj_e`*p&L?A}8ZpuhVT?18x^7ZVK6rCuF<)BHAu8d;Nv{Oq_Kt*_YhpIY+cbHzhblyXelQoo##D z72a!~Z=HA3@4rZ2eV)GRW-h+SDgZ z&~+8bnlVG6BvmP@=$G~w7y`9tsiHrzzM?hEpNQH4Zt_C??jfJpP3#MMLSx>^+xhPG z9{*9j;D(dC^ZU8ITw|@V?5x>qP4nSbUDOL-uP?fh)NWy4+!GtPQFgG6JHCfnx7v$* zQvckI&F+@>@g8pSO}5Rq_|An#v8SnC?9=)kH!d_-hqw7=rhTP#r3-uUkL#kFNH;Q0 z*3LG?W}z*%#E$Z4>FH`Ok*|MoC}f(6w$Ktfxz7BLx$kn_l^6cWd(83v z&|pM5-BOnGW`;X3H`sx>s!90kv+BP~w_-p;hH^2Y=1uU%;C5~rACebz)l5p?OCQ59 Wzk|#xF2#gMiq9$ad1oO66BiD+HP7=;B9#=OD#7$h3zlmy%Qdh8}uIK#*l=!H`pL2A8(C_KiMl1%x4V4sYN4&Aj*K z{ob3MiG+g)){WmT(qG*Oz2-)Ld3wt60w@)Y{zDDC-!8)?CD<#P&G`|Bh{(1nl;Nj4A@Fk-GvH*=pu2Bc)-hG$jkJDh$e z5#W(iyRTsvc3*>Nd@=tSzOn9^K{<&w^K(KM!6NpY#0kE2oL`2<3B7fk;rEfwi1Y4X zMZH>F*n3h-OTD4S*SKrP<@+pm{2P0nd5=)SyKkV_i-E-shY{VTG<=(m)W zuUKV^sYRvN-wrc;eqdDn$3KHoK^WaZt6j?8kXQh`H&cTf*ai5I@yBk!y@MyaIu-%< z55YZvcOK%Kd)N#3klFvhH-(=192d!EhVa~{;>AYmc|?L=K06xZ7JE9do?lha$?4o-aokTDwTPe${daO zqroHO4+M`PBzlTg(s9R62q%RQCrAj~v7~WbBIKKrto3$A2q{q0Vj9&|-GJ>dA&k#Y zci-gyFUPxNXr&_1n$?-QrJ5#hh2y==Osa30VK7WSKqjxr@huvLrpme*<{56>g zzL_AzVnDh=WCq^35>qWmI!cJ5$(F_0QdCVN1R4Q1IRU|qcjQwu&O`CPWk>MaSA66FaP(ORQZHMM6%eEBR z&F*BYxjNmW2ku9DtJIc0u6%AsqPuj5HeAiXe&As0N#t3g9l2Kd!j8u3fxSQ@)x7-p zax34CepJcYv3Nbbmu@UJv-{Zt<;lvkwRUX2^3`E-qM6)J9$ft?^FyX}`^W1qKKZ(x z#4p5ie~SSR^a_MI-Y;Y&EjnYpahmOp(`?BCraSz5Zt?-^mi-QQ>G*Lf9REVMvDeLM gFgZsSKXK$11mSm-`cq5@!D_00sdniv1Zv0gKM~h&UH||9 diff --git a/backend/models/__pycache__/user.cpython-311.pyc b/backend/models/__pycache__/user.cpython-311.pyc deleted file mode 100644 index 7f7f9b020d99c9827800bc75e0106891afe96ac6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6387 zcmb6dZEO_Bb@p!ezP#r>`}~P*yv7dp0kMNIflz1!#5APANpMh-!{l__tj)sSoin?K z@x?@LYgKN7)N2}wo8r`I6Ji=yr43d6BdU_9mC`@e9Xg5AO0KL{l?pbJqqI`QpZ3k} z-TBrwtvWaNX6DU%GjHC^y!U25@OnK6(x2qNocW*%p})~aAsIagF<<@zFjo*pm{Cxa z2{H_=+Z0>W9<&>EyTV4fAZOHB#SwJ|okpEgTv2z>9rXk~M%$s3Mfo5f^#;90+o_aC zg`m%OgMXf`7B}Ec6Kt>!yZTX}@eV}?7`-eU zi^a9DCdXqcG+oaO(`s0Ox~KoSrw=NTGg5RETJ967M2^W9X~r&?nj9iP{>Th7*dWd$2T2q)1o;@pyBVP)Hjcmh_5ZOO8q)va0F+0xBv+<79LV zayU%FiXthp8r7>U0)|2)o`_*J0-_X?!>lo1jxqFbNhru*6ttayLl(5dHnZ4a)R&ro&KQt)~{GHfw4MzA7{$>I`=bY;rXy8Mt1tSGr*bRIh3t!oKKA4eT zb2!`vr`N(+zJ}8|C#;dvV{rKjTv8c!f>af2q~dWUNag<@R9=Isic;Y%xE2m-Ic~-E zPztyWH$dqFd?S<ON5ine z=cG~H8%}6(ITj&saAI1r%sk5{<(PI#x5@ar1-#Q=N%2K9F>ZhU5p5F43I+zrB}MI`dg~k>)m?Cl z;I4*3NiUtbv(Thts{sJxC?`BS)pK=ET6h-nY|q?2vo^1N{F+&#(Dm$>K#X*@FCLR3 z#kB#7-WEeQPeA1g(f}6HOi?EV3@yhP>pd7lq2hQL^}~|;z<4=_M{p>jUC>!--Ut;H zwsR*GMqQ;WqDZ=-(0NtTismp`VJx&1)dfUqJ%DkvP}lrZ{%wBd#Y|miwytxMz2u#Q zAL*gvu=H$L7RLeFSlpjszALD7+lLvf!#MOxlhQ<^qJS}t-L^$PiP zmL7W}VaFI}-Ns{m4z}9Ahl8!&)4%O%_>; zKDRIrEkRN^HmimixE*A`!sjlfFVr_UR)sF4Q8SQFXUht;8NN^}Eys{`e&#{kC7N30 zx0+A}#hzNHhkg%)9uUC6XMcGH}8HlBi{YZ`0};syYn}e-v3wx zzI)%9zIXZR(i`t}7KaqYZDP9_eC%r%m!?unufHX>n@)aT`_j8tMLPUDKe%^!YU%n- z@vq-~Q+z=p=aN!lC_lVqsJp+L7ngrLZ_rT_ugIr6EFsTYrib&0EdZ%=jPXQB9*Bw;m_7zX<*iO-XS z6xdNB92NVsUmAj&n(8o@-DNH|usnTpY5HTj$mMI_gGJ{jl(C_Ncjin@=T*N}jXFA# zgcyv*aQl+Zy!xI`ZYsDr@w`Oj!BKG#9HE5wi4UoL$<|^gk*EO`JIp97P(l?D3{$Fm zR4q(2bwt+A=rtqB&<5cpp^i^?m=o#l-U|`Q2y1nx5+52e0@sl+iO~vQswwgq<+I__ z5JXC<3W2b04`Zx5BJpTc)^rz%D++a80q3f1*X<-cqTAxkbg6it`6Op!_ZqPKF=maA);^scZT zckQB3`Tf^ke{D+62pw6WV+C>EU9*RO)%T0O`NuLldb2xv4OC8SOL-Tnx6dBFQJ1OS zm#yBHvZZYQa-f=~D=)wK^30R7kxX@Wwz@lI`|7I&p>74)+_kG_DG(cnW24Igs&5XIsgXI{45JSevGUGs*jUh_o0{~%#P?_p^YtQ$_E{&yK4MsF^ z-&=V3our}ceP6NJPRD3JwXxv8hw*5jLBop~sIN~}Grw`rVWqjqj4|MjA-2*=!h^F^ zSw?zL&@i{g70;A}A_ZQAtaE{5vG{bW>k z56X%rkWqWAb@>U8P( zyUn-X;@dNPAj=0PnVjIGcc?DsuTAwVfCWh27Fur!t+Op@p*17y$O=1d3*EPb?u^ir z6?)RH9%Dy0-mte}&i`k_N;aby_M(#K!c1{nVBlgJW7cg($yOH0{@Z4>0abt_R7b`h zkQZp}MG9V`T{c1~NDzQU_r8Lj6L4(lTP#^^QGWqVDC1E8bO)*@U!JPG&2PEIZ^`g& zS-$PRX#F`u>s?u)>$b4_masb`?8ypy(yl#**84!P9aJ!SIRmWWvdoKWV0Ukb{hEoT zM~NJ#z@Y6nvBomjV5{j%i7qY_(mkONyrL2ct@EMKD~Yg@@A1M{4*Eznn}kNshPlv% zP^jdy4?MD*w9A;tkbyp52n}}$HB83Kj_jhfeH1)H!E*rMB}2a)MWT{+CXUHTia!P5 zIx2ul~?*WaFT8^OvjIG=6NcrZpA4!G7{Yy5?x6=4iI&==h;Dd(_Ms z_Gqp#Fm-Hp>+IGWmDjh;ZJU4o^WJph@l50KY~%6qC)4b4GiTW2x%#bBO*7|b&d)~P zef7Op=X*YXDE-38bp1f4ejr;vFy5PH2h5yd2UdsmU*A5r{Sz+TcqG$!B-?m|4tm7Q z8TLr7Y1`DP**){UFm2QEOw;jf)7oh_Z=Z_Jeq;W`=O@ye`!k#SvzzR-XW0G~ z2g5zbz%^bAT@2Sn(WSui2v@a&tYDB~IPjTP;6jed6&uU#UO@%$g&lAc116Tw_wS|s zCMfAI!J7MJm^vrDAmBSz5AFT(qA#E~$?6Flu&c(C^L40Pfd^FSi+c4d!%T_s0K$AK zeI{uo&!n}F8tY@OAFX?&undCd19*(WgU)o34$=!Vks|S` zrH<3B#KSm5RY1-{*Q>Ofjsd}!&CXRV2o;x-G|ZaD?;oCZzWelhPiKUkSz%||wezcm zGT1eSZe0Q71plNqsjb)n0fB=`zg&KMXAipRIcT$g$}j-IL{J%4wM_=08K|e%dN2Xs zci>tRYGZW=e6fUxm9Vto8&tyTxsdvb5;nik5{{zFOf*Efa*WWefoOS^#JJ`3TI=Pj z*v>eK5~_Q{KIj#N@U>HwA_*dEqlCUd$>S6pqP#->nb8?BKiv}gE;SWxgx%aR`c22Y z_f&@jQ$WL5!yw#u?KjQU*9ko;G~`i_0t6*7Ob%^HTXPOIq^)@owWqB)hg#CsoI_jF z8|55&B)w72p>L+GIfu%}jo*p`F@ZGdD9wwUFdqEYz{J3~4MN(icYW SKTB!O+gJup*#m%~>i+;4=SPA7 diff --git a/backend/models/__pycache__/user.cpython-312.pyc b/backend/models/__pycache__/user.cpython-312.pyc deleted file mode 100644 index d95815e53077122cc6533d2e5c4e721de7871df5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5771 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 rvV7T<<&`(e_5eLf@oAUe@gKV7Q diff --git a/backend/models/__pycache__/user.cpython-313.pyc b/backend/models/__pycache__/user.cpython-313.pyc deleted file mode 100644 index b643a7d98a88d85cb31347953f0b6bf1bbd26c2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5669 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 diff --git a/backend/models/bios_baseline.py b/backend/models/bios_baseline.py new file mode 100644 index 0000000..b59a0c1 --- /dev/null +++ b/backend/models/bios_baseline.py @@ -0,0 +1,86 @@ +""" +BIOS Baseline 모델 +backend/models/bios_baseline.py + +Redfish로 가져온 표준 BIOS 설정을 저장하고 관리하는 모델 +""" + +from datetime import datetime +from backend.models.user import db + +class BiosBaseline(db.Model): + """BIOS 설정 기준값 모델 - Redfish로 가져온 표준 설정""" + __tablename__ = 'bios_baselines' + + id = db.Column(db.Integer, primary_key=True) + + # 기본 정보 + name = db.Column(db.String(100), nullable=False, unique=True) # 예: "R6615_GPU_Standard_2024" + server_model = db.Column(db.String(100), nullable=False) # 예: "PowerEdge R6615" + server_type = db.Column(db.String(50)) # 예: "GPU Server", "Storage Server" + description = db.Column(db.String(500)) # 설명 + + # Redfish로 가져온 원본 데이터 + bios_data = db.Column(db.JSON, nullable=False) # BIOS 설정값 전체 (JSON) + bios_metadata = db.Column(db.JSON, nullable=True) # BIOS 메타데이터 (AttributeName -> DisplayName 매핑) + idrac_data = db.Column(db.JSON, nullable=True) # iDRAC 설정값 (JSON) + idrac_metadata = db.Column(db.JSON, nullable=True) # iDRAC 메타데이터 (DisplayName 매핑) + raid_data = db.Column(db.JSON, nullable=True) # RAID/Storage 구성 (JSON) + nic_data = db.Column(db.JSON, nullable=True) # NIC 설정 (Adapters) + boot_data = db.Column(db.JSON, nullable=True) # 부팅 설정 (Order) + firmware_data = db.Column(db.JSON, nullable=True) # 펌웨어 목록 + + # 메타데이터 + source_ip = db.Column(db.String(50)) # 이 baseline을 생성한 서버 IP + source_service_tag = db.Column(db.String(50)) # 원본 서버 Service Tag + bios_version = db.Column(db.String(50)) # BIOS 버전 + total_settings = db.Column(db.Integer) # 총 설정 항목 수 + + # 복사 관계 (어떤 baseline에서 복사되었는지) + copied_from_id = db.Column(db.Integer, db.ForeignKey('bios_baselines.id'), nullable=True) + + # 상태 및 관리 + is_active = db.Column(db.Boolean, default=True) + created_by = db.Column(db.String(100)) # 생성자 + created_at = db.Column(db.DateTime, default=datetime.utcnow) + updated_at = db.Column(db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow) + + # 관계 설정 + copied_from = db.relationship('BiosBaseline', remote_side=[id], backref='copies') + + def to_dict(self, include_data=False): + """ + 딕셔너리로 변환 + include_data: True면 bios_data, idrac_data, raid_data 등 상세 데이터 포함 (상세 조회 시) + """ + data = { + 'id': self.id, + 'name': self.name, + 'server_model': self.server_model, + 'server_type': self.server_type, + 'description': self.description, + 'source_ip': self.source_ip, + 'source_service_tag': self.source_service_tag, + 'bios_version': self.bios_version, + 'total_settings': self.total_settings, + 'copied_from_id': self.copied_from_id, + 'is_active': self.is_active, + 'created_by': self.created_by, + 'created_at': self.created_at.isoformat() if self.created_at else None, + 'updated_at': self.updated_at.isoformat() if self.updated_at else None + } + + if include_data: + data['bios_data'] = self.bios_data + data['bios_metadata'] = self.bios_metadata + data['idrac_data'] = self.idrac_data + data['idrac_metadata'] = self.idrac_metadata + data['raid_data'] = self.raid_data + data['nic_data'] = self.nic_data + data['boot_data'] = self.boot_data + data['firmware_data'] = self.firmware_data + + return data + + def __repr__(self): + return f'' diff --git a/backend/models/server_config.py b/backend/models/server_config.py new file mode 100644 index 0000000..82fb589 --- /dev/null +++ b/backend/models/server_config.py @@ -0,0 +1,36 @@ +from datetime import datetime +from backend.models.user import db + +class ServerConfigSnapshot(db.Model): + """ + 서버 설정 스냅샷 (BIOS, iDRAC, System 등) + """ + __tablename__ = 'server_config_snapshots' + + id = db.Column(db.Integer, primary_key=True) + server_id = db.Column(db.Integer, db.ForeignKey('idrac_servers.id'), nullable=False) + + # 설정 유형: bios, idrac, system + config_type = db.Column(db.String(20), nullable=False) + + # JSON 데이터 저장 + data = db.Column(db.JSON, nullable=True) + + # 데이터 해시 (변경 감지용 - Optional) + hash_value = db.Column(db.String(64), nullable=True) + + created_at = db.Column(db.DateTime, default=datetime.utcnow) + updated_at = db.Column(db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow) + + # 관계 설정 (IdracServer와의 관계는 IdracServer 모델에서 backref로 설정될 수도 있음) + server = db.relationship('IdracServer', backref=db.backref('config_snapshots', lazy=True)) + + def to_dict(self): + return { + 'id': self.id, + 'server_id': self.server_id, + 'server_name': self.server.name if self.server else 'Unknown', + 'config_type': self.config_type, + 'data': self.data, + 'updated_at': self.updated_at.strftime('%Y-%m-%d %H:%M:%S') + } diff --git a/backend/routes/__init__.py b/backend/routes/__init__.py index 70b879a..b69e7ea 100644 --- a/backend/routes/__init__.py +++ b/backend/routes/__init__.py @@ -12,6 +12,9 @@ from .idrac_routes import register_idrac_routes from .catalog_sync import catalog_bp from .scp_routes import scp_bp from .drm_sync import drm_sync_bp +from .server_config_routes import server_config_bp +from .bios_baseline_routes import register_bios_baseline_routes +from .script_manager import script_manager_bp def register_routes(app: Flask, socketio=None) -> None: @@ -28,3 +31,14 @@ def register_routes(app: Flask, socketio=None) -> None: app.register_blueprint(catalog_bp) app.register_blueprint(scp_bp) app.register_blueprint(drm_sync_bp) + app.register_blueprint(server_config_bp) + register_bios_baseline_routes(app) + app.register_blueprint(script_manager_bp) + + # CSRF 제외 - server_config API 엔드포인트 + try: + csrf = app.extensions.get('csrf') + if csrf: + csrf.exempt(server_config_bp) + except Exception as e: + app.logger.warning(f"CSRF exemption failed for server_config_bp: {e}") diff --git a/backend/routes/__pycache__/__init__.cpython-311.pyc b/backend/routes/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index 90bb2cc893f31ebcab29ed690553a2d2106eab09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1765 zcmaJ>&1(}u6rW8d&3C_&Hr0L*R9b`39C{P+=)prT-uAL=vs=4%W;f1m{D2-raw;AQ z7FtRR6`?A6P*CvTAF+{uVZoDl&_t;8)|2xlO*UIYhR5SK^Lz95?faNl>2w0|wRHdQ z+NUr=KVZ{Yd=E=HIplf=X-Ja@qLM60fI}oi!*ZD8u!aey5ji4ogbdNB92Izo#AsZO z3mhd0nv|0Q$4H8%<+Q+YGE7J05rGqAl#a<`0w>8h&Bz&nQzT0#pJTST?je@SgJ%k;a3?dVKdv#72xtK#Tj z<)5n+XU#vK=-R6qHB6uIFHp7jJk!1Kh?0Kh702i~AMcv48bntf82ZCNH216(+xOx} zV`xk*`9z|mIx4a5Dl6q>FRYf!4DhM4YDnCanV%hXFDNYL2=n%7r4xy=)^gB(cD z+1fxyeD}6{A|dCj6TqMk8|mEa%SLSYg(aX#*9R`UggxDzXvChYBC_+Aex>VG7?-Y5@6x&T@n5&jz>JN)6 zDi71titQmODvDtmj-o7$QQS-|)q+ z_~OC!8lJD?dAB1cJU;$PEEllIhnN!vy}-tSxZoueWwpYmMpqODeeXq9;Q?t66oywr z6vV^uP>8a45%D&N>UbCmDr)3~`3oQl<;7v>4ad-JQ8O>z9d=PZ55t&?B6_Lb$!?c4 z)fsO4u~`zu6zP70*c8M)$<=A>2DP*b(QmSOzJ=MfK_7=DNot@=ZcrL1=LV&L=G~z5 tJGttjfb_Gu;-Y{w&^0$G4ODQ0($7!PMFD99-SV#-1o@$$66>n_?W6x8M8b?dO==&&{{afXc0yq1@^ zkBrhWZA{<+bI|Nxj%eeH*+Om?u3b=g%5WUlH+VOq*d{Yd!A7!V_y%!r>T_lBdDJVF1)42|K$6zN;w^fs?5jeGRpf&paxJ0l z7FLko>OMjT*htUXSimkR+pT|zGZF#cb#kgFo9W4Bd$I$)*d=r;*XDz_Kh(y-4gOO( z@^9s$QV3P93BLY*rT*;Y-pX?Q`J26m@72cUhac~j)%ugS^{1QDs^^w&TVl@Y4_8!} z0=2&Rp|K8?jn&7E<&FA_M{482>&E)l^lTx`qT)mbqOmvxkcoj08A!v@5I_#rCjt)! zV~$j;GP50@fh??FghGgijdGdC+c)q)eO3K)?($6Wl51K;`||aRm-MU7yjyIJiVbki z5EpjLVsq?^x^6qRuj|w0MV{>pVsn#$F7QKdL4^D0J04xjRq^4S&U;@B5F{t1t7%vAC5AUpdRPwtC<2@lT}FoUi#7+M}> zmS15G$Fr_u6()F6*XJvOv2>lmyzH8fd6`5HPdpD7uS)zGOLDoA{~hD3Vg7fvfj<&l2@ DISGNH diff --git a/backend/routes/__pycache__/__init__.cpython-313.pyc b/backend/routes/__pycache__/__init__.cpython-313.pyc deleted file mode 100644 index 1ababd7693ff6290cb678f0611ecbafb8f42ecf0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1080 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 b8pnMRb>aIu<9?3%fHUo1t^Z&Z4f+28FZjl| diff --git a/backend/routes/__pycache__/admin.cpython-313.pyc b/backend/routes/__pycache__/admin.cpython-313.pyc deleted file mode 100644 index 4f6755711e8bd3d090e8afc2fe40943393cda458..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6633 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 IsFYXizuZK@2><{9 diff --git a/backend/routes/__pycache__/admin.cpython-314.pyc b/backend/routes/__pycache__/admin.cpython-314.pyc deleted file mode 100644 index 94b58a7669d2251a29eccaf67bec3d6567eb6db5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15201 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 MxlsMiDjM?t1-+~*g#Z8m diff --git a/backend/routes/__pycache__/auth.cpython-311.pyc b/backend/routes/__pycache__/auth.cpython-311.pyc deleted file mode 100644 index 21ca790f733d6817fe6a0bebd614a5155930dab7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10447 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 E3)@C?B>(^b diff --git a/backend/routes/__pycache__/auth.cpython-312.pyc b/backend/routes/__pycache__/auth.cpython-312.pyc deleted file mode 100644 index 90239e412b78951f3be7031e02cc4756e0dddbff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17797 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

  • kA@! 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 SAs-1puUx56Y*mnD^#1_nNC%Vv diff --git a/backend/routes/__pycache__/idrac_routes.cpython-313.pyc b/backend/routes/__pycache__/idrac_routes.cpython-313.pyc deleted file mode 100644 index bf33a672d9d8852c8e76007af4c068960de80b33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23817 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 I+(i5T0Xs5{@c;k- diff --git a/backend/routes/__pycache__/idrac_routes.cpython-314.pyc b/backend/routes/__pycache__/idrac_routes.cpython-314.pyc deleted file mode 100644 index 2496dd76e45c68d0e6470c45012c5d1b36c25c0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41104 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 NZ&ImttGH$K{{oHOO+5er diff --git a/backend/routes/__pycache__/jobs.cpython-311.pyc b/backend/routes/__pycache__/jobs.cpython-311.pyc deleted file mode 100644 index 2af6eb2f881432a783414e984aa140f3a6902ce5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11375 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 diff --git a/backend/routes/__pycache__/jobs.cpython-312.pyc b/backend/routes/__pycache__/jobs.cpython-312.pyc deleted file mode 100644 index 0bc64c8e27ed9aab8249048874aaff71d213cb05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9673 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
    47;C5~&)UwS@zEK$-l-J2{ezczYlG#W~j zwoLaem%HYg=9?4cozw2+vc}j*qHODQKTPXrovZ&v^PT4TEs55yMA^RS{y%Dwy*g>D zh}-I8FU>b4nxFW{UI~!4x>#MJxOKXF*w#R3sg#*dD#$;_nl52TTplc}pBhnSwVDe^ z1{hRi10`BZHjsWv*|ZVN)LA)gNrJAPIRC`Vfs0+|yRN@5Xa9xcjst|_>Uek8QuWjE z>Zg-s717=+-=9%0gWS4r_s#ar^(Pv3&r9#T_|}UHXA*k`mTc~X&Ase&&DABGJ7&6* zWzOrNo8lW{qPp#OWo=1E(~@Ir+_Cj%pIQYPT91VXoBeOGE z-u#;T3-FzW<%))zU2k-KSh0nYif+GjI#zu7`yV;DPbwR44!$usSD&bCo9Ve%!9m~0 zT;pxStYNM-!R=n+Iv0u-PRDC{X8M!W^*2Lrgce(#NK|*s^b!5-S*jnHljfhl^YVL! zc>6%2+C9^ktZ%v9G25}Yb#J1+>%E4>`resCpO)4CT%UB*Eje6qhik5JUVo?kLr3TD z%eiRT?PIZHgx2mk$LzjD_0Fg|xpPlcy;#{EcWhhUy6dOMqw45j+|ioDum8}|_MjP6 zKDOG548`djcCy$GY42+-ms+B`F1IC1%C8-}bSydw2EJ@}MmytMdgAup2L_GP_yy7! zOb?ELI!jmof&KT0s^jpdtG-*eGojnLtS`D~K5vd4pEk$!?Vp&6;bLXE$UbxY za&@xE3EKy`Lt)7s3aiom>5)%OGwRyBjC!={uD*FqLVc5c=X0{}Ku#Ty|4et#_xBo} zGoug9#^(#wAC|T~Z&WX_478Vw8mQAB-Er75{UowbiW(Z^|Ka;kLA=0h94{ybfZUOk z9Q8Q3EE^)&>xy!m6Y~<*uvBzRMU&DS&yl^Z`9IE~79iO!s4ZwGrS8&976Ch{-^`>g zT<7k;dW%c_@J8y~TbO(;Xow@Thao~ct2=xIf}YM!xHKUVgsg!mIW(a}Cqz*2sSE{V zRs?8?#8u?eL_b9MyYNOUHH1hK`9Mygk4=_~d(Q8f*?pmF$y5^^S~51pjZFz-%T)J0 zoiS-Go<6gvcO=b)7yHil&GcS4vShA};w4iHe6A9v)~N$Yvt_0^+7K;Wv~r84+C{dO zhD~e2yR5nbFem(Kg#2Ozxfzk+Hp%tpZp{=G!kLnUF|-VslveJUy9eRWC=22w%QNPF z8IXT`<5q6Gn|gB|?mxMe%WuJDnDW~IdM|oC6}v%(?!P{F|J>VfF~+Uj{@c_)N4fh~ z=Tg&ABMosO=F`xhBAl&pLnx8?RRM>CqY%FZA8(7!$Xu1TNpR~M@&~21^ffwRE**H17&jfp61A-hJZVgc z$@w0_!C>T2`hrmJ^%C<1zKBoaza|w8e<6*9Fl5CMjXHBz$@n|aCu^uM=+!*EE~dAJ zH0Daj(msOtT~ZNot-o#7KQ$f>OpXP+@C=NCERpmw)T?TSVIHW|4Es=z81ug)%kNQF z0(JcdYWjjTFsd&QR1axoM~v}fgLTQ^{J`LhK9MjqOlcozk;y*O8||MjiyJ$pbnsqW zGBb4T_>Ye-*0j%;B}zIHMV(WYk09_;-88&uSghMUe>&mlO4#=;qM|k3k%Z%^gnjSk z-T!GWi&e+X+olW<*{KXas(Phr8b^Dgd#0)unffGC_&}v%S{|yA%1Ww+RTf@XjSA?Q z*zQ;}0d1wA21b_!-LeX6)vY=<0ktrcAgurtURUcB&=+H+F+HK`qEtmy9@*Aamb|Z? Z&}f;usCpH_Bi8VUJRUlA%uZ^j{|nwZ9kT!c diff --git a/backend/routes/__pycache__/jobs.cpython-314.pyc b/backend/routes/__pycache__/jobs.cpython-314.pyc deleted file mode 100644 index 36a1d78ac28e418c7f03ca47eff1d10498a3aee1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10265 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 E0qZDGPyhe` diff --git a/backend/routes/__pycache__/main.cpython-311.pyc b/backend/routes/__pycache__/main.cpython-311.pyc deleted file mode 100644 index 40285b3531f13ed4c4aa4aecb6bd35c71bfa3d18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15126 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 YiFrzAqqw~*}5yXF^7cnS=1bMqwP7s#~nxM%b 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 HjK}{Ul;J&_ diff --git a/backend/routes/__pycache__/scp_routes.cpython-312.pyc b/backend/routes/__pycache__/scp_routes.cpython-312.pyc deleted file mode 100644 index d30614466f7c778797d297c5eb5f94789110e1fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6981 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 RUQD+#U-xqjBvC7L<6n~8wPpYS diff --git a/backend/routes/__pycache__/scp_routes.cpython-314.pyc b/backend/routes/__pycache__/scp_routes.cpython-314.pyc deleted file mode 100644 index 707851f18888905d66330babffb902f3113709c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8313 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 diff --git a/backend/routes/__pycache__/utilities.cpython-311.pyc b/backend/routes/__pycache__/utilities.cpython-311.pyc deleted file mode 100644 index 0db48c68fdb1d46ac2fec057285054c6c81eef90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16620 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 JIRkkh{}0r+!aV>0 diff --git a/backend/routes/__pycache__/utilities.cpython-312.pyc b/backend/routes/__pycache__/utilities.cpython-312.pyc deleted file mode 100644 index be8d5f1933207dff0c55f6fab4c6d13e6466a5ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14886 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 diff --git a/backend/routes/__pycache__/utilities.cpython-314.pyc b/backend/routes/__pycache__/utilities.cpython-314.pyc deleted file mode 100644 index 17812b2d1256c68a326424322fde624d80beed19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23079 zcmeHvdvp`mx$lggqxaMD8;`LAh=&0i^Y8=0%MbiO2qBCWONzMVHcmrN-FwqjlAJ)AN6)x2$ExD4a&vRnS&hZIZbMem{>@B6;J7icv~0^F{;F3(RJ2;zU?58g>*0rI0p5kYhl zy9hg3Pt=iqvH-)PdXZnmUB!Meca``h+*RtAa#xvO23K*typHlyTpCHeqE6{o)~Woe zI<;S2r}1m*w0>=!&abP}`}JHLX}zJ&=r?j^Bz>Pbv!uyZp(FWl$1yev6&T zB>b6AT5L;WcanX(!mcbK?Wz^=*iRbm>P%u;JPLpHXU~vYGcC0?P3oK(QtPIr)~89G zJ40&2wA98lsq4wrM9F=J!^*4nbT5drAb|27ZnlK>_1^&SjmX0 zwX?I!-|F{tb^4m&x5U=!-)EIa6ze(yZZG5M^he~3`%u8`^G7Jg-R@!BZE!2Vbh!3( zF%jvWj#l5khx#C>fGbm8<7V5 zo(^9dnKWj^5Qcy9qa_gNCY*#V`Dr|2OME;L#IpF)0>Vx}eaL33C}L#Xdp$nCn{n+H z3Quuwa_#oQ+r_P3uMgABiLBaC(Xzg)-QD8ZU|+l5Ro}U%tHsmKw6?iC7~I|3b^t2U z!gK}vZeI)L;qiOiz7p@zh*@|G-gd>JFlNYB2md}jc-=%;A|I3Fj7V|@R{o2m_#?PS z9Mdg6*mc)<6{rkGweQg+xcWMZ5?eYI8%&?a;z@lK+x%R`9~CM^a%4bQ>b3@J4+B-JE+?`R*Y zCchzwT%u(@-vYLUd?;}(BwAo3#hgRv^Q3zkzGe7tw19BvQp&5FUayU01I%amo!N~J zt(vf#9D4B0rBbiS0r6KF38FoVYZH?_!=Zy`7Kh%UTPVyj1OfLlOQlo#*aU4wtUL#4 zq35AJP4+B@0sC)itfcl!KN7MXrm4N&QYN%Q>>WGc9o$&6%bG}gPNMcxzB$64>(JWs z9C~{`lx3DfDtw<%dnliDv6OGWBEn83{|bl-U>5UI9)c!Xa9QD;jA*aIlwM_09iW|3 z9gJqFLzz;Csk4DRsTY-eDHaPOJs`@55_y$tlvpyndPomZDb6Q6WJ-zPo5ndjAHMI# ze@Kdx7+EE$w1)!>pg~3*k$-QPcnk)FFNN`4h&EE?pZytBLvcz*@y> z5BaweLQAwDJmDPFV_U5L4_OZ=Wx9GK^=JAqsehPn8u~!g@bh$Y2KVGOV(M7h67PYu z>&yMx$7`ISrHzS}OR7=&5o&N4r;bpet;G$QiMHlPl(oQdRTPnXTN!t!-xs0WM*!uy zx(-|gKpD!YHGfWrL9Lb1dRG+I20V;El1H=(!d%)Y_X=?=x7|{t~h!g1a2cQXw z_n#g7Kf`C}Cz{r-f0CZ~-cO_7zaD*N=)>V5cyn;#nF0Flg@Netm+oFTH_;oU7tztn zXD43%IUOrq^x|8+qY6G4>OiR>Us^wa#2!ujaMVS3^pdp;cMhUn1k#QOu^p`j(?MWjFc z+0chCzk=QMR4dcz=>*!~2ddH$p`foldpz!TM9w~6>t1(6#&x96n!{j`8C?D&hWZ$` zZ?4(ws@dGQVWT~wgzWjS^xy$tGYlf)2({PkcOi#~h#?e_!#HB#Aq0FJR*xt)9%*xX zktIdsz-oZj>}6UFCqi30SqD{hT+LrF_HwC1q|4INE;#& z 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 diff --git a/backend/routes/__pycache__/xml.cpython-311.pyc b/backend/routes/__pycache__/xml.cpython-311.pyc deleted file mode 100644 index 5e153db197aaccbf605d504b919d2c0433d2869e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9927 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 Tms8JCs_r`Kj|_f5X5xPV@uDNS diff --git a/backend/routes/__pycache__/xml.cpython-313.pyc b/backend/routes/__pycache__/xml.cpython-313.pyc deleted file mode 100644 index d00f60bf67ffa292fde4eb979f9eb7b6a9b3fa4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6651 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 diff --git a/backend/routes/__pycache__/xml.cpython-314.pyc b/backend/routes/__pycache__/xml.cpython-314.pyc deleted file mode 100644 index 300789f171a0693e9a0caa61788621003fd0438b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9323 zcmd5?eQ*;;mhaK%W2BK~`5S}5;v--!AQKyGz<^`?fz5}l2!{<7flgQgR0v5KjTYjn zY?OrTnvX4)XXPflW6MXMZVK4nrXYP ztDw^&T4-J0RoH12t<~g+VI^@HjudUy$b7|O7gs^V5|^=pxJ(r!XcbFcJk-s!UUsC| zxls`{SGo!|gS42ASX`D0vRQsmOR?fE{R&-H2jePg%yNg`#f$V_a+lsEcl0g=Ny|{u zJ0z&Q%NXUZ3K&H*PlhEhO68)XEOlvC6Z_InaDH}1;=Q3zSoDg4a46ah&swKfJZaZU z#@)e~KOzJ|qEsmOLq5OY5&fqlL9ghS41)jBm_I5?oZ$Bb1b?3>8Dc`vb380ay5m7_ z^dt;q35HJuLLMXq5+A(Lw}wN<11BW*?CD@%cCqOyvyj6d^Z6#I#K|Gz%x|S6gt)T{ zOo*~k)x{u698zu*N@2VL_={R0i<6sL z!?bqkq;~0O!(X(kK8JUNPEwhQ7GBUv+Mt4yJgV7xju0Qbt0E6FCm9#x(zsZcwifqC z_X$o{;*JM`{*d>yUt*)8An66a7!yL0_E0F{^O5>FT8?d&p9MI`vdmD@q{@5=9^j=J3-;ZEnkoneRm^Qnw)y2mMf7ztPdkG4!af>BpL|@L`fG6 zpYaQV85*VHmi_yCe%RjTX@9u4z58HSPxnDPBP@X?Sp~AI@)|_vi=8q=%qa$Zudg6sA#-oXrRCPn*(T}RPO;N3oTUDdm0UN6HKS2-5KAw;j02&8MjaX_ASXYumi}qD! zq4f8`Sim3p%gLovC{BWupi+j||3Hf=Jv5XaJ3o6ak^a@Iw%Ml#Gf$td&5Vs^p1*EO zzdDh*I+%XtO=L$?G@=N2}=2!+rjD=#Z)9GfIf-$_Y}6N%#4Uu%oY=g_$0gg@jz z8xeL%8=~G&Kn(QzJrThl^$S1pdt#wL9~f)Lj$pXY8;tI9sMKiAqNw{{egYCD%O9BB z&^&f*r1$y$)Q0B2M^V9_E-GbuJHEh^les#Q{>?w72lF@O>ND95u(J|FB&Jqk+;+Wy zJ%#m>w2?-5A zMo+FADqqIQZ3{752f2&8ruh|<{EB$n3|~IY+dkxNV`byo6u&Xv_OE>5aQ$=jQ*^4S z@&|_NhwFcydz>zL;KPy!W-LpRm0MGmZAot1O};R`kDmSh!de8b)83Hxg#WZZB=!MU zH5s4=djfk5Mj+o523$pt1&L9uGGob2BiAWiIY5@77w7;q*JAJ}i3y?j0Wv!Ppw zxDC#B=IX0p8Zy6zhbtE{7v9L~nWXo5Lnr(~f1$h)9`r6wil>8sW=7l}grcb3BK zR5HQXo{paVZS5{e9}Nql-zOOY;O2na1(m3bUQ}C)I-qxVSnLSLLO!aO0=nn|Vkl_1 z0U2N~<~aCh$cUapo6RQcs%5@{2)m)%YWRyj0U7A0o)nf0HB6VRnJih8vfLNnGpEt& z+L#$@`MBY=!fS<7HQQ1ZU6VE2#_s>~;XfY!^CP4B5#}ZRs2*NTR&=GTdk1v4IbvRx zT()6CH^uKtYIptpGb35Dm-%vruewb%FxpLP@qliID@an&bp#YK?5B@iytWcb0w@rK`(pPwXoz%y_~oT zBWyFf|Ds$5z&vNotd&|Xv~MxgttnK1i$Cp*zD6UqTxL^0iKjY zGMw=Wp+M-wSH)ln9P{m4tQH2MhWmvpnX9j$TlZ`5yz)oR42;+^R|j(Tn=;RH>cGbu zc{QCFO22ab4qGo^AkhnfsUhNp@L7yXoc}BYsGjhtz{>!$G2Bn&ud+-Jj&HZcz}F%& z3+lt2``xYIzmXYxGBf%nbr2Q#(t{(J;XKhKLp0Xc2R1#1frC6iZfKD6<@75f+ihRq ztd-WWI85A@dHLCFGlEw-F`9ujd_HgJZhN_4fNnwyWDH1Ed4*Miy``JE!1aBcE16&-y&A|yt zixIh`gSZZSEUlzP)S|p4Blh=1z(1B4KlSwh$Fe|X%2|KmF!07HM<0hJryyo7xxDlI z&S}1ClCK&$oZ{C}ziLn%eth`x!N)1|G)`1baji3j6{CivZF6eLmQ-Owl56-6zG6iC zQo#!a)BM^G`L&d^`38{gyMuI2tJO8mlx!I9eeKA#BdL<60q(Ym6qOAfnl4*AS++K1 zT{m9yk+m+~HK#G__AxiPqG@i)B)4RmTQSM47!wn|B)4LUYr4sqFB{JrhgJ^;o^wob zE9bPVvFN6`>~hcfo{{z`^D2O4qxG`+f;m}XAFml-nk?Hq#ciRowca>9#q|JRbLr5Y zWYwlr>HR6bE~%~i^7cAnE=Ry^%+7bo6t{c+BtGOC5PKWHzFkhNmA46FEczF-b&iGd zYeexf?7okg;R-JoTqsB`xj(ToQIag*GQ~Ay7Y63Ccaq!tH4d{6AiNv4;qCIWb_;pO z+}L3y?`n(Mo5{On_d)$V%lh^m?0ZcN=FNOZ0sFp51MlBAGgvQRv2Nw}nArE1-M2@_ zexTDqy?6QXkzqT%G7^~*+>a3?hLzChhqnb6i2@q^ioc_up2;Ag+RCJ?>bdKRq2tt2wMo6 z0AVUX=TT>?3!DMft--seJP^S%Pg5SusF0?B;c6K$RZm;#1F~hS0DdY5ghiLGPLpr; z-K9z&r|KXmZwSGg-8;baTS^9yh8s^)9%!o4%=hba5zM{jdk1K$t_*NcATc+iMI0BH z5qAe9=43L?k2PE-3W@!4nFooy;DCuylo2|i7Q+}|_R972#XqW$2>5i@SVY)^omN7Y zPyW6g^FfS6LbaE8OwEWi>i^v?$m zikwkN9}5Kop;N*^Z0^O(g&7_}yH*8;<9-jlFx8?#5FUm`3J_~^0FkpAf)|=`xab#< z#mSr=4R`6r@sp|2#sMQ5PwS9=+PZSmx-!MD8awFoOo=C>q6rRmV5AtvB$A7ytQU)>q_$WruD5W*mssQn6Kp9ma*?_xUa38eYac(_5R9QxbYVkv$ztwr@i<4 znO)%#kl`CIIzzZmXd}?nu3;X8TWrh+qjGrs+>g03I>GQZQoCc4MwRqNTyqB7s`3 z)@5>WF1``=1ruNdUgy!|v}G%K1=vjU9Vn2qnFTJ3A`^`CEzyC>wl0rJwhEFJH)c_J z(HVZ170|o!bkXE0J6!H6S7yAL{GXuHDuug>PP)96UZb?;N?7T_UfqI#Ew|Fv1?W^1 z(KYM#|H?(n96G_=@;TShQ1P2Nm)wJMX+CF{KB9+kQRe>oLhkm8h1iI~C_xq8kN-0b z7csmW{z)#p6Iy{xGW3N*A_Qy_>DLsPBnJK$^y^~c@r_#{n&bQ-xR1u*#1QhI0W|XG zfN@|1Zsg@C4!>h63;~4~MsZon`5~MPvnr%!qqB=I&t3wk752l3@Of4UK$*kc;p?|1 z61Gg1h{m)E?q-|5DZ1+~Q0%#U6Pdlr_5&Mx*|$Y#;Ruk^AW_oG_iPZX!F9QC0N&%* zV)$&_=a)=p1h~3{&&X%R#V}kl3Vyh?qs{0j+YNG{>A}JO0Y_p5?-|LYUc~z-x(g_4 z6i+=uyo&OiGA}`ZrXbS12FLpQVtieqbBfzJA9gV)G+2K6<0pSSQa)v=U^)U)qv@9S`|?>lr@Z{YXTu^%w&_H1N7*rK$-kr;rAGwPT^i?Guf8}t> zLx18RV6-Ob!EV5h8{|*WoQL|LzzX9q`b&Y_1&O4iKOmqt?DU3$dZAQJsSiXQ8TnG4 z+W~hYv7mpK&=2DvDnD@xQ)_AJYH; diff --git a/backend/routes/bios_baseline_routes.py b/backend/routes/bios_baseline_routes.py new file mode 100644 index 0000000..252596c --- /dev/null +++ b/backend/routes/bios_baseline_routes.py @@ -0,0 +1,789 @@ +""" +BIOS Baseline 관리 라우트 +backend/routes/bios_baseline_routes.py + +BIOS Baseline 생성, 조회, 수정, 삭제 및 비교 기능 제공 +""" + +from flask import Blueprint, render_template, request, jsonify, current_app +from backend.models.user import db +from backend.models.bios_baseline import BiosBaseline +from backend.services.idrac_redfish_client import DellRedfishClient +from datetime import datetime +import json +from sqlalchemy import text + +# 비교 제외 대상 키 (서버별 고유값 등) +IGNORED_KEYS = { + 'BIOS': { + 'ServiceTag', 'AssetTag', 'SerialNumber', 'SystemServiceTag', 'SystemAssetTag', 'SystemSerialNumber' + }, + 'iDRAC': { + 'SystemID', 'DNSDomainName', 'DNSRacName', 'DNSDomainNameFromDHCP', + 'IPv4.1.Address', 'IPv4.1.Gateway', 'IPv4.1.Netmask', + 'IPv4Static.1.Address', 'IPv4Static.1.Gateway', 'IPv4Static.1.Netmask', + 'IPv6.1.Address', 'IPv6.1.Gateway', + 'MACAddress', 'PermanentMACAddress' + } +} + +def compare_dictionaries(expected, actual, section_name, diff_list, metadata=None): + """딕셔너리 비교 헬퍼 함수""" + if not expected: + return 0, 0 + + matched = 0 + mismatched = 0 + + ignored = IGNORED_KEYS.get(section_name, set()) + + for key, exp_val in expected.items(): + if key in ignored: + continue + + act_val = actual.get(key) + # 문자열로 변환하여 비교 (타입 불일치 방지) + if str(act_val) == str(exp_val): + matched += 1 + # 일치하는 항목도 결과에 포함 + diff_item = { + 'section': section_name, + 'setting_name': key, + 'expected': exp_val, + 'actual': act_val, + 'status': 'match' + } + if metadata and key in metadata: + diff_item['display_name'] = metadata[key] + diff_list.append(diff_item) + else: + mismatched += 1 + + diff_item = { + 'section': section_name, + 'setting_name': key, + 'expected': exp_val, + 'actual': act_val, + 'status': 'mismatch' + } + + # Display Name 추가 + if metadata and key in metadata: + diff_item['display_name'] = metadata[key] + + diff_list.append(diff_item) + return matched, mismatched + +def compare_raid_config(expected, actual, diff_list): + """RAID 구성 비교""" + if not expected or 'Controllers' not in expected: + return 0, 0 + + matched = 0 + mismatched = 0 + total_checks = 0 + + # 컨트롤러별 비교 + exp_ctrls = {c.get('Name'): c for c in expected.get('Controllers', [])} + act_ctrls = {c.get('Name'): c for c in actual.get('Controllers', [])} + + for name, exp_c in exp_ctrls.items(): + act_c = act_ctrls.get(name) + + if not act_c: + mismatched += 1 + diff_list.append({ + 'section': 'RAID', + 'setting_name': f"Controller [{name}]", + 'expected': "Present", + 'actual': "Missing", + 'status': 'mismatch' + }) + continue + + matched += 1 # 컨트롤러 존재함 + diff_list.append({ + 'section': 'RAID', + 'setting_name': f"Controller [{name}]", + 'expected': "Present", + 'actual': "Present", + 'status': 'match' + }) + + # 펌웨어 버전 비교 + exp_fw = exp_c.get('FirmwareVersion') + act_fw = act_c.get('FirmwareVersion') + if exp_fw and (exp_fw == act_fw): + matched += 1 + diff_list.append({ + 'section': 'RAID', + 'setting_name': f"Controller [{name}] Firmware", + 'expected': exp_fw, + 'actual': act_fw, + 'status': 'match' + }) + else: + mismatched += 1 + diff_list.append({ + 'section': 'RAID', + 'setting_name': f"Controller [{name}] Firmware", + 'expected': exp_fw, + 'actual': act_fw, + 'status': 'mismatch' + }) + + # Volumes (Virtual Disks) 비교 + exp_vols = {v.get('Name'): v for v in exp_c.get('Volumes', [])} + act_vols = {v.get('Name'): v for v in act_c.get('Volumes', [])} + + # Volume 개수 확인 + if len(exp_vols) != len(act_vols): + diff_list.append({ + 'section': 'RAID', + 'setting_name': f"Controller [{name}] Volume Count", + 'expected': len(exp_vols), + 'actual': len(act_vols), + 'status': 'warning' + }) + + for vname, exp_v in exp_vols.items(): + act_v = act_vols.get(vname) + if not act_v: + mismatched += 1 + diff_list.append({ + 'section': 'RAID', + 'setting_name': f"Volume [{name}/{vname}]", + 'expected': "Present", + 'actual': "Missing", + 'status': 'mismatch' + }) + continue + + # RAID Level 비교 + if exp_v.get('RaidType') == act_v.get('RaidType'): + matched += 1 + diff_list.append({ + 'section': 'RAID', + 'setting_name': f"Volume [{name}/{vname}] RAID Level", + 'expected': exp_v.get('RaidType'), + 'actual': act_v.get('RaidType'), + 'status': 'match' + }) + else: + mismatched += 1 + diff_list.append({ + 'section': 'RAID', + 'setting_name': f"Volume [{name}/{vname}] RAID Level", + 'expected': exp_v.get('RaidType'), + 'actual': act_v.get('RaidType'), + 'status': 'mismatch' + }) + + # 용량 비교 (오차 허용 없이) + if exp_v.get('CapacityBytes') == act_v.get('CapacityBytes'): + matched += 1 + diff_list.append({ + 'section': 'RAID', + 'setting_name': f"Volume [{name}/{vname}] Capacity", + 'expected': f"{exp_v.get('CapacityBytes', 0) / (1024**3):.2f} GB", + 'actual': f"{act_v.get('CapacityBytes', 0) / (1024**3):.2f} GB", + 'status': 'match' + }) + else: + mismatched += 1 + diff_list.append({ + 'section': 'RAID', + 'setting_name': f"Volume [{name}/{vname}] Capacity", + 'expected': f"{exp_v.get('CapacityBytes', 0) / (1024**3):.2f} GB", + 'actual': f"{act_v.get('CapacityBytes', 0) / (1024**3):.2f} GB", + 'status': 'mismatch' + }) + + return matched, mismatched + +bios_baseline_bp = Blueprint('bios_baseline', __name__, url_prefix='/bios-baseline') + +# ======================================== +# 페이지 라우트 +# ======================================== + +@bios_baseline_bp.route('/') +def index(): + """BIOS Baseline 비교 메인 페이지""" + return render_template('bios_baseline.html') + +# ======================================== +# Baseline 관리 API +# ======================================== + +@bios_baseline_bp.route('/api/baselines', methods=['GET']) +def get_baselines(): + """ + 등록된 baseline 목록 조회 + Query params: + - server_model: 특정 모델 필터링 + - server_type: 특정 타입 필터링 + - include_data: true면 bios_data도 포함 + """ + try: + server_model = request.args.get('server_model') + server_type = request.args.get('server_type') + include_data = request.args.get('include_data', 'false').lower() == 'true' + + query = BiosBaseline.query.filter_by(is_active=True) + + if server_model: + query = query.filter_by(server_model=server_model) + if server_type: + query = query.filter_by(server_type=server_type) + + baselines = query.order_by(BiosBaseline.created_at.desc()).all() + + return jsonify({ + 'success': True, + 'baselines': [b.to_dict(include_data=include_data) for b in baselines] + }) + except Exception as e: + return jsonify({'success': False, 'message': str(e)}) + +@bios_baseline_bp.route('/api/baselines/', methods=['GET']) +def get_baseline(baseline_id): + """특정 baseline 상세 조회 (bios_data 포함)""" + try: + baseline = BiosBaseline.query.get(baseline_id) + if not baseline: + return jsonify({'success': False, 'message': 'Baseline을 찾을 수 없습니다'}) + + return jsonify({ + 'success': True, + 'baseline': baseline.to_dict(include_data=True) + }) + except Exception as e: + return jsonify({'success': False, 'message': str(e)}) + +def compare_nic_config(baseline_nic, target_nic, diff_list): + """NIC 구성 비교 (ID 기준 매칭)""" + matched = 0 + mismatched = 0 + + if not baseline_nic and not target_nic: + return 0, 0 + if not baseline_nic: + diff_list.append({'section': 'NIC', 'setting_name': 'NIC Configuration', 'expected': 'Present', 'actual': 'Missing', 'status': 'mismatch'}) + return 0, 1 + if not target_nic: + diff_list.append({'section': 'NIC', 'setting_name': 'NIC Configuration', 'expected': 'Missing', 'actual': 'Present', 'status': 'mismatch'}) + return 0, 1 + + # Adapters 리스트를 ID 기준 딕셔너리로 변환 + def to_dict_by_id(adapters): + return {a.get('Id', 'Unknown'): a for a in adapters.get('Adapters', [])} + + base_map = to_dict_by_id(baseline_nic) + target_map = to_dict_by_id(target_nic) + + all_ids = set(base_map.keys()) | set(target_map.keys()) + + for aid in all_ids: + b_adp = base_map.get(aid) + t_adp = target_map.get(aid) + + if not b_adp: + mismatched += 1 + diff_list.append({'section': 'NIC', 'setting_name': f"NIC [{aid}]", 'expected': 'None', 'actual': 'Added', 'status': 'mismatch'}) + continue + if not t_adp: + mismatched += 1 + diff_list.append({'section': 'NIC', 'setting_name': f"NIC [{aid}]", 'expected': 'Present', 'actual': 'Missing', 'status': 'mismatch'}) + continue + + matched += 1 # Adapter exists in both + diff_list.append({'section': 'NIC', 'setting_name': f"NIC [{aid}]", 'expected': 'Present', 'actual': 'Present', 'status': 'match'}) + + # 어댑터 속성 비교 (Firmware 등) + for field in ['FirmwareVersion', 'Model']: + bv = b_adp.get(field) + tv = t_adp.get(field) + if bv == tv: + matched += 1 + diff_list.append({'section': 'NIC', 'setting_name': f"NIC [{aid}] {field}", 'expected': bv, 'actual': tv, 'status': 'match'}) + else: + mismatched += 1 + diff_list.append({'section': 'NIC', 'setting_name': f"NIC [{aid}] {field}", 'expected': bv, 'actual': tv, 'status': 'mismatch'}) + + # DeviceFunctions 비교 + b_funcs = {f.get('Id'): f for f in b_adp.get('DeviceFunctions', [])} + t_funcs = {f.get('Id'): f for f in t_adp.get('DeviceFunctions', [])} + + for fid in set(b_funcs.keys()) | set(t_funcs.keys()): + bf = b_funcs.get(fid) + tf = t_funcs.get(fid) + + prefix = f"NIC [{aid}] Func [{fid}]" + + if not bf: + # Baseline에 없는데 Target에 있음 (일반적이지 않음, 설정 변경일 수 있음) + # This is an 'added' function, count as mismatch + mismatched += 1 + diff_list.append({'section': 'NIC', 'setting_name': prefix, 'expected': 'None', 'actual': 'Added', 'status': 'mismatch'}) + continue + if not tf: + mismatched += 1 + diff_list.append({'section': 'NIC', 'setting_name': prefix, 'expected': 'Present', 'actual': 'Missing', 'status': 'mismatch'}) + continue + + matched += 1 # Function exists in both + diff_list.append({'section': 'NIC', 'setting_name': prefix, 'expected': 'Present', 'actual': 'Present', 'status': 'match'}) + + # 속성 비교 (BootMode, iSCSI, Ethernet) + if bf.get('NetBootPMMode') == tf.get('NetBootPMMode'): + matched += 1 + diff_list.append({'section': 'NIC', 'setting_name': f"{prefix} BootMode", 'expected': bf.get('NetBootPMMode'), 'actual': tf.get('NetBootPMMode'), 'status': 'match'}) + else: + mismatched += 1 + diff_list.append({'section': 'NIC', 'setting_name': f"{prefix} BootMode", 'expected': bf.get('NetBootPMMode'), 'actual': tf.get('NetBootPMMode'), 'status': 'mismatch'}) + + # Add more specific NIC settings comparison here if needed + # For example, comparing specific Ethernet or iSCSI settings + # For now, we'll consider the presence and BootMode. + + return matched, mismatched + +@bios_baseline_bp.route('/api/baselines/create-from-server', methods=['POST']) +def create_baseline_from_server(): + """ + Redfish로 서버에서 BIOS 설정을 가져와 새 baseline 생성 + Request: { + "ip_address": "10.10.0.1", + "username": "root", + "password": "calvin", + "name": "R6615_GPU_Standard_2024", + "server_type": "GPU Server", + "description": "표준 GPU 서버 설정", + "created_by": "admin" + } + """ + try: + data = request.json + + # 필수 필드 체크 + if not all(k in data for k in ['ip_address', 'username', 'password', 'name']): + return jsonify({'success': False, 'message': '필수 필드 누락'}) + + # 이름 중복 체크 + if BiosBaseline.query.filter_by(name=data['name'], is_active=True).first(): + return jsonify({'success': False, 'message': '이미 존재하는 Baseline 이름입니다'}) + + # 1. Redfish로 BIOS 설정 가져오기 + client = DellRedfishClient(data['ip_address'], data['username'], data['password']) + + if not client.check_connection(): + return jsonify({'success': False, 'message': '서버 연결 실패'}) + + # 2. 서버 정보 및 BIOS 설정 가져오기 + system_info = client.get_system_info_detailed() + bios_data = client.get_bios_attributes_all() + # BIOS Registry (Display Name) 가져오기 + bios_metadata = client.get_bios_attribute_registry() + + idrac_data = client.get_idrac_attributes_all() + # iDRAC Registry (Display Name) 가져오기 + idrac_metadata = client.get_idrac_attribute_registry() + + raid_data = client.get_storage_configuration() + nic_data = client.get_nic_configuration() + boot_data = client.get_boot_settings() + firmware_data = client.get_firmware_baseline() + + if not bios_data: + return jsonify({'success': False, 'message': 'BIOS 설정 가져오기 실패'}) + + # 3. Baseline 생성 + baseline = BiosBaseline( + name=data['name'], + server_model=system_info.get('Model', 'Unknown'), + server_type=data.get('server_type'), + description=data.get('description'), + bios_data=bios_data, + bios_metadata=bios_metadata, # 메타데이터 저장 + idrac_data=idrac_data, + idrac_metadata=idrac_metadata, # iDRAC 메타데이터 저장 + raid_data=raid_data, + nic_data=nic_data, + boot_data=boot_data, + firmware_data=firmware_data, + source_ip=data['ip_address'], + source_service_tag=system_info.get('ServiceTag'), + bios_version=bios_data.get('BiosVersion'), + total_settings=len(bios_data) + len(idrac_data) + len(raid_data.get('Controllers', [])) + len(nic_data.get('Adapters', [])) + len(boot_data.get('BootSources', [])) + len(firmware_data.get('FirmwareInventory', [])), + created_by=data.get('created_by', 'admin') + ) + + db.session.add(baseline) + db.session.commit() + + return jsonify({ + 'success': True, + 'message': 'Baseline 생성 완료', + 'baseline': baseline.to_dict() + }) + + except Exception as e: + db.session.rollback() + return jsonify({'success': False, 'message': f'오류: {str(e)}'}) + +@bios_baseline_bp.route('/api/baselines//duplicate', methods=['POST']) +def duplicate_baseline(baseline_id): + """ + 기존 baseline을 복사하여 새 baseline 생성 + Request: { + "new_name": "R6615_GPU_ClientA", + "description": "고객사 A 맞춤 설정" + } + """ + try: + data = request.json + original = BiosBaseline.query.get(baseline_id) + + if not original: + return jsonify({'success': False, 'message': '원본 Baseline을 찾을 수 없습니다'}) + + # 이름 중복 체크 + if BiosBaseline.query.filter_by(name=data['new_name'], is_active=True).first(): + return jsonify({'success': False, 'message': '이미 존재하는 Baseline 이름입니다'}) + + # 복사 생성 + new_baseline = BiosBaseline( + name=data['new_name'], + server_model=original.server_model, + server_type=original.server_type, + description=data.get('description', f"{original.name}의 복사본"), + bios_data=original.bios_data.copy() if original.bios_data else {}, + bios_metadata=original.bios_metadata.copy() if original.bios_metadata else {}, # 메타데이터 복사 + idrac_data=original.idrac_data.copy() if original.idrac_data else {}, + idrac_metadata=original.idrac_metadata.copy() if original.idrac_metadata else {}, # iDRAC 메타데이터 복사 + raid_data=original.raid_data.copy() if original.raid_data else {}, # JSON 복사 + nic_data=original.nic_data.copy() if original.nic_data else {}, + boot_data=original.boot_data.copy() if original.boot_data else {}, + firmware_data=original.firmware_data.copy() if original.firmware_data else {}, + source_ip=original.source_ip, + source_service_tag=original.source_service_tag, + bios_version=original.bios_version, + total_settings=original.total_settings, + copied_from_id=original.id, + created_by=data.get('created_by', 'admin') + ) + + db.session.add(new_baseline) + db.session.commit() + + return jsonify({ + 'success': True, + 'message': 'Baseline 복사 완료', + 'baseline': new_baseline.to_dict() + }) + + except Exception as e: + db.session.rollback() + return jsonify({'success': False, 'message': f'오류: {str(e)}'}) + +@bios_baseline_bp.route('/api/baselines/', methods=['PUT']) +def update_baseline(baseline_id): + """ + Baseline 수정 (메타데이터 및 bios_data) + Request: { + "name": "새 이름", + "description": "새 설명", + "bios_data": { ... } // 선택사항 + } + """ + try: + baseline = BiosBaseline.query.get_or_404(baseline_id) + data = request.json + + # 이름 변경 시 중복 체크 + if 'name' in data and data['name'] != baseline.name: + if BiosBaseline.query.filter_by(name=data['name'], is_active=True).first(): + return jsonify({'success': False, 'message': '이미 존재하는 Baseline 이름입니다'}) + baseline.name = data['name'] + + # 메타데이터 업데이트 + if 'description' in data: + baseline.description = data['description'] + if 'server_type' in data: + baseline.server_type = data['server_type'] + + # BIOS 데이터 업데이트 (선택사항) + if 'bios_data' in data: + baseline.bios_data = data['bios_data'] + if 'bios_metadata' in data: + baseline.bios_metadata = data['bios_metadata'] + if 'idrac_data' in data: + baseline.idrac_data = data['idrac_data'] + if 'idrac_metadata' in data: + baseline.idrac_metadata = data['idrac_metadata'] + if 'raid_data' in data: + baseline.raid_data = data['raid_data'] + if 'nic_data' in data: + baseline.nic_data = data['nic_data'] + if 'boot_data' in data: + baseline.boot_data = data['boot_data'] + if 'firmware_data' in data: + baseline.firmware_data = data['firmware_data'] + + # 총 설정 수 재계산 + total = 0 + if baseline.bios_data: total += len(baseline.bios_data) + if baseline.idrac_data: total += len(baseline.idrac_data) + if baseline.raid_data and 'Controllers' in baseline.raid_data: total += len(baseline.raid_data['Controllers']) + if baseline.nic_data and 'Adapters' in baseline.nic_data: total += len(baseline.nic_data['Adapters']) + if baseline.boot_data and 'BootSources' in baseline.boot_data: total += len(baseline.boot_data['BootSources']) + if baseline.firmware_data and 'FirmwareInventory' in baseline.firmware_data: total += len(baseline.firmware_data['FirmwareInventory']) + baseline.total_settings = total + + baseline.updated_at = datetime.utcnow() + db.session.commit() + + return jsonify({ + 'success': True, + 'message': 'Baseline 수정 완료', + 'baseline': baseline.to_dict() + }) + + except Exception as e: + db.session.rollback() + return jsonify({'success': False, 'message': f'오류: {str(e)}'}) + +@bios_baseline_bp.route('/api/baselines/', methods=['DELETE']) +def delete_baseline(baseline_id): + """Baseline 삭제 (Soft Delete)""" + try: + baseline = BiosBaseline.query.get(baseline_id) + if not baseline: + return jsonify({'success': False, 'message': 'Baseline을 찾을 수 없습니다'}) + + baseline.is_active = False + # 이름 충돌 방지를 위해 이름 변경 (Soft Delete 시) + # 예: "MyServer" -> "MyServer_deleted_1678901234" + baseline.name = f"{baseline.name}_deleted_{int(datetime.utcnow().timestamp())}" + db.session.commit() + + return jsonify({'success': True, 'message': 'Baseline 삭제 완료'}) + except Exception as e: + db.session.rollback() + return jsonify({'success': False, 'message': str(e)}) + +# ======================================== +# 비교 API +# ======================================== + +@bios_baseline_bp.route('/api/compare', methods=['POST']) +def compare_with_baseline(): + """ + IP 주소로 서버 BIOS 설정을 가져와 baseline과 비교 + Request: { + "ip_addresses": ["10.10.0.1", "10.10.0.2"], + "baseline_id": 1, + "username": "root", + "password": "calvin" + } + """ + try: + data = request.json + baseline = BiosBaseline.query.get(data['baseline_id']) + + if not baseline: + return jsonify({'success': False, 'message': 'Baseline을 찾을 수 없습니다'}) + + results = [] + + # 병렬 처리를 위한 함수 정의 + def process_server(ip): + try: + # 1. Redfish로 현재 BIOS 설정 가져오기 + client = DellRedfishClient(ip, data['username'], data['password']) + + if not client.check_connection(): + return { + 'ip': ip, + 'status': 'connection_failed', + 'message': '서버 연결 실패' + } + + # 2. Redfish로 현재 설정 가져오기 + system_info = client.get_system_info_detailed() + current_bios = client.get_bios_attributes_all() + current_idrac = client.get_idrac_attributes_all() + current_raid = client.get_storage_configuration() + current_nic = client.get_nic_configuration() + current_boot = client.get_boot_settings() + current_firmware = client.get_firmware_baseline() + + if not current_bios: + return { + 'ip': ip, + 'status': 'error', + 'message': 'BIOS 설정 가져오기 실패' + } + + # 3. Baseline과 비교 + differences = [] + total_matched = 0 + total_mismatched = 0 + + # 3-1. BIOS 비교 + b_matched, b_mismatched = compare_dictionaries(baseline.bios_data, current_bios, 'BIOS', differences, baseline.bios_metadata) + total_matched += b_matched + total_mismatched += b_mismatched + + # 3-2. iDRAC 비교 + if baseline.idrac_data: + i_matched, i_mismatched = compare_dictionaries(baseline.idrac_data, current_idrac, 'iDRAC', differences, baseline.idrac_metadata) + total_matched += i_matched + total_mismatched += i_mismatched + + # 3-3. RAID 비교 + if baseline.raid_data: + r_matched, r_mismatched = compare_raid_config(baseline.raid_data, current_raid, differences) + total_matched += r_matched + total_mismatched += r_mismatched + + # 3-4. NIC 비교 + if baseline.nic_data: + n_matched, n_mismatched = compare_nic_config(baseline.nic_data, current_nic, differences) + total_matched += n_matched + total_mismatched += n_mismatched + + # 3-5. Boot 비교 + if baseline.boot_data: + boot_matched, boot_mismatched = compare_dictionaries(baseline.boot_data, current_boot, 'Boot', differences) + total_matched += boot_matched + total_mismatched += boot_mismatched + + # 3-6. Firmware 비교 + if baseline.firmware_data: + fw_matched, fw_mismatched = compare_dictionaries(baseline.firmware_data, current_firmware, 'Firmware', differences) + total_matched += fw_matched + total_mismatched += fw_mismatched + + # 4. 결과 저장 + match_rate = round((total_matched / (total_matched + total_mismatched)) * 100, 2) if (total_matched + total_mismatched) > 0 else 0 + + return { + 'ip': ip, + 'status': 'success', + 'server_model': system_info.get('Model'), + 'service_tag': system_info.get('ServiceTag'), + 'bios_version': current_bios.get('BiosVersion'), # Corrected from system_info.get('BiosVersion') + 'total_items': total_matched + total_mismatched, + 'matched_items': total_matched, + 'mismatched_items': total_mismatched, + 'match_rate': match_rate, + 'differences': differences + } + except Exception as e: + import traceback + traceback.print_exc() # Keep traceback for debugging in logs + return { + 'ip': ip, + 'status': 'error', + 'message': str(e) + } + + import concurrent.futures + results = [] + max_workers = min(len(data['ip_addresses']), 20) # 최대 20개 동시 실행 + + with concurrent.futures.ThreadPoolExecutor(max_workers=max_workers) as executor: + future_to_ip = {executor.submit(process_server, ip): ip for ip in data['ip_addresses']} + for future in concurrent.futures.as_completed(future_to_ip): + ip = future_to_ip[future] + try: + result = future.result() + results.append(result) + except Exception as e: + results.append({ + 'ip': ip, + 'status': 'error', + 'message': f"예상치 못한 오류: {str(e)}" + }) + + return jsonify({ + 'success': True, + 'baseline': baseline.to_dict(), + 'results': results + }) + + except Exception as e: + return jsonify({'success': False, 'message': f'오류: {str(e)}'}) + +# ======================================== +# Blueprint 등록 함수 +# ======================================== + +def register_bios_baseline_routes(app): + """ + bios_baseline_routes 등록 및 초기화 + """ + app.register_blueprint(bios_baseline_bp) + + # CSRF 제외 + try: + csrf = app.extensions.get('csrf') + if csrf: + csrf.exempt(bios_baseline_bp) + except Exception as e: + app.logger.warning(f"CSRF exemption failed for bios_baseline_bp: {e}") + + # DB 마이그레이션: 필요한 컬럼이 없으면 추가 + # SQLite 등에서 ALTER TABLE은 제한적일 수 있으나 여기서는 단순 컬럼 추가 시도 + with app.app_context(): + inspector = db.inspect(db.engine) + + # Ensure table exists before checking columns + db.create_all() + + columns = [c['name'] for c in inspector.get_columns('bios_baselines')] + + if 'idrac_data' not in columns: + print("[INFO] Migrating BIOS Baseline table: Adding idrac_data") + with db.engine.connect() as conn: + conn.execute(text("ALTER TABLE bios_baselines ADD COLUMN idrac_data JSON")) + conn.commit() + + if 'bios_metadata' not in columns: + print("[INFO] Migrating BIOS Baseline table: Adding bios_metadata") + with db.engine.connect() as conn: + conn.execute(text("ALTER TABLE bios_baselines ADD COLUMN bios_metadata JSON")) + conn.commit() + + if 'idrac_metadata' not in columns: + print("[INFO] Migrating BIOS Baseline table: Adding idrac_metadata") + with db.engine.connect() as conn: + conn.execute(text("ALTER TABLE bios_baselines ADD COLUMN idrac_metadata JSON")) + conn.commit() + + if 'raid_data' not in columns: + print("[INFO] Migrating BIOS Baseline table: Adding raid_data") + with db.engine.connect() as conn: + conn.execute(text("ALTER TABLE bios_baselines ADD COLUMN raid_data JSON")) + conn.commit() + + if 'nic_data' not in columns: + print("[INFO] Migrating BIOS Baseline table: Adding nic_data") + with db.engine.connect() as conn: + conn.execute(text("ALTER TABLE bios_baselines ADD COLUMN nic_data JSON")) + conn.commit() + + if 'boot_data' not in columns: + print("[INFO] Migrating BIOS Baseline table: Adding boot_data") + with db.engine.connect() as conn: + conn.execute(text("ALTER TABLE bios_baselines ADD COLUMN boot_data JSON")) + conn.commit() + + if 'firmware_data' not in columns: + print("[INFO] Migrating BIOS Baseline table: Adding firmware_data") + with db.engine.connect() as conn: + conn.execute(text("ALTER TABLE bios_baselines ADD COLUMN firmware_data JSON")) + conn.commit() + diff --git a/backend/routes/file_view.py b/backend/routes/file_view.py index f2335c1..0285515 100644 --- a/backend/routes/file_view.py +++ b/backend/routes/file_view.py @@ -66,7 +66,21 @@ def view_file(): base = Path(Config.BACKUP_FOLDER) safe_date = Path(date).name if date else "" target = (base / safe_date / safe_name).resolve() + elif folder == "server_info": + base = Path(Config.BACKUP_FOLDER) + safe_date = Path(date).name if date else "" + target = (base / safe_date / safe_name).resolve() + elif folder == "mac": + base = Path(Config.MAC_FOLDER) + target = (base / safe_name).resolve() + elif folder == "guid": + base = Path(Config.GUID_FOLDER) + target = (base / safe_name).resolve() + elif folder == "gpu": + base = Path(Config.GPU_FOLDER) + target = (base / safe_name).resolve() else: + # Default: Processed files (Staging) base = Path(Config.IDRAC_INFO_FOLDER) target = (base / safe_name).resolve() diff --git a/backend/routes/idrac_routes.py b/backend/routes/idrac_routes.py index 8707532..8787cf2 100644 --- a/backend/routes/idrac_routes.py +++ b/backend/routes/idrac_routes.py @@ -1,236 +1,133 @@ """ -Dell iDRAC 멀티 서버 펌웨어 관리 라우트 +Dell iDRAC 멀티 서버 관리 라우트 backend/routes/idrac_routes.py - CSRF 보호 제외 추가 +- 펌웨어 관리 기능 제거됨 (Server Config Analysis로 대체) """ -from flask import Blueprint, render_template, request, jsonify, current_app -from werkzeug.utils import secure_filename -import os -from datetime import datetime +from flask import Blueprint, request, jsonify, current_app from backend.services.idrac_redfish_client import DellRedfishClient from backend.models.idrac_server import IdracServer, db -from backend.models.firmware_version import FirmwareVersion, FirmwareComparisonResult -from flask_socketio import emit +from datetime import datetime import threading # Blueprint 생성 idrac_bp = Blueprint('idrac', __name__, url_prefix='/idrac') -# 설정 -UPLOAD_FOLDER = 'uploads/firmware' -ALLOWED_EXTENSIONS = {'exe', 'bin'} -MAX_FILE_SIZE = 500 * 1024 * 1024 # 500MB - -def allowed_file(filename): - """허용된 파일 형식 확인""" - return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS - # ======================================== -# 메인 페이지 +# 페이지 라우트 # ======================================== @idrac_bp.route('/') def index(): - """iDRAC 멀티 서버 관리 메인 페이지""" + """iDRAC 서버 관리 메인 페이지""" + from flask import render_template return render_template('idrac_firmware.html') # ======================================== -# 서버 관리 API +# 서버 관리 API (CRUD) # ======================================== @idrac_bp.route('/api/servers', methods=['GET']) def get_servers(): - """등록된 서버 목록 조회""" + """서버 목록 조회""" try: - group = request.args.get('group') # 그룹 필터 - + group_filter = request.args.get('group') query = IdracServer.query.filter_by(is_active=True) - if group and group != 'all': - query = query.filter_by(group_name=group) + if group_filter and group_filter != 'all': + query = query.filter_by(group_name=group_filter) + servers = query.order_by(IdracServer.name).all() - return jsonify({ 'success': True, 'servers': [s.to_dict() for s in servers] }) except Exception as e: - return jsonify({ - 'success': False, - 'message': f'오류: {str(e)}' - }) + return jsonify({'success': False, 'message': str(e)}) @idrac_bp.route('/api/servers', methods=['POST']) def add_server(): """서버 추가""" try: data = request.json + # 필수 필드 체크 + if not all(k in data for k in ['name', 'ip_address', 'password']): + return jsonify({'success': False, 'message': '필수 필드 누락'}) + + # 활성 서버 중복 체크 + if IdracServer.query.filter_by(ip_address=data['ip_address'], is_active=True).first(): + return jsonify({'success': False, 'message': '이미 등록된 IP입니다.'}) - # 필수 필드 확인 - if not all([data.get('name'), data.get('ip_address'), data.get('password')]): - return jsonify({ - 'success': False, - 'message': '필수 필드를 모두 입력하세요 (서버명, IP, 비밀번호)' - }) - - # 중복 IP 확인 - existing = IdracServer.query.filter_by(ip_address=data['ip_address']).first() - if existing: - if existing.is_active: - # 활성 서버가 이미 있음 - return jsonify({ - 'success': False, - 'message': f'이미 등록된 IP입니다: {data["ip_address"]}' - }) - else: - # 삭제된 서버 재활용! - existing.name = data['name'] - existing.username = data.get('username', 'root') - existing.password = data['password'] - existing.group_name = data.get('group_name') - existing.location = data.get('location') - existing.model = data.get('model') - existing.notes = data.get('notes') - existing.is_active = True # 다시 활성화! - existing.status = 'offline' - existing.current_bios = None - existing.last_connected = None - existing.last_updated = None - - db.session.commit() - - return jsonify({ - 'success': True, - 'message': f'서버 {existing.name} 추가 완료 (기존 데이터 재활용)', - 'server': existing.to_dict() - }) - - # 서버 생성 - server = IdracServer( + # Soft delete된 서버가 있는지 확인하고 재활성화 + existing_server = IdracServer.query.filter_by(ip_address=data['ip_address'], is_active=False).first() + if existing_server: + # 기존 서버 재활성화 및 정보 업데이트 + existing_server.is_active = True + existing_server.name = data['name'] + existing_server.username = data.get('username', 'root') + existing_server.password = data['password'] + existing_server.group_name = data.get('group_name') + existing_server.model = data.get('model') + existing_server.notes = data.get('notes') + existing_server.status = 'registered' + existing_server.updated_at = datetime.utcnow() + db.session.commit() + return jsonify({'success': True, 'message': '서버 재등록 완료', 'server': existing_server.to_dict()}) + + # 새 서버 생성 + new_server = IdracServer( name=data['name'], ip_address=data['ip_address'], username=data.get('username', 'root'), password=data['password'], group_name=data.get('group_name'), - location=data.get('location'), model=data.get('model'), notes=data.get('notes') ) - - db.session.add(server) + db.session.add(new_server) db.session.commit() - - return jsonify({ - 'success': True, - 'message': f'서버 {server.name} 추가 완료', - 'server': server.to_dict() - }) + return jsonify({'success': True, 'message': '서버 추가 완료', 'server': new_server.to_dict()}) except Exception as e: db.session.rollback() - return jsonify({ - 'success': False, - 'message': f'오류: {str(e)}' - }) - -@idrac_bp.route('/api/servers/', methods=['PUT']) -def update_server(server_id): - """서버 정보 수정""" - try: - server = IdracServer.query.get(server_id) - if not server: - return jsonify({ - 'success': False, - 'message': '서버를 찾을 수 없습니다' - }) - - data = request.json - - # 업데이트 - if 'name' in data: - server.name = data['name'] - if 'ip_address' in data: - server.ip_address = data['ip_address'] - if 'username' in data: - server.username = data['username'] - if 'password' in data: - server.password = data['password'] - if 'group_name' in data: - server.group_name = data['group_name'] - if 'location' in data: - server.location = data['location'] - if 'model' in data: - server.model = data['model'] - if 'notes' in data: - server.notes = data['notes'] - - db.session.commit() - - return jsonify({ - 'success': True, - 'message': '서버 정보 수정 완료', - 'server': server.to_dict() - }) - - except Exception as e: - db.session.rollback() - return jsonify({ - 'success': False, - 'message': f'오류: {str(e)}' - }) + return jsonify({'success': False, 'message': str(e)}) @idrac_bp.route('/api/servers/', methods=['DELETE']) def delete_server(server_id): - """서버 삭제 (소프트 삭제)""" + """서버 삭제 (Soft Delete)""" try: server = IdracServer.query.get(server_id) if not server: - return jsonify({ - 'success': False, - 'message': '서버를 찾을 수 없습니다' - }) - + return jsonify({'success': False, 'message': '서버를 찾을 수 없습니다'}) + + # Soft delete: is_active를 False로 설정 + # IP 주소는 유지하여 재등록 시 재활성화 가능 server.is_active = False + server.status = 'deleted' db.session.commit() - - return jsonify({ - 'success': True, - 'message': f'서버 {server.name} 삭제 완료' - }) - + return jsonify({'success': True, 'message': '서버 삭제 완료'}) except Exception as e: db.session.rollback() - return jsonify({ - 'success': False, - 'message': f'오류: {str(e)}' - }) + return jsonify({'success': False, 'message': str(e)}) @idrac_bp.route('/api/groups', methods=['GET']) def get_groups(): """등록된 그룹 목록""" try: - groups = db.session.query(IdracServer.group_name)\ - .filter(IdracServer.is_active == True)\ - .filter(IdracServer.group_name.isnot(None))\ - .distinct()\ - .all() - - group_list = [g[0] for g in groups if g[0]] - + groups = db.session.query(IdracServer.group_name).filter( + IdracServer.group_name != None, + IdracServer.is_active == True + ).distinct().all() return jsonify({ - 'success': True, - 'groups': group_list + 'success': True, + 'groups': [g[0] for g in groups if g[0]] }) - except Exception as e: - return jsonify({ - 'success': False, - 'message': f'오류: {str(e)}' - }) + return jsonify({'success': False, 'message': str(e)}) # ======================================== -# 연결 및 상태 확인 API +# 연결 테스트 API # ======================================== @idrac_bp.route('/api/servers//test', methods=['POST']) @@ -239,878 +136,114 @@ def test_connection(server_id): try: server = IdracServer.query.get(server_id) if not server: - return jsonify({ - 'success': False, - 'message': '서버를 찾을 수 없습니다' - }) - + return jsonify({'success': False, 'message': '서버 없음'}) + client = DellRedfishClient(server.ip_address, server.username, server.password) - if client.check_connection(): server.status = 'online' server.last_connected = datetime.utcnow() db.session.commit() - - return jsonify({ - 'success': True, - 'message': f'{server.name} 연결 성공' - }) + return jsonify({'success': True, 'message': '연결 성공'}) else: server.status = 'offline' db.session.commit() - - return jsonify({ - 'success': False, - 'message': f'{server.name} 연결 실패' - }) - + return jsonify({'success': False, 'message': '연결 실패'}) except Exception as e: - return jsonify({ - 'success': False, - 'message': f'오류: {str(e)}' - }) + return jsonify({'success': False, 'message': str(e)}) @idrac_bp.route('/api/servers/test-multi', methods=['POST']) def test_connections_multi(): - """다중 서버 일괄 연결 테스트""" + """다중 서버 연결 테스트""" try: data = request.json server_ids = data.get('server_ids', []) - - if not server_ids: - return jsonify({ - 'success': False, - 'message': '서버를 선택하세요' - }) - results = [] - for server_id in server_ids: - server = IdracServer.query.get(server_id) - if not server: - continue + for sid in server_ids: + server = IdracServer.query.get(sid) + if not server: continue try: client = DellRedfishClient(server.ip_address, server.username, server.password) - if client.check_connection(): server.status = 'online' server.last_connected = datetime.utcnow() - results.append({ - 'server_id': server.id, - 'server_name': server.name, - 'success': True, - 'message': '연결 성공' - }) + results.append({'server_id': sid, 'success': True}) else: server.status = 'offline' - results.append({ - 'server_id': server.id, - 'server_name': server.name, - 'success': False, - 'message': '연결 실패' - }) - + results.append({'server_id': sid, 'success': False, 'message': 'Failed'}) except Exception as e: server.status = 'offline' - results.append({ - 'server_id': server.id, - 'server_name': server.name, - 'success': False, - 'message': str(e) - }) + results.append({'server_id': sid, 'success': False, 'message': str(e)}) db.session.commit() - - success_count = sum(1 for r in results if r['success']) - + success = sum(1 for r in results if r['success']) return jsonify({ - 'success': True, - 'results': results, - 'summary': { - 'total': len(results), - 'success': success_count, - 'failed': len(results) - success_count - } + 'success': True, + 'summary': {'success': success, 'failed': len(results)-success}, + 'results': results }) - except Exception as e: - return jsonify({ - 'success': False, - 'message': f'오류: {str(e)}' - }) - -@idrac_bp.route('/api/servers//firmware', methods=['GET']) -def get_server_firmware(server_id): - """단일 서버 펌웨어 버전 조회""" - try: - server = IdracServer.query.get(server_id) - if not server: - return jsonify({ - 'success': False, - 'message': '서버를 찾을 수 없습니다' - }) - - client = DellRedfishClient(server.ip_address, server.username, server.password) - inventory = client.get_firmware_inventory() - - # BIOS 버전 업데이트 - for item in inventory: - if 'BIOS' in item.get('Name', ''): - server.current_bios = item.get('Version') - break - - db.session.commit() - - return jsonify({ - 'success': True, - 'data': inventory - }) - - except Exception as e: - return jsonify({ - 'success': False, - 'message': f'오류: {str(e)}' - }) + return jsonify({'success': False, 'message': str(e)}) # ======================================== -# 멀티 서버 펌웨어 업로드 API -# ======================================== - -@idrac_bp.route('/api/upload-multi', methods=['POST']) -def upload_multi(): - """다중 서버에 펌웨어 일괄 업로드""" - try: - if 'file' not in request.files: - return jsonify({ - 'success': False, - 'message': '파일이 없습니다' - }) - - file = request.files['file'] - server_ids_str = request.form.get('server_ids') - - if not server_ids_str: - return jsonify({ - 'success': False, - 'message': '서버를 선택하세요' - }) - - server_ids = [int(x) for x in server_ids_str.split(',')] - - if file.filename == '': - return jsonify({ - 'success': False, - 'message': '파일이 선택되지 않았습니다' - }) - - if not allowed_file(file.filename): - return jsonify({ - 'success': False, - 'message': '허용되지 않은 파일 형식입니다 (.exe, .bin만 가능)' - }) - - # 로컬에 임시 저장 - filename = secure_filename(file.filename) - os.makedirs(UPLOAD_FOLDER, exist_ok=True) - local_path = os.path.join(UPLOAD_FOLDER, filename) - file.save(local_path) - - # 백그라운드 스레드로 업로드 시작 - from backend.services import watchdog_handler - socketio = watchdog_handler.socketio - - def upload_to_servers(): - results = [] - - for idx, server_id in enumerate(server_ids): - server = IdracServer.query.get(server_id) - if not server: - continue - - try: - # 진행 상황 전송 - if socketio: - socketio.emit('upload_progress', { - 'server_id': server.id, - 'server_name': server.name, - 'status': 'uploading', - 'progress': 0, - 'message': '업로드 시작...' - }) - - server.status = 'updating' - db.session.commit() - - client = DellRedfishClient(server.ip_address, server.username, server.password) - result = client.upload_firmware_staged(local_path) - - if result['success']: - server.status = 'online' - server.last_updated = datetime.utcnow() - - results.append({ - 'server_id': server.id, - 'server_name': server.name, - 'success': True, - 'job_id': result['job_id'], - 'message': '업로드 완료' - }) - - if socketio: - socketio.emit('upload_progress', { - 'server_id': server.id, - 'server_name': server.name, - 'status': 'completed', - 'progress': 100, - 'message': '업로드 완료', - 'job_id': result['job_id'] - }) - else: - server.status = 'online' - - results.append({ - 'server_id': server.id, - 'server_name': server.name, - 'success': False, - 'message': result.get('message', '업로드 실패') - }) - - if socketio: - socketio.emit('upload_progress', { - 'server_id': server.id, - 'server_name': server.name, - 'status': 'failed', - 'progress': 0, - 'message': result.get('message', '업로드 실패') - }) - - db.session.commit() - - except Exception as e: - server.status = 'online' - db.session.commit() - - results.append({ - 'server_id': server.id, - 'server_name': server.name, - 'success': False, - 'message': str(e) - }) - - if socketio: - socketio.emit('upload_progress', { - 'server_id': server.id, - 'server_name': server.name, - 'status': 'failed', - 'progress': 0, - 'message': str(e) - }) - - # 최종 결과 전송 - if socketio: - success_count = sum(1 for r in results if r['success']) - socketio.emit('upload_complete', { - 'results': results, - 'summary': { - 'total': len(results), - 'success': success_count, - 'failed': len(results) - success_count - } - }) - - # 스레드 시작 - thread = threading.Thread(target=upload_to_servers) - thread.daemon = True - thread.start() - - return jsonify({ - 'success': True, - 'message': f'{len(server_ids)}대 서버에 업로드 시작', - 'filename': filename - }) - - except Exception as e: - return jsonify({ - 'success': False, - 'message': f'업로드 오류: {str(e)}' - }) - -# ======================================== -# 기존 단일 서버 API (호환성 유지) -# ======================================== - -@idrac_bp.route('/api/files/local', methods=['GET']) -def list_local_files(): - """로컬에 저장된 DUP 파일 목록""" - try: - files = [] - - if os.path.exists(UPLOAD_FOLDER): - for filename in os.listdir(UPLOAD_FOLDER): - filepath = os.path.join(UPLOAD_FOLDER, filename) - if os.path.isfile(filepath): - file_size = os.path.getsize(filepath) - files.append({ - 'name': filename, - 'size': file_size, - 'size_mb': round(file_size / (1024 * 1024), 2), - 'uploaded_at': datetime.fromtimestamp( - os.path.getmtime(filepath) - ).strftime('%Y-%m-%d %H:%M:%S') - }) - - return jsonify({ - 'success': True, - 'files': files - }) - - except Exception as e: - return jsonify({ - 'success': False, - 'message': f'오류: {str(e)}' - }) - -@idrac_bp.route('/api/files/local/', methods=['DELETE']) -def delete_local_file(filename): - """로컬 DUP 파일 삭제""" - try: - filepath = os.path.join(UPLOAD_FOLDER, secure_filename(filename)) - - if os.path.exists(filepath): - os.remove(filepath) - return jsonify({ - 'success': True, - 'message': f'{filename} 삭제 완료' - }) - else: - return jsonify({ - 'success': False, - 'message': '파일을 찾을 수 없습니다' - }) - - except Exception as e: - return jsonify({ - 'success': False, - 'message': f'삭제 오류: {str(e)}' - }) - -# ======================================== -# 서버 재부팅 API (멀티) +# 전원 제어 API # ======================================== @idrac_bp.route('/api/servers/reboot-multi', methods=['POST']) def reboot_servers_multi(): - """선택한 서버들 일괄 재부팅""" + """다중 서버 재부팅""" try: data = request.json server_ids = data.get('server_ids', []) reboot_type = data.get('type', 'GracefulRestart') - - if not server_ids: - return jsonify({ - 'success': False, - 'message': '서버를 선택하세요' - }) - results = [] - for server_id in server_ids: - server = IdracServer.query.get(server_id) - if not server: - continue + for sid in server_ids: + server = IdracServer.query.get(sid) + if not server: continue try: client = DellRedfishClient(server.ip_address, server.username, server.password) - result = client.reboot_server(reboot_type) - - if result: - results.append({ - 'server_id': server.id, - 'server_name': server.name, - 'success': True, - 'message': '재부팅 시작' - }) + if client.reboot_server(reboot_type): + results.append({'server_id': sid, 'success': True, 'message': 'Reboot initiated'}) else: - results.append({ - 'server_id': server.id, - 'server_name': server.name, - 'success': False, - 'message': '재부팅 실패' - }) - + results.append({'server_id': sid, 'success': False, 'message': 'Reboot failed'}) except Exception as e: - results.append({ - 'server_id': server.id, - 'server_name': server.name, - 'success': False, - 'message': str(e) - }) - - success_count = sum(1 for r in results if r['success']) - + results.append({'server_id': sid, 'success': False, 'message': str(e)}) + + success = sum(1 for r in results if r['success']) return jsonify({ - 'success': True, - 'results': results, - 'summary': { - 'total': len(results), - 'success': success_count, - 'failed': len(results) - success_count - } + 'success': True, + 'summary': {'success': success, 'failed': len(results)-success}, + 'results': results }) - except Exception as e: - return jsonify({ - 'success': False, - 'message': f'오류: {str(e)}' - }) + return jsonify({'success': False, 'message': str(e)}) +# ======================================== # Blueprint 등록 함수 +# ======================================== + + def register_idrac_routes(app): """ - iDRAC 멀티 서버 관리 Blueprint 등록 - - Args: - app: Flask 애플리케이션 인스턴스 + idrac_routes 등록 및 초기화 """ - # uploads 디렉토리 생성 - os.makedirs(UPLOAD_FOLDER, exist_ok=True) - # Blueprint 등록 app.register_blueprint(idrac_bp) - # CSRF 보호 제외 - iDRAC API 엔드포인트 + # CSRF 제외 - app에 이미 설정된 csrf 인스턴스 사용 try: from flask_wtf.csrf import CSRFProtect - csrf = CSRFProtect() - # API 엔드포인트는 CSRF 검증 제외 - csrf.exempt(idrac_bp) - except: - pass # CSRF 설정 실패해도 계속 진행 - - # DB 테이블 생성 + # app에 이미 csrf가 설정되어 있으므로, 해당 인스턴스를 가져와서 exempt 설정 + csrf = app.extensions.get('csrf') + if csrf: + csrf.exempt(idrac_bp) + except Exception as e: + app.logger.warning(f"CSRF exemption failed for idrac_bp: {e}") + + # DB 생성 with app.app_context(): db.create_all() - - # 초기 펌웨어 버전 데이터 생성 (최초 실행 시) - if FirmwareVersion.query.count() == 0: - init_firmware_versions() - - -# ======================================== -# 펌웨어 버전 비교 API 추가 -# ======================================== - -@idrac_bp.route('/api/firmware-versions', methods=['GET']) -def get_firmware_versions(): - """등록된 최신 펌웨어 버전 목록""" - try: - server_model = request.args.get('model') # 서버 모델 필터 - - query = FirmwareVersion.query.filter_by(is_active=True) - - if server_model: - # 특정 모델 또는 범용 - query = query.filter( - (FirmwareVersion.server_model == server_model) | - (FirmwareVersion.server_model == None) - ) - - versions = query.order_by(FirmwareVersion.component_name).all() - - return jsonify({ - 'success': True, - 'versions': [v.to_dict() for v in versions] - }) - - except Exception as e: - return jsonify({ - 'success': False, - 'message': f'오류: {str(e)}' - }) - -@idrac_bp.route('/api/firmware-versions', methods=['POST']) -def add_firmware_version(): - """최신 펌웨어 버전 등록""" - try: - data = request.json - - # 필수 필드 확인 - if not all([data.get('component_name'), data.get('latest_version')]): - return jsonify({ - 'success': False, - 'message': '컴포넌트명과 버전을 입력하세요' - }) - - # 중복 확인 (같은 컴포넌트, 같은 모델) - existing = FirmwareVersion.query.filter_by( - component_name=data['component_name'], - server_model=data.get('server_model') - ).first() - - if existing: - return jsonify({ - 'success': False, - 'message': f'이미 등록된 컴포넌트입니다' - }) - - # 버전 생성 - version = FirmwareVersion( - component_name=data['component_name'], - component_type=data.get('component_type'), - vendor=data.get('vendor'), - server_model=data.get('server_model'), - latest_version=data['latest_version'], - release_date=data.get('release_date'), - download_url=data.get('download_url'), - file_name=data.get('file_name'), - file_size_mb=data.get('file_size_mb'), - notes=data.get('notes'), - is_critical=data.get('is_critical', False) - ) - - db.session.add(version) - db.session.commit() - - return jsonify({ - 'success': True, - 'message': f'{version.component_name} 버전 정보 등록 완료', - 'version': version.to_dict() - }) - - except Exception as e: - db.session.rollback() - return jsonify({ - 'success': False, - 'message': f'오류: {str(e)}' - }) - -@idrac_bp.route('/api/firmware-versions/', methods=['PUT']) -def update_firmware_version(version_id): - """펌웨어 버전 정보 수정""" - try: - version = FirmwareVersion.query.get(version_id) - if not version: - return jsonify({ - 'success': False, - 'message': '버전 정보를 찾을 수 없습니다' - }) - - data = request.json - - # 업데이트 - if 'component_name' in data: - version.component_name = data['component_name'] - if 'latest_version' in data: - version.latest_version = data['latest_version'] - if 'release_date' in data: - version.release_date = data['release_date'] - if 'download_url' in data: - version.download_url = data['download_url'] - if 'file_name' in data: - version.file_name = data['file_name'] - if 'notes' in data: - version.notes = data['notes'] - if 'is_critical' in data: - version.is_critical = data['is_critical'] - - db.session.commit() - - return jsonify({ - 'success': True, - 'message': '버전 정보 수정 완료', - 'version': version.to_dict() - }) - - except Exception as e: - db.session.rollback() - return jsonify({ - 'success': False, - 'message': f'오류: {str(e)}' - }) - -@idrac_bp.route('/api/firmware-versions/', methods=['DELETE']) -def delete_firmware_version(version_id): - """펌웨어 버전 정보 삭제""" - try: - version = FirmwareVersion.query.get(version_id) - - if not version: - from flask import current_app - current_app.logger.warning(f"Firmware version not found: {version_id}") - return jsonify({ - 'success': False, - 'message': '펌웨어 버전을 찾을 수 없습니다' - }), 404 - - component_name = version.component_name - version_number = version.latest_version - - db.session.delete(version) - db.session.commit() - - from flask import current_app - current_app.logger.info(f"Firmware version deleted: {component_name} v{version_number} (ID: {version_id})") - - return jsonify({ - 'success': True, - 'message': f'{component_name} 버전 정보가 삭제되었습니다' - }) - - except Exception as e: - from flask import current_app - current_app.logger.error(f"Error deleting firmware version {version_id}: {str(e)}") - db.session.rollback() - return jsonify({ - 'success': False, - 'message': f'삭제 실패: {str(e)}' - }), 500 - -@idrac_bp.route('/api/servers//firmware/compare', methods=['GET']) -def compare_server_firmware(server_id): - """ - 서버 펌웨어 버전 비교 - 현재 버전과 최신 버전을 비교하여 업데이트 필요 여부 확인 - """ - try: - server = IdracServer.query.get(server_id) - if not server: - return jsonify({ - 'success': False, - 'message': '서버를 찾을 수 없습니다' - }) - - # 현재 펌웨어 조회 - client = DellRedfishClient(server.ip_address, server.username, server.password) - current_inventory = client.get_firmware_inventory() - - # 최신 버전 정보 조회 - latest_versions = FirmwareVersion.query.filter_by(is_active=True).all() - - # 비교 결과 - comparisons = [] - - for current_fw in current_inventory: - component_name = current_fw['Name'] - current_version = current_fw['Version'] - - # 최신 버전 찾기 (컴포넌트명 매칭) - latest = None - for lv in latest_versions: - if lv.component_name.lower() in component_name.lower(): - # 서버 모델 확인 - if not lv.server_model or lv.server_model == server.model: - latest = lv - break - - # 비교 - comparison = FirmwareComparisonResult( - component_name=component_name, - current_version=current_version, - latest_version=latest.latest_version if latest else None - ) - - result = comparison.to_dict() - - # 추가 정보 - if latest: - result['latest_info'] = { - 'release_date': latest.release_date, - 'download_url': latest.download_url, - 'file_name': latest.file_name, - 'is_critical': latest.is_critical, - 'notes': latest.notes - } - - comparisons.append(result) - - # 통계 - total = len(comparisons) - outdated = len([c for c in comparisons if c['status'] == 'outdated']) - latest_count = len([c for c in comparisons if c['status'] == 'latest']) - unknown = len([c for c in comparisons if c['status'] == 'unknown']) - - return jsonify({ - 'success': True, - 'server': { - 'id': server.id, - 'name': server.name, - 'model': server.model - }, - 'comparisons': comparisons, - 'summary': { - 'total': total, - 'outdated': outdated, - 'latest': latest_count, - 'unknown': unknown - } - }) - - except Exception as e: - return jsonify({ - 'success': False, - 'message': f'오류: {str(e)}' - }) - -@idrac_bp.route('/api/servers/firmware/compare-multi', methods=['POST']) -def compare_multi_servers_firmware(): - """ - 여러 서버의 펌웨어 버전 비교 - """ - try: - data = request.json - server_ids = data.get('server_ids', []) - - if not server_ids: - return jsonify({ - 'success': False, - 'message': '서버를 선택하세요' - }) - - results = [] - - for server_id in server_ids: - server = IdracServer.query.get(server_id) - if not server: - results.append({ - 'server_id': server_id, - 'server_name': 'Unknown', - 'server_ip': '', - 'success': False, - 'message': '서버를 찾을 수 없습니다' - }) - continue - - try: - # 각 서버 비교 - client = DellRedfishClient(server.ip_address, server.username, server.password) - current_inventory = client.get_firmware_inventory() - - latest_versions = FirmwareVersion.query.filter_by(is_active=True).all() - - comparisons = [] - - for current_fw in current_inventory: - component_name = current_fw['Name'] - current_version = current_fw['Version'] - - # 최신 버전 찾기 - latest = None - for lv in latest_versions: - if lv.component_name.lower() in component_name.lower(): - # 서버 모델 확인 - if not lv.server_model or lv.server_model == server.model: - latest = lv - break - - # 비교 결과 생성 - comparison = FirmwareComparisonResult( - component_name=component_name, - current_version=current_version, - latest_version=latest.latest_version if latest else None - ) - - comparisons.append(comparison.to_dict()) - - results.append({ - 'server_id': server.id, - 'server_name': server.name, - 'server_ip': server.ip_address, - 'success': True, - 'comparisons': comparisons, - 'message': f'{len(comparisons)}개 컴포넌트 비교 완료' - }) - - except Exception as e: - current_app.logger.error(f"Error comparing firmware for server {server.id}: {str(e)}") - results.append({ - 'server_id': server.id, - 'server_name': server.name, - 'server_ip': server.ip_address, - 'success': False, - 'message': f'비교 실패: {str(e)}' - }) - - return jsonify({ - 'success': True, - 'results': results - }) - - except Exception as e: - current_app.logger.error(f"Error in compare_multi_servers_firmware: {str(e)}") - return jsonify({ - 'success': False, - 'message': f'오류: {str(e)}' - }) - - -# ======================================== -# 초기 데이터 생성 함수 -# ======================================== - -def init_firmware_versions(): - """초기 펌웨어 버전 데이터 생성""" - initial_versions = [ - { - 'component_name': 'BIOS', - 'component_type': 'Firmware', - 'vendor': 'Dell', - 'server_model': 'PowerEdge R750', - 'latest_version': '2.15.0', - 'release_date': '2024-01-15', - 'notes': 'PowerEdge R750 최신 BIOS' - }, - { - 'component_name': 'iDRAC', - 'component_type': 'Firmware', - 'vendor': 'Dell', - 'latest_version': '6.10.30.00', - 'release_date': '2024-02-20', - 'notes': 'iDRAC9 최신 펌웨어 (모든 모델 공용)' - }, - { - 'component_name': 'PERC H755', - 'component_type': 'Firmware', - 'vendor': 'Dell', - 'server_model': 'PowerEdge R750', - 'latest_version': '25.5.9.0001', - 'release_date': '2024-01-10', - 'notes': 'PERC H755 RAID 컨트롤러' - }, - { - 'component_name': 'BIOS', - 'component_type': 'Firmware', - 'vendor': 'Dell', - 'server_model': 'PowerEdge R640', - 'latest_version': '2.19.2', - 'release_date': '2024-02-01', - 'notes': 'PowerEdge R640 최신 BIOS' - }, - { - 'component_name': 'CPLD', - 'component_type': 'Firmware', - 'vendor': 'Dell', - 'latest_version': '1.0.6', - 'release_date': '2023-12-15', - 'notes': '시스템 보드 CPLD (14G/15G 공용)' - }, - ] - - for data in initial_versions: - # 중복 체크 - existing = FirmwareVersion.query.filter_by( - component_name=data['component_name'], - server_model=data.get('server_model') - ).first() - - if not existing: - version = FirmwareVersion(**data) - db.session.add(version) - - try: - db.session.commit() - print("✓ 초기 펌웨어 버전 데이터 생성 완료") - except: - db.session.rollback() - print("⚠ 초기 데이터 생성 중 오류 (이미 있을 수 있음)") diff --git a/backend/routes/idrac_routes_base.py b/backend/routes/idrac_routes_base.py deleted file mode 100644 index b33f120..0000000 --- a/backend/routes/idrac_routes_base.py +++ /dev/null @@ -1,669 +0,0 @@ -""" -Dell iDRAC 멀티 서버 펌웨어 관리 라우트 -backend/routes/idrac_routes.py -- CSRF 보호 제외 추가 -""" - -from flask import Blueprint, render_template, request, jsonify, current_app -from werkzeug.utils import secure_filename -import os -from datetime import datetime -from backend.services.idrac_redfish_client import DellRedfishClient -from backend.models.idrac_server import IdracServer, db -from flask_socketio import emit -import threading - -# Blueprint 생성 -idrac_bp = Blueprint('idrac', __name__, url_prefix='/idrac') - -# 설정 -UPLOAD_FOLDER = 'uploads/firmware' -ALLOWED_EXTENSIONS = {'exe', 'bin'} -MAX_FILE_SIZE = 500 * 1024 * 1024 # 500MB - -def allowed_file(filename): - """허용된 파일 형식 확인""" - return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS - -# ======================================== -# 메인 페이지 -# ======================================== - -@idrac_bp.route('/') -def index(): - """iDRAC 멀티 서버 관리 메인 페이지""" - return render_template('idrac_firmware.html') - -# ======================================== -# 서버 관리 API -# ======================================== - -@idrac_bp.route('/api/servers', methods=['GET']) -def get_servers(): - """등록된 서버 목록 조회""" - try: - group = request.args.get('group') # 그룹 필터 - - query = IdracServer.query.filter_by(is_active=True) - if group and group != 'all': - query = query.filter_by(group_name=group) - - servers = query.order_by(IdracServer.name).all() - - return jsonify({ - 'success': True, - 'servers': [s.to_dict() for s in servers] - }) - except Exception as e: - return jsonify({ - 'success': False, - 'message': f'오류: {str(e)}' - }) - -@idrac_bp.route('/api/servers', methods=['POST']) -def add_server(): - """서버 추가""" - try: - data = request.json - - # 필수 필드 확인 - if not all([data.get('name'), data.get('ip_address'), data.get('password')]): - return jsonify({ - 'success': False, - 'message': '필수 필드를 모두 입력하세요 (서버명, IP, 비밀번호)' - }) - - # 중복 IP 확인 - existing = IdracServer.query.filter_by(ip_address=data['ip_address']).first() - if existing: - return jsonify({ - 'success': False, - 'message': f'이미 등록된 IP입니다: {data["ip_address"]}' - }) - - # 서버 생성 - server = IdracServer( - name=data['name'], - ip_address=data['ip_address'], - username=data.get('username', 'root'), - password=data['password'], - group_name=data.get('group_name'), - location=data.get('location'), - model=data.get('model'), - notes=data.get('notes') - ) - - db.session.add(server) - db.session.commit() - - return jsonify({ - 'success': True, - 'message': f'서버 {server.name} 추가 완료', - 'server': server.to_dict() - }) - - except Exception as e: - db.session.rollback() - return jsonify({ - 'success': False, - 'message': f'오류: {str(e)}' - }) - -@idrac_bp.route('/api/servers/', methods=['PUT']) -def update_server(server_id): - """서버 정보 수정""" - try: - server = IdracServer.query.get(server_id) - if not server: - return jsonify({ - 'success': False, - 'message': '서버를 찾을 수 없습니다' - }) - - data = request.json - - # 업데이트 - if 'name' in data: - server.name = data['name'] - if 'ip_address' in data: - server.ip_address = data['ip_address'] - if 'username' in data: - server.username = data['username'] - if 'password' in data: - server.password = data['password'] - if 'group_name' in data: - server.group_name = data['group_name'] - if 'location' in data: - server.location = data['location'] - if 'model' in data: - server.model = data['model'] - if 'notes' in data: - server.notes = data['notes'] - - db.session.commit() - - return jsonify({ - 'success': True, - 'message': '서버 정보 수정 완료', - 'server': server.to_dict() - }) - - except Exception as e: - db.session.rollback() - return jsonify({ - 'success': False, - 'message': f'오류: {str(e)}' - }) - -@idrac_bp.route('/api/servers/', methods=['DELETE']) -def delete_server(server_id): - """서버 삭제 (소프트 삭제)""" - try: - server = IdracServer.query.get(server_id) - if not server: - return jsonify({ - 'success': False, - 'message': '서버를 찾을 수 없습니다' - }) - - server.is_active = False - db.session.commit() - - return jsonify({ - 'success': True, - 'message': f'서버 {server.name} 삭제 완료' - }) - - except Exception as e: - db.session.rollback() - return jsonify({ - 'success': False, - 'message': f'오류: {str(e)}' - }) - -@idrac_bp.route('/api/groups', methods=['GET']) -def get_groups(): - """등록된 그룹 목록""" - try: - groups = db.session.query(IdracServer.group_name)\ - .filter(IdracServer.is_active == True)\ - .filter(IdracServer.group_name.isnot(None))\ - .distinct()\ - .all() - - group_list = [g[0] for g in groups if g[0]] - - return jsonify({ - 'success': True, - 'groups': group_list - }) - - except Exception as e: - return jsonify({ - 'success': False, - 'message': f'오류: {str(e)}' - }) - -# ======================================== -# 연결 및 상태 확인 API -# ======================================== - -@idrac_bp.route('/api/servers//test', methods=['POST']) -def test_connection(server_id): - """단일 서버 연결 테스트""" - try: - server = IdracServer.query.get(server_id) - if not server: - return jsonify({ - 'success': False, - 'message': '서버를 찾을 수 없습니다' - }) - - client = DellRedfishClient(server.ip_address, server.username, server.password) - - if client.check_connection(): - server.status = 'online' - server.last_connected = datetime.utcnow() - db.session.commit() - - return jsonify({ - 'success': True, - 'message': f'{server.name} 연결 성공' - }) - else: - server.status = 'offline' - db.session.commit() - - return jsonify({ - 'success': False, - 'message': f'{server.name} 연결 실패' - }) - - except Exception as e: - return jsonify({ - 'success': False, - 'message': f'오류: {str(e)}' - }) - -@idrac_bp.route('/api/servers/test-multi', methods=['POST']) -def test_connections_multi(): - """다중 서버 일괄 연결 테스트""" - try: - data = request.json - server_ids = data.get('server_ids', []) - - if not server_ids: - return jsonify({ - 'success': False, - 'message': '서버를 선택하세요' - }) - - results = [] - - for server_id in server_ids: - server = IdracServer.query.get(server_id) - if not server: - continue - - try: - client = DellRedfishClient(server.ip_address, server.username, server.password) - - if client.check_connection(): - server.status = 'online' - server.last_connected = datetime.utcnow() - results.append({ - 'server_id': server.id, - 'server_name': server.name, - 'success': True, - 'message': '연결 성공' - }) - else: - server.status = 'offline' - results.append({ - 'server_id': server.id, - 'server_name': server.name, - 'success': False, - 'message': '연결 실패' - }) - - except Exception as e: - server.status = 'offline' - results.append({ - 'server_id': server.id, - 'server_name': server.name, - 'success': False, - 'message': str(e) - }) - - db.session.commit() - - success_count = sum(1 for r in results if r['success']) - - return jsonify({ - 'success': True, - 'results': results, - 'summary': { - 'total': len(results), - 'success': success_count, - 'failed': len(results) - success_count - } - }) - - except Exception as e: - return jsonify({ - 'success': False, - 'message': f'오류: {str(e)}' - }) - -@idrac_bp.route('/api/servers//firmware', methods=['GET']) -def get_server_firmware(server_id): - """단일 서버 펌웨어 버전 조회""" - try: - server = IdracServer.query.get(server_id) - if not server: - return jsonify({ - 'success': False, - 'message': '서버를 찾을 수 없습니다' - }) - - client = DellRedfishClient(server.ip_address, server.username, server.password) - inventory = client.get_firmware_inventory() - - # BIOS 버전 업데이트 - for item in inventory: - if 'BIOS' in item.get('Name', ''): - server.current_bios = item.get('Version') - break - - db.session.commit() - - return jsonify({ - 'success': True, - 'data': inventory - }) - - except Exception as e: - return jsonify({ - 'success': False, - 'message': f'오류: {str(e)}' - }) - -# ======================================== -# 멀티 서버 펌웨어 업로드 API -# ======================================== - -@idrac_bp.route('/api/upload-multi', methods=['POST']) -def upload_multi(): - """다중 서버에 펌웨어 일괄 업로드""" - try: - if 'file' not in request.files: - return jsonify({ - 'success': False, - 'message': '파일이 없습니다' - }) - - file = request.files['file'] - server_ids_str = request.form.get('server_ids') - - if not server_ids_str: - return jsonify({ - 'success': False, - 'message': '서버를 선택하세요' - }) - - server_ids = [int(x) for x in server_ids_str.split(',')] - - if file.filename == '': - return jsonify({ - 'success': False, - 'message': '파일이 선택되지 않았습니다' - }) - - if not allowed_file(file.filename): - return jsonify({ - 'success': False, - 'message': '허용되지 않은 파일 형식입니다 (.exe, .bin만 가능)' - }) - - # 로컬에 임시 저장 - filename = secure_filename(file.filename) - os.makedirs(UPLOAD_FOLDER, exist_ok=True) - local_path = os.path.join(UPLOAD_FOLDER, filename) - file.save(local_path) - - # 백그라운드 스레드로 업로드 시작 - from backend.services import watchdog_handler - socketio = watchdog_handler.socketio - - def upload_to_servers(): - results = [] - - for idx, server_id in enumerate(server_ids): - server = IdracServer.query.get(server_id) - if not server: - continue - - try: - # 진행 상황 전송 - if socketio: - socketio.emit('upload_progress', { - 'server_id': server.id, - 'server_name': server.name, - 'status': 'uploading', - 'progress': 0, - 'message': '업로드 시작...' - }) - - server.status = 'updating' - db.session.commit() - - client = DellRedfishClient(server.ip_address, server.username, server.password) - result = client.upload_firmware_staged(local_path) - - if result['success']: - server.status = 'online' - server.last_updated = datetime.utcnow() - - results.append({ - 'server_id': server.id, - 'server_name': server.name, - 'success': True, - 'job_id': result['job_id'], - 'message': '업로드 완료' - }) - - if socketio: - socketio.emit('upload_progress', { - 'server_id': server.id, - 'server_name': server.name, - 'status': 'completed', - 'progress': 100, - 'message': '업로드 완료', - 'job_id': result['job_id'] - }) - else: - server.status = 'online' - - results.append({ - 'server_id': server.id, - 'server_name': server.name, - 'success': False, - 'message': result.get('message', '업로드 실패') - }) - - if socketio: - socketio.emit('upload_progress', { - 'server_id': server.id, - 'server_name': server.name, - 'status': 'failed', - 'progress': 0, - 'message': result.get('message', '업로드 실패') - }) - - db.session.commit() - - except Exception as e: - server.status = 'online' - db.session.commit() - - results.append({ - 'server_id': server.id, - 'server_name': server.name, - 'success': False, - 'message': str(e) - }) - - if socketio: - socketio.emit('upload_progress', { - 'server_id': server.id, - 'server_name': server.name, - 'status': 'failed', - 'progress': 0, - 'message': str(e) - }) - - # 최종 결과 전송 - if socketio: - success_count = sum(1 for r in results if r['success']) - socketio.emit('upload_complete', { - 'results': results, - 'summary': { - 'total': len(results), - 'success': success_count, - 'failed': len(results) - success_count - } - }) - - # 스레드 시작 - thread = threading.Thread(target=upload_to_servers) - thread.daemon = True - thread.start() - - return jsonify({ - 'success': True, - 'message': f'{len(server_ids)}대 서버에 업로드 시작', - 'filename': filename - }) - - except Exception as e: - return jsonify({ - 'success': False, - 'message': f'업로드 오류: {str(e)}' - }) - -# ======================================== -# 기존 단일 서버 API (호환성 유지) -# ======================================== - -@idrac_bp.route('/api/files/local', methods=['GET']) -def list_local_files(): - """로컬에 저장된 DUP 파일 목록""" - try: - files = [] - - if os.path.exists(UPLOAD_FOLDER): - for filename in os.listdir(UPLOAD_FOLDER): - filepath = os.path.join(UPLOAD_FOLDER, filename) - if os.path.isfile(filepath): - file_size = os.path.getsize(filepath) - files.append({ - 'name': filename, - 'size': file_size, - 'size_mb': round(file_size / (1024 * 1024), 2), - 'uploaded_at': datetime.fromtimestamp( - os.path.getmtime(filepath) - ).strftime('%Y-%m-%d %H:%M:%S') - }) - - return jsonify({ - 'success': True, - 'files': files - }) - - except Exception as e: - return jsonify({ - 'success': False, - 'message': f'오류: {str(e)}' - }) - -@idrac_bp.route('/api/files/local/', methods=['DELETE']) -def delete_local_file(filename): - """로컬 DUP 파일 삭제""" - try: - filepath = os.path.join(UPLOAD_FOLDER, secure_filename(filename)) - - if os.path.exists(filepath): - os.remove(filepath) - return jsonify({ - 'success': True, - 'message': f'{filename} 삭제 완료' - }) - else: - return jsonify({ - 'success': False, - 'message': '파일을 찾을 수 없습니다' - }) - - except Exception as e: - return jsonify({ - 'success': False, - 'message': f'삭제 오류: {str(e)}' - }) - -# ======================================== -# 서버 재부팅 API (멀티) -# ======================================== - -@idrac_bp.route('/api/servers/reboot-multi', methods=['POST']) -def reboot_servers_multi(): - """선택한 서버들 일괄 재부팅""" - try: - data = request.json - server_ids = data.get('server_ids', []) - reboot_type = data.get('type', 'GracefulRestart') - - if not server_ids: - return jsonify({ - 'success': False, - 'message': '서버를 선택하세요' - }) - - results = [] - - for server_id in server_ids: - server = IdracServer.query.get(server_id) - if not server: - continue - - try: - client = DellRedfishClient(server.ip_address, server.username, server.password) - result = client.reboot_server(reboot_type) - - if result: - results.append({ - 'server_id': server.id, - 'server_name': server.name, - 'success': True, - 'message': '재부팅 시작' - }) - else: - results.append({ - 'server_id': server.id, - 'server_name': server.name, - 'success': False, - 'message': '재부팅 실패' - }) - - except Exception as e: - results.append({ - 'server_id': server.id, - 'server_name': server.name, - 'success': False, - 'message': str(e) - }) - - success_count = sum(1 for r in results if r['success']) - - return jsonify({ - 'success': True, - 'results': results, - 'summary': { - 'total': len(results), - 'success': success_count, - 'failed': len(results) - success_count - } - }) - - except Exception as e: - return jsonify({ - 'success': False, - 'message': f'오류: {str(e)}' - }) - - -# Blueprint 등록 함수 -def register_idrac_routes(app): - """ - iDRAC 멀티 서버 관리 Blueprint 등록 - - Args: - app: Flask 애플리케이션 인스턴스 - """ - # uploads 디렉토리 생성 - os.makedirs(UPLOAD_FOLDER, exist_ok=True) - - # Blueprint 등록 - app.register_blueprint(idrac_bp) - - # CSRF 보호 제외 - iDRAC API 엔드포인트 - try: - from flask_wtf.csrf import CSRFProtect - csrf = CSRFProtect() - # API 엔드포인트는 CSRF 검증 제외 - csrf.exempt(idrac_bp) - except: - pass # CSRF 설정 실패해도 계속 진행 - - # DB 테이블 생성 - with app.app_context(): - db.create_all() diff --git a/backend/routes/main.py b/backend/routes/main.py index c23188a..ce85792 100644 --- a/backend/routes/main.py +++ b/backend/routes/main.py @@ -98,7 +98,7 @@ def index(): end_page = min(start_page + 9, total_pages) # 4. 백업 폴더 목록 - backup_dirs = [d for d in backup_dir.iterdir() if d.is_dir()] + backup_dirs = [d for d in backup_dir.iterdir() if d.is_dir() and d.name != "archive"] backup_dirs.sort(key=lambda p: p.stat().st_mtime, reverse=True) backup_page = int(request.args.get("backup_page", 1)) @@ -119,31 +119,109 @@ def index(): total_pages=total_pages, start_page=start_page, end_page=end_page, - backup_files=backup_files, + backup_files={}, # [DISABLED] Use server_info_files instead total_backup_pages=total_backup_pages, backup_page=backup_page, + server_info_files=backup_files, # Server Info (Paginated) scripts=all_scripts, # 기존 리스트 호환 grouped_scripts=grouped_scripts_sorted, # 카테고리별 분류 xml_files=xml_files, + # [NEW] Repositories + mac_files=_get_file_info_list(Config.MAC_FOLDER), + guid_files=_get_file_info_list(Config.GUID_FOLDER), + gpu_files=_get_file_info_list(Config.GPU_FOLDER), ) + +def _get_backup_info(folder_path): + """ + 폴더 내의 하위 폴더들을 순회하며 파일 목록 정보를 반환 (백업/아카이브 용) + """ + path = Path(folder_path) + if not path.exists(): + return {} + + dirs = [d for d in path.iterdir() if d.is_dir() and d.name != "archive"] + dirs.sort(key=lambda p: p.stat().st_mtime, reverse=True) + + result = {} + for d in dirs: + files = [f.name for f in d.iterdir() if f.is_file()] + result[d.name] = {"files": files, "count": len(files)} + return result + +def _get_file_info_list(folder_path_str): + """ + 폴더 내 파일들의 상세 정보(이름, 크기, 수정일)를 리스트로 반환 + """ + path = Path(folder_path_str) + if not path.exists(): + return [] + + files = [] + try: + for f in path.glob("*"): + if f.is_file(): + stat = f.stat() + files.append({ + "name": f.name, + "size": stat.st_size, + "mtime": stat.st_mtime, # timestamp for sorting + "date": time.strftime('%Y-%m-%d %H:%M', time.localtime(stat.st_mtime)) + }) + except Exception as e: + logging.error(f"Error reading folder {folder_path_str}: {e}") + return [] + + # 기본 정렬: 최신순 + return sorted(files, key=lambda x: x['mtime'], reverse=True) + + @main_bp.route("/process_ips", methods=["POST"]) @login_required def process_ips(): ips = request.form.get("ips") - selected_script = request.form.get("script") - selected_xml_file = request.form.get("xmlFile") - - if not ips or not selected_script: - return jsonify({"error": "IP 주소와 스크립트를 모두 입력하세요."}), 400 - + job_type = request.form.get("job_type") + + # 변수 초기화 + selected_script = "" + profile_name = None xml_file_path = None - if selected_script == "02-set_config.py" and selected_xml_file: - xml_path = Path(Config.XML_FOLDER) / selected_xml_file - if not xml_path.exists(): - return jsonify({"error": "선택한 XML 파일이 존재하지 않습니다."}), 400 - xml_file_path = str(xml_path) + slot_priority = request.form.get("slot_priority") # [NEW] 슬롯 우선순위 + + # 작업 유형에 따른 스크립트 및 프로파일 설정 + if job_type in ["mac", "server_info", "guid", "gpu"]: + profile_name = request.form.get("profile") + if job_type in ["mac", "guid"] and not profile_name: + return jsonify({"error": "프로파일을 선택하세요."}), 400 + + if job_type == "mac": + selected_script = "unified/collect_mac.py" + elif job_type == "server_info": + selected_script = "unified/collect_server_info.py" + elif job_type == "guid": + selected_script = "unified/collect_guid.py" + elif job_type == "gpu": + selected_script = "unified/collect_gpu.py" + profile_name = None # GPU는 프로파일 불필요 + + else: + # Legacy 모드 (기존 스크립트 선택) + selected_script = request.form.get("script") + selected_xml_file = request.form.get("xmlFile") + + if not selected_script: + return jsonify({"error": "스크립트를 선택하세요."}), 400 + + if selected_script == "02-set_config.py" and selected_xml_file: + xml_path = Path(Config.XML_FOLDER) / selected_xml_file + if not xml_path.exists(): + return jsonify({"error": "선택한 XML 파일이 존재하지 않습니다."}), 400 + xml_file_path = str(xml_path) + + if not ips: + return jsonify({"error": "IP 주소를 입력하세요."}), 400 job_id = str(time.time()) session["job_id"] = job_id @@ -157,11 +235,11 @@ def process_ips(): observer.start() future = executor.submit( - process_ips_concurrently, ip_files, job_id, observer, selected_script, xml_file_path + process_ips_concurrently, ip_files, job_id, observer, selected_script, xml_file_path, profile_name, slot_priority ) future.add_done_callback(lambda x: on_complete(job_id)) - logging.info(f"[AJAX] 작업 시작: {job_id}, script: {selected_script}") + logging.info(f"[AJAX] 작업 시작: {job_id}, type: {job_type}, script: {selected_script}, profile: {profile_name}") return jsonify({"job_id": job_id}) @@ -220,11 +298,21 @@ def delete_file(filename: str): @main_bp.route("/download_zip", methods=["POST"]) @login_required def download_zip(): - zip_filename = request.form.get("zip_filename", "export") + zip_filename = request.form.get("zip_filename", "export").strip() zip_path = Path(Config.TEMP_ZIP_FOLDER) / f"{zip_filename}.zip" + # 기본 대상은 스테이징 폴더 (IDRAC_INFO_FOLDER) + target_dir = Path(Config.IDRAC_INFO_FOLDER) + + # 입력된 이름이 백업 폴더에 존재하는지 확인 + if zip_filename: + possible_backup_path = Path(Config.BACKUP_FOLDER) / zip_filename + if possible_backup_path.exists() and possible_backup_path.is_dir(): + target_dir = possible_backup_path + logging.info(f"백업 폴더 ZIP 다운로드 요청: {zip_filename}") + with zipfile.ZipFile(zip_path, "w", compression=zipfile.ZIP_DEFLATED) as zipf: - for file in Path(Config.IDRAC_INFO_FOLDER).glob("*"): + for file in target_dir.glob("*"): if file.is_file(): zipf.write(file, arcname=file.name) @@ -280,4 +368,53 @@ def move_backup_files(): except Exception as e: logging.error(f"파일 이동 실패: {e}") - return jsonify({"success": False, "message": f"이동 중 오류 발생: {str(e)}"}), 500 \ No newline at end of file + return jsonify({"success": False, "message": f"이동 중 오류 발생: {str(e)}"}), 500 + + +@main_bp.route("/delete_backup_folder/", methods=["POST"]) +@login_required +def delete_backup_folder(folder_name: str): + folder_path = Path(Config.BACKUP_FOLDER) / folder_name + + # 기본 폴더 보호 + if folder_name == "archive": + flash("이 폴더는 삭제할 수 없습니다.", "warning") + return redirect(url_for("main.index")) + + if folder_path.exists() and folder_path.is_dir(): + try: + shutil.rmtree(folder_path) + flash(f"백업 폴더 '{folder_name}'가 삭제되었습니다.", "success") + logging.info(f"백업 폴더 삭제됨: {folder_name}") + except Exception as e: + logging.error(f"백업 폴더 삭제 오류: {e}") + flash("폴더 삭제 중 오류가 발생했습니다.", "danger") + else: + flash("폴더가 존재하지 않습니다.", "warning") + return redirect(url_for("main.index")) + + +@main_bp.route("/archive_backup_folder/", methods=["POST"]) +@login_required +def archive_backup_folder(folder_name: str): + src_path = Path(Config.BACKUP_FOLDER) / folder_name + archive_root = Path(Config.ARCHIVE_FOLDER) + archive_root.mkdir(parents=True, exist_ok=True) + dst_path = archive_root / folder_name + + if src_path.exists() and src_path.is_dir(): + try: + # 이름 중복 시 처리 (timestamp 추가) + if dst_path.exists(): + timestamp = int(time.time()) + dst_path = archive_root / f"{folder_name}_{timestamp}" + + shutil.move(str(src_path), str(dst_path)) + flash(f"'{folder_name}' 폴더가 아카이브(archive)로 이동되었습니다.", "success") + logging.info(f"백업 아카이빙 성공: {folder_name} -> {dst_path}") + except Exception as e: + logging.error(f"백업 아카이빙 오류: {e}") + flash("폴더 이동 중 오류가 발생했습니다.", "danger") + else: + flash("폴더가 존재하지 않습니다.", "warning") + return redirect(url_for("main.index")) \ No newline at end of file diff --git a/backend/routes/script_manager.py b/backend/routes/script_manager.py new file mode 100644 index 0000000..0150af9 --- /dev/null +++ b/backend/routes/script_manager.py @@ -0,0 +1,331 @@ +""" +스크립트 관리 라우트 및 API +""" +from flask import Blueprint, render_template, request, jsonify, send_file +from flask_login import login_required +from pathlib import Path +import yaml +import json +import logging + +script_manager_bp = Blueprint("script_manager", __name__) + +# 프로파일 디렉토리 +PROFILES_DIR = Path(__file__).parent.parent.parent / "data" / "scripts" / "profiles" +UNIFIED_DIR = Path(__file__).parent.parent.parent / "data" / "scripts" / "unified" + + +@script_manager_bp.route("/script_manager") +@login_required +def index(): + """스크립트 관리 메인 페이지""" + return render_template("script_manager.html") + + +@script_manager_bp.route("/api/profiles", methods=["GET"]) +@login_required +def get_profiles(): + """모든 프로파일 목록 (카드 뷰용)""" + profiles = [] + + for yaml_file in PROFILES_DIR.glob("*.yaml"): + try: + with open(yaml_file, 'r', encoding='utf-8') as f: + data = yaml.safe_load(f) + category = yaml_file.stem.replace('_profiles', '') # mac, guid, server_info + + for name, config in data.get('profiles', {}).items(): + profiles.append({ + "name": name, + "description": config.get("description", ""), + "category": category, + "items": _count_items(config, category), + "is_default": name == "default" + }) + except Exception as e: + logging.error(f"프로파일 로드 오류 ({yaml_file}): {e}") + + return jsonify(profiles) + + +@script_manager_bp.route("/api/profiles/", methods=["GET"]) +@login_required +def get_profiles_by_category(category): + """특정 카테고리의 프로파일 목록""" + profiles = [] + # 파일명 매핑 (server_info -> server_info_profiles.yaml) + # category가 mac, guid, server_info 등으로 넘어옴 + + yaml_file = PROFILES_DIR / f"{category}_profiles.yaml" + + if not yaml_file.exists(): + return jsonify({"error": f"프로파일 파일이 없습니다: {category}"}), 404 + + try: + with open(yaml_file, 'r', encoding='utf-8') as f: + data = yaml.safe_load(f) + + for name, config in data.get('profiles', {}).items(): + profiles.append({ + "name": name, + "description": config.get("description", ""), + "category": category, + "items": _count_items(config, category), + "is_default": name == "default" + }) + except Exception as e: + logging.error(f"프로파일 로드 오류 ({yaml_file}): {e}") + return jsonify({"error": str(e)}), 500 + + return jsonify(profiles) + + +@script_manager_bp.route("/api/profiles//", methods=["GET"]) +@login_required +def get_profile(category, name): + """특정 프로파일 상세 정보 (편집용)""" + profile_file = PROFILES_DIR / f"{category}_profiles.yaml" + + if not profile_file.exists(): + return jsonify({"error": "프로파일 파일 없음"}), 404 + + try: + with open(profile_file, 'r', encoding='utf-8') as f: + profiles = yaml.safe_load(f)['profiles'] + + profile = profiles.get(name) + if not profile: + return jsonify({"error": "프로파일 없음"}), 404 + + # UI 친화적 형식으로 변환 + return jsonify({ + "name": name, + "description": profile.get("description", ""), + "category": category, + "config": profile + }) + except Exception as e: + logging.error(f"프로파일 로드 오류: {e}") + return jsonify({"error": str(e)}), 500 + + +@script_manager_bp.route("/api/profiles//", methods=["PUT"]) +@login_required +def update_profile(category, name): + """프로파일 업데이트""" + profile_file = PROFILES_DIR / f"{category}_profiles.yaml" + + if not profile_file.exists(): + return jsonify({"error": "프로파일 파일 없음"}), 404 + + try: + data = request.json + + # 기존 프로파일 로드 + with open(profile_file, 'r', encoding='utf-8') as f: + profiles_data = yaml.safe_load(f) + + # 업데이트 + profiles_data['profiles'][name] = data.get('config', {}) + + # 저장 + with open(profile_file, 'w', encoding='utf-8') as f: + yaml.dump(profiles_data, f, allow_unicode=True, default_flow_style=False) + + return jsonify({"success": True, "message": "프로파일이 저장되었습니다."}) + except Exception as e: + logging.error(f"프로파일 저장 오류: {e}") + return jsonify({"error": str(e)}), 500 + + +@script_manager_bp.route("/api/profiles/", methods=["POST"]) +@login_required +def create_profile(category): + """새 프로파일 생성""" + profile_file = PROFILES_DIR / f"{category}_profiles.yaml" + + if not profile_file.exists(): + return jsonify({"error": "프로파일 파일 없음"}), 404 + + try: + data = request.json + name = data.get('name') + + if not name: + return jsonify({"error": "프로파일 이름 필요"}), 400 + + # 기존 프로파일 로드 + with open(profile_file, 'r', encoding='utf-8') as f: + profiles_data = yaml.safe_load(f) + + # 중복 체크 + if name in profiles_data['profiles']: + return jsonify({"error": "이미 존재하는 프로파일"}), 400 + + # 새 프로파일 추가 + profiles_data['profiles'][name] = data.get('config', {}) + + # 저장 + with open(profile_file, 'w', encoding='utf-8') as f: + yaml.dump(profiles_data, f, allow_unicode=True, default_flow_style=False) + + return jsonify({"success": True, "message": "프로파일이 생성되었습니다."}) + except Exception as e: + logging.error(f"프로파일 생성 오류: {e}") + return jsonify({"error": str(e)}), 500 + + +@script_manager_bp.route("/api/profiles//", methods=["DELETE"]) +@login_required +def delete_profile(category, name): + """프로파일 삭제""" + profile_file = PROFILES_DIR / f"{category}_profiles.yaml" + + if not profile_file.exists(): + return jsonify({"error": "프로파일 파일 없음"}), 404 + + try: + # default 프로파일은 삭제 불가 + if name == "default": + return jsonify({"error": "기본 프로파일은 삭제할 수 없습니다."}), 400 + + # 기존 프로파일 로드 + with open(profile_file, 'r', encoding='utf-8') as f: + profiles_data = yaml.safe_load(f) + + # 삭제 + if name in profiles_data['profiles']: + del profiles_data['profiles'][name] + else: + return jsonify({"error": "프로파일 없음"}), 404 + + # 저장 + with open(profile_file, 'w', encoding='utf-8') as f: + yaml.dump(profiles_data, f, allow_unicode=True, default_flow_style=False) + + return jsonify({"success": True, "message": "프로파일이 삭제되었습니다."}) + except Exception as e: + logging.error(f"프로파일 삭제 오류: {e}") + return jsonify({"error": str(e)}), 500 + + +@script_manager_bp.route("/api/profiles///export", methods=["GET"]) +@login_required +def export_profile(category, name): + """프로파일 YAML 파일 다운로드""" + profile_file = PROFILES_DIR / f"{category}_profiles.yaml" + + if not profile_file.exists(): + return jsonify({"error": "프로파일 파일 없음"}), 404 + + try: + with open(profile_file, 'r', encoding='utf-8') as f: + profiles = yaml.safe_load(f) + + # 단일 프로파일만 추출 + single_profile = { + "profiles": { + name: profiles['profiles'][name] + } + } + + # 임시 파일 생성 + temp_dir = Path(__file__).parent.parent.parent / "data" / "temp_zips" + temp_dir.mkdir(parents=True, exist_ok=True) + export_file = temp_dir / f"{name}_profile.yaml" + + with open(export_file, 'w', encoding='utf-8') as f: + yaml.dump(single_profile, f, allow_unicode=True) + + return send_file(export_file, as_attachment=True, download_name=f"{name}_profile.yaml") + except Exception as e: + logging.error(f"프로파일 내보내기 오류: {e}") + return jsonify({"error": str(e)}), 500 + + + return send_file(export_file, as_attachment=True, download_name=f"{name}_profile.yaml") + except Exception as e: + logging.error(f"프로파일 내보내기 오류: {e}") + return jsonify({"error": str(e)}), 500 + + +@script_manager_bp.route("/api/test_racadm", methods=["POST"]) +@login_required +def test_racadm(): + """Racadm 명령어 테스트""" + try: + import subprocess + + data = request.json + ip = data.get("ip") + user = data.get("user", "root") + password = data.get("password") + command = data.get("command") + + if not all([ip, user, password, command]): + return jsonify({"success": False, "error": "필수 입력값 누락"}), 400 + + # 명령어 구성 (racadm -r -u -p ) + # 보안을 위해 shell=False로 리스트 형태로 전달 + full_cmd = ["racadm", "-r", ip, "-u", user, "-p", password] + command.split() + + logging.info(f"[Test] Executing racadm on {ip}: {command}") + + # 타임아웃 30초 + result = subprocess.run( + full_cmd, + capture_output=True, + text=True, + timeout=30, + check=False + ) + + return jsonify({ + "success": True, + "return_code": result.returncode, + "output": result.stdout + (result.stderr if result.stderr else "") + }) + + except subprocess.TimeoutExpired: + return jsonify({ + "success": False, + "error": "명령어 실행 시간 초과 (30초)" + }) + except Exception as e: + logging.error(f"[Test] Racadm execution error: {e}") + return jsonify({"success": False, "error": str(e)}) + + + return jsonify({"success": False, "error": str(e)}) + + +def _count_items(profile: dict, category: str) -> int: + """프로파일에서 수집할 항목 개수 계산""" + count = 0 + + if category == "mac": + count += len(profile.get("nic_patterns", [])) + if profile.get("infiniband_slots"): + count += len(profile["infiniband_slots"]) + if profile.get("include_idrac_mac"): + count += 1 + elif category == "guid": + count += len(profile.get("slot_priority", [])) + elif category == "gpu": + # GUID slot priority + GPU settings + count += len(profile.get("slot_priority", [])) + if profile.get("gpu_settings"): + count += 1 + elif category == "server_info": + count += len(profile.get("firmware", [])) + count += len(profile.get("bios_settings", [])) + count += len(profile.get("idrac_settings", [])) + count += len(profile.get("raid_settings", [])) + count += len(profile.get("custom_items", [])) + + return count + + +def register_script_manager(app): + """블루프린트 등록""" + app.register_blueprint(script_manager_bp) diff --git a/backend/routes/server_config_routes.py b/backend/routes/server_config_routes.py new file mode 100644 index 0000000..81ec709 --- /dev/null +++ b/backend/routes/server_config_routes.py @@ -0,0 +1,185 @@ +from flask import Blueprint, render_template, request, jsonify +from backend.models.user import db +from backend.models.idrac_server import IdracServer +from backend.models.server_config import ServerConfigSnapshot +from backend.services.idrac_redfish_client import DellRedfishClient +import concurrent.futures +import json +import hashlib +from datetime import datetime + +server_config_bp = Blueprint('server_config', __name__, url_prefix='/server-config') + +@server_config_bp.route('/') +def index(): + """서버 설정 분석 및 비교 페이지""" + return render_template('server_config.html') + +def calculate_checksum(data): + """JSON 데이터의 SHA256 체크섬 계산""" + json_str = json.dumps(data, sort_keys=True) + return hashlib.sha256(json_str.encode('utf-8')).hexdigest() + +@server_config_bp.route('/api/sync', methods=['POST']) +def sync_configs(): + """ + 선택한 서버들의 설정을 iDRAC에서 가져와 DB에 저장 (동기화) + """ + try: + data = request.json + server_ids = data.get('server_ids', []) + categories = data.get('categories', ['bios', 'idrac', 'system']) + + if not server_ids: + return jsonify({'success': False, 'message': '서버를 선택해주세요.'}) + + results = {'success': [], 'failed': []} + + def process_server(server_id): + server = IdracServer.query.get(server_id) + if not server: + return {'id': server_id, 'status': 'failed', 'message': 'Server not found'} + + client = DellRedfishClient(server.ip_address, server.username, server.password) + if not client.check_connection(): + return {'id': server.id, 'name': server.name, 'status': 'failed', 'message': 'Connection failed'} + + sync_results = [] + + # System Info + if 'system' in categories: + sys_data = client.get_system_info_detailed() + if sys_data: + save_snapshot(server.id, 'system', sys_data) + sync_results.append('system') + + # BIOS Attributes + if 'bios' in categories: + bios_data = client.get_bios_attributes_all() + if bios_data: + save_snapshot(server.id, 'bios', bios_data) + sync_results.append('bios') + + # iDRAC Attributes + if 'idrac' in categories: + idrac_data = client.get_idrac_attributes_all() + if idrac_data: + save_snapshot(server.id, 'idrac', idrac_data) + sync_results.append('idrac') + + return {'id': server.id, 'name': server.name, 'status': 'success', 'synced': sync_results} + + def save_snapshot(server_id, config_type, data): + # 기존 스냅샷 확인 + snapshot = ServerConfigSnapshot.query.filter_by( + server_id=server_id, + config_type=config_type + ).first() + + new_hash = calculate_checksum(data) + + if snapshot: + # 변경사항이 있는 경우에만 업데이트 + if snapshot.hash_value != new_hash: + snapshot.data = data + snapshot.hash_value = new_hash + snapshot.updated_at = datetime.utcnow() # 명시적 업데이트 시간 갱신 + else: + snapshot = ServerConfigSnapshot( + server_id=server_id, + config_type=config_type, + data=data, + hash_value=new_hash + ) + db.session.add(snapshot) + + # 트랜잭션은 개별 commit 혹은 묶어서 commit. + # 여기서는 스레드 안전성을 위해 함수 내에서는 session 조작만 하고 + # 실제 commit은 메인 스레드나 별도 처리 필요하지만, Flask-SQLAlchemy는 scoped_session이므로 + # 각 요청(스레드)마다 세션이 다를 수 있음. + # 하지만 ThreadPoolExecutor 사용 시 app context 문제가 발생할 수 있음. + # safe way: return data -> main thread saves. OR push app context. + + # NOTE: For simplicity in this refactor with ThreadPoolExecutor, + # we will handle DB operations inside the thread but need app context. + # See below for implementation adjustment. + return True + + # DB 저장을 위해 app context 필요 + from flask import current_app + app = current_app._get_current_object() + + def process_with_context(server_id): + with app.app_context(): + try: + res = process_server(server_id) + db.session.commit() # Commit per server + return res + except Exception as e: + db.session.rollback() + return {'id': server_id, 'status': 'failed', 'message': str(e)} + + with concurrent.futures.ThreadPoolExecutor(max_workers=10) as executor: + future_to_id = {executor.submit(process_with_context, sid): sid for sid in server_ids} + + for future in concurrent.futures.as_completed(future_to_id): + try: + res = future.result() + if res['status'] == 'success': + results['success'].append(res) + else: + results['failed'].append(res) + except Exception as e: + results['failed'].append({'error': str(e)}) + + return jsonify({ + 'success': True, + 'results': results + }) + + except Exception as e: + return jsonify({'success': False, 'message': f"Sync Error: {str(e)}"}) + +@server_config_bp.route('/api/fetch', methods=['POST']) +def fetch_configs(): + """ + DB에 저장된 서버 설정 스냅샷 조회 + """ + try: + data = request.json + server_ids = data.get('server_ids', []) + categories = data.get('categories', ['bios', 'idrac', 'system']) + + if not server_ids: + return jsonify({'success': False, 'message': '서버를 선택해주세요.'}) + + results = {} + + for server_id in server_ids: + server = IdracServer.query.get(server_id) + if not server: + continue + + server_data = {'id': server.id, 'name': server.name, 'ip': server.ip_address} + + for cat in categories: + snapshot = ServerConfigSnapshot.query.filter_by( + server_id=server_id, + config_type=cat + ).first() + + if snapshot: + server_data[cat] = snapshot.data + server_data[f'{cat}_updated'] = snapshot.updated_at.isoformat() + else: + server_data[cat] = None + + results[server_id] = server_data + + return jsonify({ + 'success': True, + 'results': results + }) + + except Exception as e: + return jsonify({'success': False, 'message': f"Fetch Error: {str(e)}"}) diff --git a/backend/routes/utilities.py b/backend/routes/utilities.py index 8b9a0cc..d2cc91e 100644 --- a/backend/routes/utilities.py +++ b/backend/routes/utilities.py @@ -333,7 +333,7 @@ def update_server_list(): try: path.write_text(content, encoding="utf-8") result = subprocess.run( - [sys.executable, str(Path(Config.SERVER_LIST_FOLDER) / "excel.py")], + [sys.executable, str(Path(Config.SERVER_LIST_FOLDER) / "unified_excel_generator.py"), "--mode", "mac"], capture_output=True, text=True, check=True, @@ -373,7 +373,7 @@ def update_guid_list(): logging.info(f"GUID 슬롯 우선순위: {slot_priority}") result = subprocess.run( - [sys.executable, str(Path(Config.SERVER_LIST_FOLDER) / "GUIDtxtT0Execl.py")], + [sys.executable, str(Path(Config.SERVER_LIST_FOLDER) / "unified_excel_generator.py"), "--mode", "guid"], capture_output=True, text=True, check=True, @@ -417,8 +417,8 @@ def update_gpu_list(): # 2) 엑셀 생성 실행 (GPU 프리셋) cmd = [ sys.executable, - str(script_path), - "--preset", "gpu", + str(Path(Config.SERVER_LIST_FOLDER) / "unified_excel_generator.py"), + "--mode", "gpu", "--list-file", str(list_path), ] result = subprocess.run( @@ -522,4 +522,78 @@ def scan_network(): except Exception as e: logging.error(f"Scan network fatal error: {e}") - return jsonify({"success": False, "error": f"서버 내부 오류: {str(e)}"}), 500 \ No newline at end of file + return jsonify({"success": False, "error": f"서버 내부 오류: {str(e)}"}), 500 + + +@utils_bp.route("/api/system/control", methods=["POST"]) +@login_required +def system_control(): + """ + 시스템 제어 명령 실행 (Power ON/OFF, Log Clear 등) + """ + data = request.get_json(silent=True) or {} + action = data.get("action") + ips = data.get("ips", []) + + if not action or not ips: + return jsonify({"success": False, "error": "Action 또는 IP 목록이 없습니다."}), 400 + + # 통합 스크립트 사용 + script_name = "unified/system_control.py" + script_path = Path(Config.SCRIPT_FOLDER) / script_name + + if not script_path.exists(): + return jsonify({"success": False, "error": f"스크립트 파일을 찾을 수 없습니다: {script_name}"}), 500 + + # 임시 IP 파일 생성 + import tempfile + try: + # data/temp/uploads 폴더 사용 + temp_dir = Path(Config.UPLOAD_FOLDER) + temp_dir.mkdir(parents=True, exist_ok=True) + + with tempfile.NamedTemporaryFile(mode='w+', delete=False, dir=temp_dir, suffix=".txt", encoding='utf-8') as tf: + tf.write("\n".join(ips)) + temp_ip_file = tf.name + + # 스크립트 실행: python unified/system_control.py + cmd = [sys.executable, str(script_path), action, temp_ip_file] + + logging.info(f"[SystemControl] Executing {action} with {len(ips)} IPs (Unified Script)...") + + # 타임아웃 넉넉하게 (작업에 따라 다름) + timeout = 600 if action in ["tsr_collect", "tsr_save"] else 300 + + result = subprocess.run( + cmd, + capture_output=True, + text=True, + check=False, # 에러 발생해도 결과 받음 + timeout=timeout + ) + + # 임시 파일 삭제 + try: + os.remove(temp_ip_file) + except OSError: + pass + + if result.returncode == 0: + logging.info(f"[SystemControl] Success: {result.stdout}") + return jsonify({ + "success": True, + "message": f"작업({action})이 성공적으로 완료되었습니다.", + "details": result.stdout + }) + else: + logging.error(f"[SystemControl] Failed: {result.stderr}") + return jsonify({ + "success": False, + "error": f"스크립트 실행 중 오류가 발생했습니다.\n{result.stderr}" + }), 500 + + except subprocess.TimeoutExpired: + return jsonify({"success": False, "error": "스크립트 실행 시간이 초과되었습니다."}), 504 + except Exception as e: + logging.error(f"[SystemControl] Exception: {e}") + return jsonify({"success": False, "error": str(e)}), 500 \ No newline at end of file diff --git a/backend/routes/version_compare_api.py b/backend/routes/version_compare_api.py deleted file mode 100644 index 9b273c9..0000000 --- a/backend/routes/version_compare_api.py +++ /dev/null @@ -1,399 +0,0 @@ -""" -펌웨어 버전 비교 API 코드 -idrac_routes.py 파일의 register_idrac_routes 함수 위에 추가하세요 -""" - -# ======================================== -# 펌웨어 버전 관리 API -# ======================================== - -@idrac_bp.route('/api/firmware-versions', methods=['GET']) -def get_firmware_versions(): - """등록된 최신 펌웨어 버전 목록""" - try: - server_model = request.args.get('model') # 서버 모델 필터 - - query = FirmwareVersion.query.filter_by(is_active=True) - - if server_model: - # 특정 모델 또는 범용 - query = query.filter( - (FirmwareVersion.server_model == server_model) | - (FirmwareVersion.server_model == None) - ) - - versions = query.order_by(FirmwareVersion.component_name).all() - - return jsonify({ - 'success': True, - 'versions': [v.to_dict() for v in versions] - }) - - except Exception as e: - return jsonify({ - 'success': False, - 'message': f'오류: {str(e)}' - }) - -@idrac_bp.route('/api/firmware-versions', methods=['POST']) -def add_firmware_version(): - """최신 펌웨어 버전 등록""" - try: - data = request.json - - # 필수 필드 확인 - if not all([data.get('component_name'), data.get('latest_version')]): - return jsonify({ - 'success': False, - 'message': '컴포넌트명과 버전을 입력하세요' - }) - - # 중복 확인 (같은 컴포넌트, 같은 모델) - existing = FirmwareVersion.query.filter_by( - component_name=data['component_name'], - server_model=data.get('server_model') - ).first() - - if existing: - return jsonify({ - 'success': False, - 'message': f'이미 등록된 컴포넌트입니다' - }) - - # 버전 생성 - version = FirmwareVersion( - component_name=data['component_name'], - component_type=data.get('component_type'), - vendor=data.get('vendor'), - server_model=data.get('server_model'), - latest_version=data['latest_version'], - release_date=data.get('release_date'), - download_url=data.get('download_url'), - file_name=data.get('file_name'), - file_size_mb=data.get('file_size_mb'), - notes=data.get('notes'), - is_critical=data.get('is_critical', False) - ) - - db.session.add(version) - db.session.commit() - - return jsonify({ - 'success': True, - 'message': f'{version.component_name} 버전 정보 등록 완료', - 'version': version.to_dict() - }) - - except Exception as e: - db.session.rollback() - return jsonify({ - 'success': False, - 'message': f'오류: {str(e)}' - }) - -@idrac_bp.route('/api/firmware-versions/', methods=['PUT']) -def update_firmware_version(version_id): - """펌웨어 버전 정보 수정""" - try: - version = FirmwareVersion.query.get(version_id) - if not version: - return jsonify({ - 'success': False, - 'message': '버전 정보를 찾을 수 없습니다' - }) - - data = request.json - - # 업데이트 - if 'component_name' in data: - version.component_name = data['component_name'] - if 'latest_version' in data: - version.latest_version = data['latest_version'] - if 'release_date' in data: - version.release_date = data['release_date'] - if 'download_url' in data: - version.download_url = data['download_url'] - if 'file_name' in data: - version.file_name = data['file_name'] - if 'notes' in data: - version.notes = data['notes'] - if 'is_critical' in data: - version.is_critical = data['is_critical'] - - db.session.commit() - - return jsonify({ - 'success': True, - 'message': '버전 정보 수정 완료', - 'version': version.to_dict() - }) - - except Exception as e: - db.session.rollback() - return jsonify({ - 'success': False, - 'message': f'오류: {str(e)}' - }) - -@idrac_bp.route('/api/firmware-versions/', methods=['DELETE']) -def delete_firmware_version(version_id): - """펌웨어 버전 정보 삭제""" - try: - version = FirmwareVersion.query.get(version_id) - if not version: - return jsonify({ - 'success': False, - 'message': '버전 정보를 찾을 수 없습니다' - }) - - version.is_active = False - db.session.commit() - - return jsonify({ - 'success': True, - 'message': f'{version.component_name} 버전 정보 삭제 완료' - }) - - except Exception as e: - db.session.rollback() - return jsonify({ - 'success': False, - 'message': f'오류: {str(e)}' - }) - -@idrac_bp.route('/api/servers//firmware/compare', methods=['GET']) -def compare_server_firmware(server_id): - """ - 서버 펌웨어 버전 비교 - 현재 버전과 최신 버전을 비교하여 업데이트 필요 여부 확인 - """ - try: - server = IdracServer.query.get(server_id) - if not server: - return jsonify({ - 'success': False, - 'message': '서버를 찾을 수 없습니다' - }) - - # 현재 펌웨어 조회 - client = DellRedfishClient(server.ip_address, server.username, server.password) - current_inventory = client.get_firmware_inventory() - - # 최신 버전 정보 조회 - latest_versions = FirmwareVersion.query.filter_by(is_active=True).all() - - # 비교 결과 - comparisons = [] - - for current_fw in current_inventory: - component_name = current_fw['Name'] - current_version = current_fw['Version'] - - # 최신 버전 찾기 (컴포넌트명 매칭) - latest = None - for lv in latest_versions: - if lv.component_name.lower() in component_name.lower(): - # 서버 모델 확인 - if not lv.server_model or lv.server_model == server.model: - latest = lv - break - - # 비교 - comparison = FirmwareComparisonResult( - component_name=component_name, - current_version=current_version, - latest_version=latest.latest_version if latest else None - ) - - result = comparison.to_dict() - - # 추가 정보 - if latest: - result['latest_info'] = { - 'release_date': latest.release_date, - 'download_url': latest.download_url, - 'file_name': latest.file_name, - 'is_critical': latest.is_critical, - 'notes': latest.notes - } - - comparisons.append(result) - - # 통계 - total = len(comparisons) - outdated = len([c for c in comparisons if c['status'] == 'outdated']) - latest_count = len([c for c in comparisons if c['status'] == 'latest']) - unknown = len([c for c in comparisons if c['status'] == 'unknown']) - - return jsonify({ - 'success': True, - 'server': { - 'id': server.id, - 'name': server.name, - 'model': server.model - }, - 'comparisons': comparisons, - 'summary': { - 'total': total, - 'outdated': outdated, - 'latest': latest_count, - 'unknown': unknown - } - }) - - except Exception as e: - return jsonify({ - 'success': False, - 'message': f'오류: {str(e)}' - }) - -@idrac_bp.route('/api/servers/firmware/compare-multi', methods=['POST']) -def compare_multi_servers_firmware(): - """ - 여러 서버의 펌웨어 버전 비교 - """ - try: - data = request.json - server_ids = data.get('server_ids', []) - - if not server_ids: - return jsonify({ - 'success': False, - 'message': '서버를 선택하세요' - }) - - results = [] - - for server_id in server_ids: - server = IdracServer.query.get(server_id) - if not server: - continue - - try: - # 각 서버 비교 - client = DellRedfishClient(server.ip_address, server.username, server.password) - current_inventory = client.get_firmware_inventory() - - latest_versions = FirmwareVersion.query.filter_by(is_active=True).all() - - outdated_count = 0 - outdated_items = [] - - for current_fw in current_inventory: - component_name = current_fw['Name'] - current_version = current_fw['Version'] - - # 최신 버전 찾기 - for lv in latest_versions: - if lv.component_name.lower() in component_name.lower(): - comparison = FirmwareComparisonResult( - component_name=component_name, - current_version=current_version, - latest_version=lv.latest_version - ) - - if comparison.status == 'outdated': - outdated_count += 1 - outdated_items.append({ - 'component': component_name, - 'current': current_version, - 'latest': lv.latest_version - }) - break - - results.append({ - 'server_id': server.id, - 'server_name': server.name, - 'outdated_count': outdated_count, - 'outdated_items': outdated_items, - 'status': 'needs_update' if outdated_count > 0 else 'up_to_date' - }) - - except Exception as e: - results.append({ - 'server_id': server.id, - 'server_name': server.name, - 'error': str(e) - }) - - return jsonify({ - 'success': True, - 'results': results - }) - - except Exception as e: - return jsonify({ - 'success': False, - 'message': f'오류: {str(e)}' - }) - - -# ======================================== -# 초기 데이터 생성 함수 -# ======================================== - -def init_firmware_versions(): - """초기 펌웨어 버전 데이터 생성""" - initial_versions = [ - { - 'component_name': 'BIOS', - 'component_type': 'Firmware', - 'vendor': 'Dell', - 'server_model': 'PowerEdge R750', - 'latest_version': '2.15.0', - 'release_date': '2024-01-15', - 'notes': 'PowerEdge R750 최신 BIOS' - }, - { - 'component_name': 'iDRAC', - 'component_type': 'Firmware', - 'vendor': 'Dell', - 'latest_version': '6.10.30.00', - 'release_date': '2024-02-20', - 'notes': 'iDRAC9 최신 펌웨어 (모든 모델 공용)' - }, - { - 'component_name': 'PERC H755', - 'component_type': 'Firmware', - 'vendor': 'Dell', - 'server_model': 'PowerEdge R750', - 'latest_version': '25.5.9.0001', - 'release_date': '2024-01-10', - 'notes': 'PERC H755 RAID 컨트롤러' - }, - { - 'component_name': 'BIOS', - 'component_type': 'Firmware', - 'vendor': 'Dell', - 'server_model': 'PowerEdge R640', - 'latest_version': '2.19.2', - 'release_date': '2024-02-01', - 'notes': 'PowerEdge R640 최신 BIOS' - }, - { - 'component_name': 'CPLD', - 'component_type': 'Firmware', - 'vendor': 'Dell', - 'latest_version': '1.0.6', - 'release_date': '2023-12-15', - 'notes': '시스템 보드 CPLD (14G/15G 공용)' - }, - ] - - for data in initial_versions: - # 중복 체크 - existing = FirmwareVersion.query.filter_by( - component_name=data['component_name'], - server_model=data.get('server_model') - ).first() - - if not existing: - version = FirmwareVersion(**data) - db.session.add(version) - - try: - db.session.commit() - print("✓ 초기 펌웨어 버전 데이터 생성 완료") - except: - db.session.rollback() - print("⚠ 초기 데이터 생성 중 오류 (이미 있을 수 있음)") diff --git a/backend/services/__pycache__/dell_catalog_sync.cpython-311.pyc b/backend/services/__pycache__/dell_catalog_sync.cpython-311.pyc deleted file mode 100644 index 2013715f223eaf176a881ec67d13cb3fba5252af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2852 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 diff --git a/backend/services/__pycache__/idrac_jobs.cpython-311.pyc b/backend/services/__pycache__/idrac_jobs.cpython-311.pyc deleted file mode 100644 index 68675c21980cd06a7ae15fea9caae0027e7b0d79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16500 zcmb_@Yj6`+mT|_#W;_Nz;%&vDfRXa>(Yp1@dt&%8Jq3ZppqUx(u&BUV0`I1yo z{QAzhtyjw?ADNwY`}FO5&pmw~=bn4+IY;l?Y-S2B|9{S%`Cl6->i^(N;j-ovUms^E z>KY|bJ(NHTx&Yln>nM?aUROYbG+?OL6!RWUQ6Iv;deLefwudEk^*#Cm4e~Vf7~shU zjQz$QV?Wo!5qy2X)Nk%F_gi`_{nj39zpcmCZ||{_GDE=8@9c4sv@x)#-__&luj;8H z?_8j|zow@K(k8(isO?|ev$(&mr>=iV&k~v3cQ^t9qIQzNcB(EUXr7!#eT;S>y?+247ry@Nj-Jk3899Po#Nl7FC&?-r$VexJxU z9utLLzkG(D{q?0>@{-&9<;-;Molp4#0k3?P&%N<+ZX&^-_WI6>1HvX*tt4;aXUE27 zlds)*x&E(!3YblWN3zFC8c|LerZW+8d`^(Sx+{CB+ z-O(7kEdr}PVkc2m|_J$$t8z#KmTPJ-ZT-^a@W0gMs}QL|+)jO0jxnk1yB{_#sh%D(utV(3wA@0CF>mEkAl4 z0lzp9QmWd+p)-*1`@Hz2{gMO(7Ig(f-QmH(pacZeEb}3p63;W;`;RHC6by!xe9qJD z-Q9}8=M9|m4=9$W+Mn~BIC|{K{l~f$UE3DLacqC*fkWK~J;x6{wg2cd#}!@cHpTqx z{$qy@ob+^eA5ruNya8EM*pL(!6`T5zLr;5-9O^zESp$RQB{L{Wo&XHZCUtK7gXFCx zbRneZ{DX=?5<_8Wz*iKp&{G!vQ3QW|4!||aM1{&qpD(7PRI(_}0I_&!1%p;VpZy>Sh)%7gB$lR5Qpm*TsSC_W>OAdc!YEu1Jr=`EtVs>R09+%)ih( z7?@n~LP#?^IC5lmPQ&P5qoS0o>!Z5inS_G*7jBGNp_H7D1UUjzi8n;|QA4^=aWkeU z?aU4_QTkyxpp!cF-$QJaO_otAHKBqg;7K)ri##~*5?C!aN%Uw7;OgfgLWY(uv>`F1 zkLn+)4S)x2&_8?|Lbg&1qWX$9Zi?!o%sEdVTbNM{!#*gn7Wc`_sS6jl6qzWCp~4?$S69 zD|7Z&AI!cpLB#v(AK#~&7215C-gTd@k5nHTAS(s2@{4jO@3tsLNgND#eWJq1A_zfw zFyIdb`~#vat%XlOM#w9L%Az=+ut->82azH!8J=8H1LE2sSH?w5WTCVh@><|u-VO3$n7U(e z;3{=x9gAY7J7)Xk=8@*OoajuOS7*$tZ<*aU&F;zi$xzz7HDlg7+>td~hdXXt?5}Mb z-8S5L$60mFe$}3K@);*TN7?mz35c;E0xm~JBCkb9qvQp?VXBFTuDx{irKFr*+>}|| zM6$Bh>O0kS*A8DjeC5d4kvYm_0tx_Po!P3z*LGgrd1d$5Zt?=?wk3(JZ|{3^-(*{Q z*{000O(ZMptoy>TG_f`9;4=9s z$fUt3ClB}S8a`Q_u4%~BG$6sfx1F`vr_`$5(*gjv)6P8^=bn^v&%L=SY+x;AbqpW= z8U~TVF%O;5h%97#BC`H33~=R!5~Z}PH$;P2DQ+@Iv2baZw7e=*CL|VK*a97;7GiD` zm?2YvE=5H_ND9mp`yRCN!=jkl2I3Ev;zNj+Ax6;SpH|S))PSX)YNcfMyiVQLaGRsy zPqSz%&NxG?re6z+48aguRMz?mvG^7x7)ie?@a;0`(NW*B=o1fgmJ; z;Q?VMuh3FN9}e|y+yUwsCl2_60xbKki1A3!D~JLgF@uvGpfS85rq#AUnTPFwe6tb0<{ zJ=v<7*r6|Mi{kD?_v9lfTU*-Jma(;=Oj$MkLbi7Cwce|}SI&%`i9G@8hG`WkAmA%R z`36BLZ=n<@C<|qOYoHv<6Hlb=Ycuw>G3GXBzib(?q^fsJ_>%S4&y1geB;3<$)n}S} zG{Zfb;vUU9Tro4~MAgtUy{iO}fOW*0s@XT)2>|YycJ-O&9?Ni#rMSn4XpWf*f6%ad zb9x|xD%2qu(U;rl4vM6`Min7bgLeqn}ba&Jb)XGVv>DlL?I09rEr5%u#f1S9NDw5*ziJF3`3a_w<&@@ z2-}?(k6#K0n^)i>q=25Oc)U=Ia@glX?bSpQBCxY!=p`I19Yhu~dQX#cgu?l}13nQy zZBkR1G{Cn*VOcTu0}XGV=qp#pQ8qI0|8)Z}*Q>f$8B`SqX@O2c=KM=5TOUULj)402 zSEZ*5l}Xwd1LuC-C9eFS&{?6>Y4?r6Rhs%bsLy<#`k?Bt;ngrQaC9ce*6ZVV+{pdp z$9I1+o|~A-y+6#~z5WKI6iTzZ;V8Gk|JOW#H|QrpzT;S*;&3N>O?QrZmbylRLS+(Q z*ZF|%`hfa?QFJYv75c0~%Q9By`C+1&+&As+69>c#gVNqey_Dtd6}9Z;zc*-^!u12XO!L#!IK6y5s}kW+V~Q zy#N%tU(*Tc3}pUg&EI|^wf)5JR!_e$(>{F;k`*^;zMECGMSUQ69`r!Q3uk>td&luZ z&+hj;x&I`bpgX$(=M*;YhX|fW&<8-qHNo?bJ*H}b&dLFn2B18Eh_3^>K3=|Cburl ztzySxfZyU5l`mnDVuhyMAf*7jTH5zm}xGg%12RI8qXT&;oq88fIAl z6VZbg5n4I4i)drYzOl53@U8qV=R)Z$RF;ru6kF%ft}+hPsT@f74&^eR=Q_K#J(7f9 z$Nwh)JPgYbjw&^1VhGxnwr|V;v~0{+Hm2B(q=kw>2tlVM&EOj0BVLKm zqc5ho6$MR7GFgL~!&>NCx?XSnth*G|3_3#oqvJ**n_u*J}(S9Z1Q zs2e&nDqvQ=eG7AAiyqRrgA^}h6T*_XxmF`GQ(A~tP z+|Q@@-0S0CPG7=FFLK1)%Tu%O|4VM1SgdEK6EOR3y*i=HK=8bTN{YgSLq0G+7Uvdw zL{^93rp4L?g?((nzpRVSk~RLY`STIji5DSX-%=Ms+b4F z;#F80U#|ou?iwXhJv2DZfU$cRp;}->7F-7`H~`@2DH;TWXcP@1SMFvIjG_th4CQ&? z1mVE-U=~dC%K+appGuj-ffdY9*ScWc1!{sD#|rp1plhH1wKBRo!3KB^p=Ke<&`SsO z(kVDa8>ANjCOEZ37o@8oT_xCI!>Ls)M~*!M%3FsQ^z<;YA38yDzm3Br^Nmo(&rW}k zdws(FXXkpDLayI?!6W-4TD2KPHQ`3o8noP~<)kR(fjLpHD3}>MSd&~K6telNj8`G2 z1$2wto)_)|F< zE#?XX&K!w{ln+OxaABH^((fPv+lVd+&-s@?YgZ^77j((usFmYu#}+KhjKspIGQD7d zd?57-!^uNa2gaQ?|4|Nj#L}9zU;Ak>-9fh2o zJ7E@>J~2epP?)nAR3`2PX#`R*Vtzqk2cUwCqJqaul?o>F;{H>B;&8GCb#$y)4q7GIIAu1zrUM^o12Xvs5P zH6{#K9Al1@b6s-FEl2ZBM|0ZIl5wFtHK z!1Mxp<8n~1bCk5c{C(jGjaE!O*q+L0MCsDf$2}S*K^Lw9`syU)ZA7_urtiKv+U3?s zKZPR2(jSDgP$=ku^EKp=VZRCmK(*FBMl(7XsiUL^lXh5Kco}4X_5$Oyw7ky` zJx;pvT2UIU)8*QDd8u}JK}m6uo+aW%T2YRjBzZtia|!g+JmbH>z^uSOoQR!(T%47> zd-ec2Mo}bn0sG_JNGM;V0|2bHEcP0|}sqS0xjO^~CVEbt3VA{uJc z4>ehLmaalc7H@ma@rA`63ynrz+c&x|aeVyLO$*HOhWr$-ylGvT+@G?pOj|c(tQ%5= zdyb*3O@O9uz2%|_$BKx!E=XuM0vOXG=EFF^w6g@GN)v%I`>V;>pCx$|IC(V#+;;#{FIRH>H998kovBTGnUOk$wUYDs}mv%H{ z91SV1f%LLV!@|XGqRA2u1f_-kAcl=r_!CKo<}cplIC%LBYnK6rC}#%6D2Tn@a3G{* zhzabQX7xh7f5xuWk*?iwRE0U5@``WKe@DVOuDvolGREJ1<0J6t z!5YVzlTf>m8~`F*M?myK*aRP0$rIItM;o_a1fzRUf*=l*%V=tsyTB~|CRQUd0U1@o z8C8w!`ymB(8DwYaZ2;&EBsC=>#E}t8Tcyp1pY#BIoX*ISa(34g{T8Yba}7ufS5?e- zyJ~TQ9XG%2c+-)tb7$(@>8cHxstt1#V_HE#tOM-M@z&9EiN8rX8sP?q*q9mJTM0Ss ztj{>>Q_lLVb8({eiZyP$cgNz2|6pWSY!_PIpB#BIRd+b~2mtj?Tc6BWpG*~QlqQQ~ zyHtL3pneHfS&uA&TR?aKPY!@2(Mp%n0<2Jqz!w#zBWBmgU3X z=NN~oDjygU2z#B3Zwj?@#v zeC}6FMD0d*vbqplV^(Xq40^%1VH7`ogh=@lScxdKolsaOWmtB?m)0{pt?5W*y>)!j-LkLu2$ecgF3XwqnJIO z{vi5YAZ_({UI=>w`4XcCOnW}aX8bTtc+Q5%f{-NPcu6?v608M5=U7Hx4-!USpR6K} zN?ZXJe=rG)+e4Ddufh> z*U25zoikN4zL~mDyE08c6!I#8ozpj!SA*Bd&~(R4)%3xs7w0H=tpwFN{rb3&*p{qH z`jU0y`!cnF0(q5y)9ITrueqFjA&(TOfHUcj(33D4_*?+iI`qqu>*gqUJP@dJfFr-K z9rFT68Lj-Rj3-nn;htuG=3K$dy->nAy1?iYVHKqJY-2@NIB^rWZhTLEq#mtj~rc*8f_3Puez@z4f#-6zWwP#B$`7m#KiKA!GOS%DCK?bi0L>O z+k@fIPCioA5gZs0!Q&Ym$WwvLnrF}*3b~+Rk`5D{Gvcbu-pT)2fcCf@BxFp&RUqM+ zL_(gHP@9pK0Z=$F2atGUX%Xh(N>Hr%Hjq$J=^ru6QEH2t`vhWRu!v$33$Y-DK{EJA zJTMs$)pE}QB2KBgTia#u*@LNZpbz#ih#dV_Bm@6)1ccWx^=%z!jd2Ojttk4CKne6;g7Fa4J}ZR^h1x}l!Qo;qPp(g|sy3@QscPKsd3Bk8k$_g4tp^m2Fp8sFPx(8Hr|FSCigLi7*txeUq;r=c% zq!A^6jtp!P>`MzasqLe-$rnD@KD9kn(+2lnKpA3yjW|FB0Irr>T-{BsF12Lav- zX>NOl+n(aK7lv@hNA;854;rQ#rmLsxr>m!$Q#Cu_{+^$o)5Ay6Lo*0Gm{{N5M*aKJ z_6Fw05-TKcG_dU(j5jtgnBGWZx`m|M7Ii+#{NCV1SZ6}Gy7uus%=)ga9BDYl+KEhtg%m^ z+J@Wp*9KTCuX1RiP~)9LkXg7Ewp0ijCw8S;0EcBbPyvK67IJVlY7a#aq=#x`{wf*P zDmHZnVx(D3D4}jjucfq&8sTCbxX=xkAc(Fqhy{Z0(CDAPDi1|)G;_lNj9pm4fP-0C z8w)flW1qFHfk2cECI}G3ze@Gvf#Hf}UwP0-L>Y24H9o|=a8aXRdJ8;B^N(xVutvdh ziJGeT;S?O;Y~epaU&-c`yEZlZ_7rTp_+yjVPp-@+r_gB&p~|`6ju8w3+NHj-Z5J#G zJ25g)4PYh+D6Cah+{v%WbLbkr5q{0$75Z}%5cvbYbs4|J-%ZSbKQQ;^2kug}66fyB zH-XQ+HJbZ3@FT<$r8dml{h`sHT!No7On>kp}L*lDpD^I?G-H1=B--wvHVf(-c zv_hyO21xS}7oT4*d}E>I_h~nrqCSJc(J0HPoZ?>i^+5n{K(L4(R?(@ILlB&lgq-xtgj`j1;KclIYBWI^_szQn zP(m;UZf|5c*%-ZnKv`&0v2-&WvgAjB+&%bl1;tc>uq=Q(P8XP3Y&DmUjvSrnntVKM z-ITFznug2*2Eip~hpvbV$B!>Y-SPebKEkwY=_N5int{S@lYv6D07Xr?RSy_X*QKgI zr0cXoUnsN7-sg4)y#1#I@7~DL1-g|l+l8INL+LOzxoC3h)Z$_FlnK*z6>`CZfI5b> zAHe|xuOLAChlIZ|khTKA-|Wa>I)$Mp!GTZ-jknUjA;8Jc2hw{~*P)6GQG&f;_@$31 zLxdqoC`K{h9h5~ux&d`$6tuVs@On(uTew0$r2m4#<=FII05~6@vXlkMf5Dnxee&fe zQ_klmI+D!wgX0Gw3HP)`eg5&B`UIF}PiEMYDfZ;;MKxnft}Gi{HhlPw-8uZkZPT(z zOUkr0ZQ7bKZN-hTd4`+QX(p7+>Ydspb9%`B3fbWs1To{cW@>RgScGev$eEQk!TA(G z>_FC9h4He9?QidSbIk& zC@@hI<4fXj+TH;DDvV8A@=j-X4g5 z4){;2k=6FR`1ItpVxo$dlx-6z;77<$IHV8o+eD`}K&Ciwu1sV92+Poiuj=k-R#X*u zYyKB*o~PT7A5@if77s_N-oG31oJ&7jVY=zO*LkyMo45S zXR2^#Da$bV%TlBc)-nx~zbv&rwa}fV+ENd9XQ}#>_RdoKQVZQ#sxGCy?@&KTJ@~$3 zS{hrNF)dB(NSoGXOlyY?b5_c}ICgCGWIURDHf?Lp*qVpUSzB#B>$$Y8C1Y!WEc>FE zFYb=78FMF|n%tUpZO*thr|qp7d+V?z>#B*@$NllsWBwH1I=wYryCYM(Bkg)L<9c-1 zQKEJtZQGc!ZMrI_GoARB_{4kI?*-uIy2*~#S{{YpgN-6*V diff --git a/backend/services/__pycache__/idrac_jobs.cpython-312.pyc b/backend/services/__pycache__/idrac_jobs.cpython-312.pyc deleted file mode 100644 index 9382e4b85497ca5af11717258c5315ff6f1081b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14173 zcmb_@ZEzIVwP5#j&-a%!qc0>r8pMYNg!m8;qF@tQ0u08&M%aK7GCNGS#K1@+ch3Nt zj6lyOv1F7*TJY1zh%nyxB|}VhhuH5$&o5OQ?0vPVeY;g74+OcxtMF=FyD!#IHCWzq zLjLSIx2I=DV!)}qy{fr=``&ZUy?yUF=bn$Nf3jLl6eQn&%N+aft10S#;ftCq*~08% zhN8wOp6Z}@n%DU04q8JA^l?@N%s-)4mw!`B*O_-|rA#Xr*bbIp(spQ7jO3~7(7}`S z>$~+G`ffvqfxv71#%@!GsoUIP?zVJTx~(17Zd-?qwCViz?vjoYQr7!RyB!^lZfA#+ zyc_&w-Q^wSP&V==e?@m?M`d?aM^*QNjs-MDzF?C&!~9dIQRmvR5MXr2oAPaHi8u3> zcQwje$KuCAS$SIyY6(DbkA<}JB`RcY^rcViQOY|W>9Opw_?>*23VnQ+`W5--yV)XN zexi<|I+i~cPX%A8;^|nyR|zZm1;VOMmajg?cGU4Tb|KWdgcY4Mzi3{| z;&a-L)%=o2S zTG^@LS3!A$hT28(b>}GFm7Dvm;RlS1K=HWn(;L^(MUY`_{*;b!7C^OAHeX?O+Z_pR$@%Ux!fl#ks02JnZA}_$8 z2n2{62abt?hkqdu@b5S+ctfyOvc)60y@76k4+=bVVPEhBkNqA+hl`P|+0|?D`-GmL z>}(DNk3qrb_25W5L=g~_wgrOiq2Atr2ndua({9`n_e~3%0D{FUp{E{HEK`|uAR%MXgFSz&aZa)xS28-k&J1B^5KP=5UWp8}FD8lEMUiSDy0$Fw!EiM6c63(4_xUIG6+bscJ_%>k= z_wJs~z_+t2g2gP!e_JK_Y+II+W%Ego--l%9_VtRZ0O1P6ydJUvD#Nnc^1Fu8JBEc* zhK14nR}YOJy4-QgP&aLN{^72<{Bw%dmVaU|%P{bKDB+3rYVAtu$HtA!4SFL3+b5h3 z&RKt4BeMPvVeVs8gpxE}R69J6=k@_0vI!3@Rj3qgXY%d+bQjgH2_kNi)II8FBJ`8? zu$4OUw-nXSM%d$ewQv5J!vgJMDZm)>ZEA^URXPyq;Z*=*R$KB<6%ULSfzh-P?Gs0X zb{I|j)uRQi>KGAiZWgN|+6Z%!7HcESal6`{f94@+Dxx`Fnr~4{g%HDsi;h7L3qgkp zf4p2R<)1u!!)5ADSPHe9y5hma~lWm%(%bD3qmDD?V0UO{Fg0mP5g>-Poy zz8*mmm%|WH5%h>b>69;cOxBV{Lgg|8IAootw-=5BS?3RQbqS)ZKjjg7;81btL^!G` znGrpwWX9Jk$*d#@Ju-`kWwsYFA}Mnui7OG-3bhh)5s^aTHmGZWpL83t0qS4O_Gx?R zpz)r`cA!@KE@CWRU&D?i>k@ogF2f8*Kf= zSsC4Qb^G}Cc;l^_b<-tPpW3UVn{L^;*nvdZ)QZj1C1qoVQA4!sl5H9WGL4#|n{JnI zcgwk0+3oU`cS|a8@Z{3X2|n?1a>=&aB~LwYQsqlCW~y{)hNCR@fjzVEVH7S#@Yoz4 zM?NAvK0$cAP{u|ml^*(O;L9AhA|@rNoFY{RQC5>wj8}L%Ld~Twlq10$e?~xd@XU4g z-Ru~fK{^1nKY=&<8D5Kjs>GqGJmsIwso4E&!Muua7q1KEI4Y8p43{ZhPv)De0p4TV zsak3SNbyq|JS}MW8*Wn03ph=3+y$q}s(x+3sKvO=fY^B>;kkk_x+t&aFvV;8wP&>L z+2<)bcPg1ei(r8jCFT(p1g&P~;zYO#*bNU^uG8lixSjwM0-+whiIZtDtPKS_*KP$} z!XWf`13Yj}TUft0;Nbch0qP84Dw*}cu_iNqs5S05?G=bFBx?oKQGjuu#!g0@ts6;G zraNW5H_#IVZARRRZM5(R?^-7$bWM0;wU>`YJ7VF)@O>OBjcIIZqRw#dH*FICF|FBGt{iC>wgkKo`+b3`DYGv+k9U5P~*63R42#3qsk0>bYzH5$o@R65uoD z)K6J2g}h$Wbd01R0L93S2JOxfV|^mqjv+NhMUsDrVCAxYME0}fA@ z;4M_%P;d|d^f?q>*SyZ4qH&s*fX#Tim?EJHohJ#TH$aj2H{;L*bL!+E1D2cSoFT6^ zwo>XmR3QoDRe>1F_t8Kf=E;5FaAiYF;lsg9A|}fC1ge?o*Z%7MYZK`!lj)xfaQDaG zgpy3n5!<+8jqsbr)9g+9IS@yyz9bZ_syAa4S34u+1L;>p*(CAqUh8 zeWeP>{_wBV9|owTZQc0U=+ePgMw*9Dj-UPGEN<&-wo>}vI&1MLAQHWhxfoHvawlXm z-92aa;xVZFi{`!M;LWqYTAFxevibd!H_!f2^x;UXqK#<%fm5JoFdnet?9D9)cE7yC z{oIbjU>miz1I!Ve&37<6fms)15`H$vee;`&mQgZ)A;kc+`w_4MvOf+`_l)*87LIIG zboP{C@g2kRDZ}!VVdX&cw6WxkMI+DLF)W%gEJ_)c+%c?}GOS1$Rt+?R){(NUyK)w? zlzH99=7aAyrnVgX$Fq>78V@GfgW^+we$LY8*z7d4yiWgrVKTaa*y*ok5FmD@kl54X z=VpEc*43lLF8;gu)Bg+TJx@6z59o@}%Tm}L9<27qQ~62kSV-k-$NO_s-am(0MBG-f z8#3A2y05K(QZx#s5c)vL$7QL*Hg|YY!ol#j4l>}WC(s5VfVEfpQ?|7!^V%f4mTb7J z-Fg)ey&+msIJ9YEuxTl9E6@S^a7S)dx}LTCc-Zr{gk-LifIH}h&N z{gVl9=K5s%ha>5+_tRI-ap<7|VbUtXs2webf5&;p)83Lreos zb?$Jh!ptgAdGsQ(kZeU2$tMLm17f!)D5B9I8*|9TUGPrSAz8}{M?+m8w1Nnt;e+B{ zC}gRSQ{;mqYlTPww>q5oU4R0!laf4;p(#=d21SO|YRm3g%kNlgr>wQHoj+-NyDiZ; zX-F+^PFbHB)PN>&Au<#>eI1h#$|DjsDy#bZNaWuj`*Ir-vbOS1f%w+zj9?M|Y0 zls%MCKmFdOCh7xYa~*S&scEidZq{m{j3PIekp1vCi<~s}6@Hik?HA3ic}XRlV)k;L zXk2t?Ep)seJ(vFBbuN8=;C!4&#PkGCiFgdl zOep9DM@??G@S6yyD9f*h7B>P9K>ZN>q{Wa8P@kHe7q$&;n=o9pj9XIX6?e?*rpzE| zHze5&iev?_TvCa9_8wG?Q3BOLLwG>L(;W=&s3wqgtL7bi7v33p&A|I9hp~ zV1zea*6pg}_270j@rJ@$fH4>L$vS9_0BM;AX)1&Rr?VMgtkB<9h>!Hw@D^yZ^JQ}} zz)Wp0(-Ph;SfN}3Fr|E{;DE9N%FaHkt6Vnk-TxA(D=i+-GDDT{&G5pdKNx{c;_9G{ zn@LDFBpVhId)(#Yu~=VVNbKTRr%jgYGUbcwxb5;O``D5|Pqb9yPe#K5$>V-Qlu= z4{uOwF99wI{d)t{-IlhGo*HC_P19B21{k*9t*jaA8|}OJ-9h#T7KQ8(P-eiJCvs5o z;yS1a%Vb^RPyjitDW?1Kw8}nN?N;+7Eg0NsjL5J!x5pz7+kaKB~KD|F~pDY~vk!{gk~vWp4l< zPKjfrE6PV-PL?fC+E*kEE0hD4feFm9UUIvJQXX~<=oOvS^V3O6TwT1S*#1Rwy9|zp zqWB^-vT-}OvR#^x6N<_XWZeSkw-fi@8g6rG#P30qZ0-(#CLavA!QO*9vgZE*8Vbo= z{P$21wihlfY}4BawE;3%RI_bl`Pk~w)l=q$)0UD8dxrMhu`HXiEQ>YXvaHHFv!dS7 z?McfrIIxuE(t-~#BorreH20pkU^T@*{VNwtQ@mefFXJp0X^C?MPY{-?psIFqCDDaxCWLHVnqXkI1uUp-?F2Vfk_r9h$P~Np632 zQ$XI(MBdE&G(K}N#-Y5)9{mu$Ko^xl@GNkt1Ys9kDJASegot<<-oqt@G>(8jN2n^u z;NS;;Z7Vux$M%ixOO>ri*;ghFE6KOD&7tDl$D!8-mFi+lUz}1SxhM(woJW~AHUUvd zm3JA~_rg7w^}NvO3HgI__x%cf*&ObLet(A_h6gl?MB5KO%jogMf59&4K04b0})*=yqF_O28SL@p8zh^fC%wr z6v607mD<4R`4)B~T#ghe;^rwX)E!U)#{$x=coi}Xmyn(!k=ICd`6JQl#Ub5*AGa>N zppdTTG<^WwBqUIv1BY`^e;2|H>{Zja>8gF)o~m;F#<_a11-zFd8-`9szxA=b4&x0F zWWb<8RJv7CJ6%#4-7sny)o1in*_w=rvN%UxeB&GFPu|dKt8xU^HQ;3 zgo;a*DnO86wLzG#D29j@PuhN6L|0V61Hq{lafCSm^Z=w>R~%C@LM#m4MOdC8q|6TQ z22zGwL4=eS1Tj)eQn3J`qK)y|LQ;k`qTB|xSD((M520a`j=nSV!|2QiTy9Xb^+$CbzpgfIfOCTiotf zLLPs%MehcmlozTQAFKpgr4TC(iXyIvh?^<`^;6;~W*9&tnj1OzMbucxA*U?NuL=i_c7jU0V}d@dX7BWT;LJIa3q0e&4kth%v-O_8-s}uWJPszK7?Togrfjr5gg2j!x%)z5J~yt7OlQ~ zPhQv0oM9kPNuHc~BhYhL*|vEyc!# zb+uL#=*NFWF5GGh{TCR;gc4}xd>k&0!Rei~uZY8g*jS{QWc$hWC8>$LV5jfqO8BwTOBw7)kopt*SvZXA60sAb?Ni(+#imk7tA#e3_J-EK_`rK zKPl}DJ087=0U8GJLudjgl;|CcXbymyiPho_%up$A3zyHmSjH(KzwpZJ^)s&dh212` zEUEX*xVnI!=g8Hj?XIx#061L(ptG=h~mLTH3PR)IhSk_#5uvs)zbyC94=-3J)(i1v2eqNA08OBB_@!NMpMSNMr*ojt&VP-2w!h{|Lp%T-LkeP z4<4CzE*RTBx;^DwKG=G%qH4OLdb(=i13g=2`%LzP=B+E!SX_qFDYp?F*i5ZA^%Wgz})0` zW*PJ0LK@4_I$;iLLYpqRgr{<#x*%FUBt>#_1Z8?DU^KwZI^@B5DPlN|d^<0x^Ui9NvI2RlmEN?nTT{o-8a67CO4ZnWfsYj0E;pemWMlGR#g-;`b zH$8TJ=IV7gGVt>8%zL9VvFjLkf(vx%4=xc1k~NE61xE&$aZPyHM!8l;08r2<#Mi_v z%hKdBt`2TDd-(436}TM$cb_NDardK>5CKWQb=d~4<>B-{fRlDGnxDfX zCl^fmy>oEYHSyVdFn73UO>X_cF%)|fKVu}Wj1e}rgXqH>C+h7Xytc=M9bA?}xH@&_ z4`~;;V}1#X(-wAMFD`etg!A=qVWweYCyAfW(bPacqmW!?(Evgxi{dZix(6G(#=|0MPo(@+N+3fNA3+^vu+r9xjC80JwK*dYrn|`WTtT0J5wBdRa zo(3YC-7<2jAXj7~sVUG7Fx3&HHk^JBOXGCKf{d0jmSiXZ`@%$3*2cc}n~F7qJEtv9yl@rWa`mb4r!H^5ZCUexp(^XY zv{I(cUpOdmNfDDRx@XF^5(ZV~nsh9W9gMffo==n}OB!#nn?5y{j;xwmvi=qczy0y^ zN*Dz$W|=l8jhh~lfZa{Iwq-qYvutt88r{u}8=(Br8m#$fy|(4+dd2qIEMCW5(Bsun zyy#>;>XCe2Py{-CU9z@y$1^YO5|;r4v1esXKq8?;C5osE_Vq#^#k|U!VZ`{tjR6;0 z!0%U-8%YT?Il$kM^{X{xH&sOPAru47T)67y_Z?L((b=+W?apc%M7_x?Fh)>n_L2*) z;x)uT^b{Rb3Oy$aw4k418#?dFhg5PA$+8`dFCYWonp~GEq(&6cxFlPzflxiH>c?b8kS~fO%!dP zrkn%%JCt*ZazMYr}x) z6B}Ia8(B8y8g)gVk8esj)~9S62F#y0%13-7N5_1lz9hFHu_;xtHRbsFfV~jG!IX9F z9c$y1wJ~MgJXtYi-3|lTs|H2lE?AOW-IlWN8?a<7I=XxWZDhJU+6u-nU7m3)pzTp6 zL%}1)#@gRD&SEjMm0G;|0aZdfMx+cr;(Vg>l8L($eY^i3z`oPB0hv?{` zn0Ne0hQe~<(4_Z9w)|^;megfz4BZgj8fzJU3Yd>>h#vr>oo>iDOmtcFbetLQ&rnc= z*#C+fV5LJbQ>~#lj)1WYk1tDFXu9SBg?VPbW;<=dS-~S3jJ3p_v1iA@9EaCTtA?uI z{A++*0)3Z{NTaR{7Gv$?@vBDiNFF|t{Lay&w=;R{MACa=>O20a!`)vX9I?ayAGe?< ALI3~& diff --git a/backend/services/__pycache__/idrac_jobs.cpython-313.pyc b/backend/services/__pycache__/idrac_jobs.cpython-313.pyc deleted file mode 100644 index dd03819d291470a1fb5e3b62cc5ed51af7ecd05e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14423 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�@}_zDT4kH0W~_GNbA!rwy71vnRv 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 Qc{(`rMBl$59I>na1EDyIEC2ui diff --git a/backend/services/__pycache__/idrac_jobs.cpython-314.pyc b/backend/services/__pycache__/idrac_jobs.cpython-314.pyc deleted file mode 100644 index 41ca07e7ee3361341ee88a9a613d2dfa0d8e8354..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17987 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 E57zXjyZ`_I diff --git a/backend/services/__pycache__/idrac_redfish_client.cpython-312.pyc b/backend/services/__pycache__/idrac_redfish_client.cpython-312.pyc deleted file mode 100644 index 52203b5f70529aa8c4f4de83cdff492b7924374b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17050 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 QpQ)cx5gYF!oC*#7KV};OxBvhE diff --git a/backend/services/__pycache__/ip_processor.cpython-311.pyc b/backend/services/__pycache__/ip_processor.cpython-311.pyc deleted file mode 100644 index 6b56aa86609323650de785eb236f5a3452af0ca9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9653 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
    LF5tUdIP>%GHO+$KV5iU zxa2t-YoxSzJ6#x81TUO6>Su`On|Qy$8!qtM4gKilMg5qbwgF-!^6d(3k`z_weW!{d zk40m$7TOv{oeY)}v%Kz3Sq-Dr^)@~i0XuLh@&H~llhLD(`SnJ3V_)EX7DOFWX7F?w zh-6r<0dn6!=#3M!hRzhI?shn*24@SDj}SQ<_B*xk7@bVQ@v|AxZH2M9mydS#>~GD* z=5W+rwY}QanJ+*l9DfcGq>WWZ0H>2nLUgUXqqTQ`OQ55>y(b^ogVTl}FJe6Qv;5Cd zC0z+%#h@|}%1fX_2COW!06NyP)J&#^y8WTEVyaznua}*E#p$1Imz~XU%;5B4AIrH_ac)f? z`eye5$=Uf!VQSlqMXC176&sX_4YRMx729R!3ySjv$@#)PI(_J2sW0RCykhp%>$Nv) z<5lZlIcL?y^AqROhq83Z1G@4)T{$^0b5^O}aeKQ&SITsULU%}X2Rwbh`<-r? zb}O`7qTLT^@ARvgv$N;E@Z7GJ>B9WsvTmLNN_aI7X?GKBUKdA;E{z5 z2dzubaVgTrPnTj|3-3eqkfh|^ zmZ}vo=ek9kiRGrC1Dz9E!Xkn@duB`Mso$sC0s+lr2n2ZKOQAzEaWEP=t%>p*sG}o@ zTtEa{DX*hkI}p{iWQsNA3=bX~Jr?wo74cs|kT@Y^QC%ZJF*L}<2b%J3prFbAbGg4A zH0A$x(3Iy4iB{rtv3B?30$evcw9>cx8!olJUwCKaq@AmZ*`87Z^9S^=Vcj z>aL8>s>Hf%b$&)T!w3tZv(}t1QOe7rR8;Ol1QN-Oq%1TK0B4H$JD@llA8_5+pf6OBU~Cx4o>J1aNc+aw8=zlO8br__;-_3RX#)V=3f_^B8kSqApe}l>hb`)bU z1`lD~cpHwRx+w+%Q`VXWy^ zmghDnV`KCe$Tk;aXADr5FvW}!$|a10F+o|%I2kjPWsHj{VTvxO+sc_Gj0IXMprw?t zLQCa2!c+D&qUgazy)PV&2tFYY3G?uiJmeF)T0APzdZdeEeaxXqB-Gf)`lCXG6AeDz z>yLEzgjj)P(BK0R{~0K$gQt0xJIiuVw>AYrY&}ecA$xpbCM30L>LcNfK<9ZA6YvWs zd4XHw4upkMBJJ(rBApz|^L|zK6H$To40Z>9`VLe^FafnmX#<91LU!LU*eyY=^e`$x ztJGuoEnKeO%2HKIfy#}+kZfV6;7{qrv2$28_Az{i+hL`4iWpB zfy|>8O*ziJA&`Pdbo=@s3xq`izKqkOQ7TarjGXoc7*T!J7mBhxBH(sE+upFHy*|RQ z?SY2Yo%P4?8t}7xd!Pp`1~opy)%2Vbjb5G=a_e)& zK-CWa{A$P&*l%g)bXjE*zp*~a->x55-`ba{-k2%dbcG&Tk)}$%B`}?9uwtO%8BfFb ziz_!0zf$kSwEnEfpbf*2D5VYPgUX9HKp@dzl!7_o%fC?`gAGzdt89p0wNT`TUo3K! zEOHOYnSdN;K^YRPNOZEoO`NkrokwiDIrROa0h;q-DS;;R&##0`7K_<>b@NEwa9z?d zX35xAXUuE9C2;lH-(!#sR`i2N(D}GnxsDiDZ=Np^^rezS%Af)g$w{m5E75WB0M|ws z)( z5FMfgNtqMZ#56p9r6i_e$QXGIW7HoI=V1fm+L$(oHgZ9VX&B9UXk)ausXVtaB8cR< zAjLF-S!s%C74AAzN)5-Z93`=D~3J9S1!+@qA?_WPWy)ZmvX>@_(Ju={%7CCvspU(CRQQg=J>c~MLTo89YNZGGAqA(>9wU_Y7~V<5)#26`^r@h) z;RRo!k$5W?5CTalxJ0St%NNi^Yr2GTWgMeje2oPXRdE(Tgi2*rzKrGMj$<)3+)1h> z>VfXrOE;dpd3)yPfBodr$1@-Pm3wylZ)QKZ;GXRtbyju%)|c149iNL2TB1^iv2p*0#70^O`Mja!3OAz-AaV^cpfP zjznkGTP?K>+h8dIhbTklRkfQ1a zBaTCo-VFczSC9e5SRGf-PC8eoovSm}HDhPf)(wgMQ+mgwzC5ijpU_uMn<`UP`|t0+ zUzc*9$e7wvRNL>g)=6ziT3a%D^mA?1W4&!~$H0z^zAQ<9uJ=saN=CK~Z%b-2ww3)2 z4{gqAM^&mil5zB;ih8DO&g-_(lbI6F*v6D~{XqR=n`7wpjIBC(EM;9gP(MZ6C+X5O zT{;^5oL)93NK)D7Xa4N%ndGmxxR--X<31vqvY2>eZ*$|pqen#Y zA@9lW>k*jhJ&Cn|`fWHhP$T`Y2?{Jo5*MYspOQFItjF6U3V|M~jcZeC!Z zZHsO>U(o)361B4&C$+E3jsM`veALdeI6Hb{=EKodVBoQJ%XtstHHvhRyvX4AqLZGy zm6-k03$vgyuD#`P$VMTJ9AwGdl~(%A`?qevoOP9%d7a0zvM^mNvP13NDo zmY`hH8XQ7Z$+Hnv5ik+KgJHvG0l}pYl}h+9QQPa|!icK1-WLk7%putwlu%z(!wAqS zI*tXABEyvxO-E$uHTLxcIPlfAToYQS5oNnkwjO1BArm!VMn*$m|FS&7pn2A&F3U6+ zoE!_Ce+2)0H2@l@0NU8!dAWR&cBg6g*vb^`&d{}!^rkeuDMN2b?3&iOMjc7#*s6?f zeWLy`*rEsCJdm<@#@7G&rkk6_>u=RfkelaJX7z4-+EO}FF(d>>5{b>drhY3rD?nKy6UI&Pv}%t?RZnhwKZek_Ki_%)%9z>DZ=QYLBoI{ zRlItvb=>i*@?VrsP&=mdmchD9b<+mh;K6}|sj}MfT_0=y*7$4V14Gjsff-7^d#o>> z)UQhGSN#Dzz%%$XWgavR7*mct_p9#v{xS6Tp;Y^+$#y2)&V1e;NOc7!sbHE4em{+- zElcZ{p=rRsGHvIb+Ak;|jT)cv$PD_VeAkKwHFj5RYurZMb**bO68DU2pnh*F4!OTj zC+K0kq+=+^7uPXyHG>15WOV}|HaK?qTMGD|qbFoB6wK&c$OGtSQ(h}=K+YJ}fDKZE zw4Vro%Xtd$RC4dAIK8-=CLm{3N->1Mq=G~->Rr_pH;Kh{ahRLeH8Gun?ch9a1zgw1 zbTK_r5pjyfV)`I*>=z_OGXjEZ81g*mUvMVX;7l$p{QA6}fl=!7@bxh@atxI9^0K*7 zM`E-T>?sWQ!0M`CPDABcC|F$;%o)M?enxXU=W-&S-w*DypNP|Osu!Xe0*XsW36OSa z+>kf-7t@^#5u;*;yk3#e-0+6sN*quf%3fSS-s*X>;L84QlIYDL`NB}wm3}$YwcraN z09uIu)gZ_J52-yTDQTTNciFHTm5l*Gq!J=*-rfjzhUNGux?Ib7_v~Mc&iwqgd-le# zTZVP_%=q=$x4<-C&VP*zFDVrBHM$lMk2#DAvq*&4upFB~?XvN%Z{B&_d+cEA{>IkB zfV$Ds-2p*@JPutX&JUSLH}?729uz6%j-tjtK^Z!`BFPJp9_|=aJw^^GASpB@Qju(2 zG!ML@T7YP4NThRdRFUj~7^?)xlEID~e^J{3nh$_kB%s1EK#@l#XcnC1LblXhd5A{A z*|0y#p)g129CsEbgwRZ6#Q|U&%tO@W=0xLEktMNLjx;TuAj{@RtJ*Scti0Vcxn_HM z&GrYz9d}-N=nG6Zf@xnM-Fhn3dL;GQsUczH_2JiVY#HnQSaXNUIQQPKO*@-YzCi!( zv?Dm}tWNI!!ntOMm?|zCJv`h#q?%J{EeG%^yK`jU@V=`D<|wSVB54_J8QLp4%cfn+ zlO4DHbDu!N2=Phq;yl2*X0t_R^8&;pS9T{hikPmPz~mw0-~g0L9St{hTJZ_QMyi z4JyG^{_NXgw0O$6zRd_SjsF;Cx3n_crp|0n+;NdMZBMkDr1 zO+zj5o9cQe^+|;Ts-J8qsxK!$RcoRCsj(d8t0@@w=_^$Y+p*7_X!vL4bc0s=*$QWa zO8Z%zx_gY+T|EE<}DX(%b!TjN9NEl5PV>Zw zyw?-U1!Zz;Yx5Yc=!Q5Iqk_4BO@6(Ywt$~p=q2ATg<`WB9JCwtKkJ`-2qvZmT}y#? zsJVq;3lhvm;Z35Y3Eo}67=^3P2hOq{vm7ZPqfzwofbv%g!xTpk9XPnNAseQUqKBgH zc=G|J0l5WS5M{`45GfvvawZCa2FqUgwW6izpc3PNz^9KBB&6}s5_%y!K96=;7=*}1 z4+?ln&?pBZWR&ZYABeaJtR%fgdLZSwigC|ef%LAJf6U|<4!DB0Y0zxa<5JASU^cW=FN6C|v ztq-Kcr2~Hxlg^QJFP>4`x+CaLZs&%fAK5v47i6HMaQwGe)t8v-5k^14bdNCoBh2&& zvpmAg|Ag)M5?k^mw(?8thhJhPpcBh06LkOf3|8^bQv9wXVS1`j;hUf8RQTGbIvlTj gT4ccOPgfM<=5N;7@!j~-SDm=!-?y1?tHjBF1G2gv2mk;8 diff --git a/backend/services/__pycache__/ip_processor.cpython-313.pyc b/backend/services/__pycache__/ip_processor.cpython-313.pyc deleted file mode 100644 index 5de909ec1947b5340321d9e98d0de47f87ae3e92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8129 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 o&=5@z3P=zG0K$g_^o`A5O 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 WHs}6I^cvn<14hmLXJt`JsrUb$SCWzd diff --git a/backend/services/__pycache__/logger.cpython-311.pyc b/backend/services/__pycache__/logger.cpython-311.pyc deleted file mode 100644 index 34c384a754ddea7425eafb9740e377e85fb3c6cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3453 zcmb7GZ)_9E6`%Fa+8h5(;s8m&iJ=O_N0UHX#2-;k=uASW;~);vJD-rXcsI$0_1fB9 z!(HU)Tomq5o9dtik+!6DCB)?#u4;8cx=OvO-`Y==9jz2=BqXHjK5#KoD(<9;FYTN4 zpJd6kYG-F>-^{#uZ|A+=yf+{Ed~O6q{>%E*mo9|`T-F??@adLBi$yyXciNNiFvx)nPIkl=4Lw;t^Ce zV+e+vQFZ9zvw|@d2cq-5oR-9M)|5IqEGyD!K@}BAgE@XYOZf!_Xyf~U|Qk`mA3)b-PTK4`YSk!KBJI-dA zJXmnXgV3zQ*ks{No&ZrBxSVD4?ALq3pgQZt?majijy#*>8nbzJ+S#B*R%EX`x*A;+ zMHhF>V$eaov!&$m%aZ3ijkXOoBe+559d=$3i=60$)984}KLGv9&3~BX!~i{Kv(CIT z&n2yxLFMGRBG_eXvDvA4&W-L3PP=A%k3qKe6c|={$uF+F>;KU%`s`ZlJvb3;G0@Po z`J3ndXHM4^PV|EVn|+x_)2$8J$)Yd+*tHrtM-H*d-zrOdyAFfvy=fcnC=c|ifpgRm@pw3ZWx%Qju$HH$y85kQIh(-tDEY{ho_iwFz@+kc5 z&ZlcXy}$OWhvBu~eN_FhP@nz2tcsbd`cO<(b8m;g_~g;E_a24UKKNPnm$xjA85bOO zDs4DU__Qpl^5m59lpgJ;320`xoG~$QB;q9e1VnWjg9*MmC8>m$RRdy?pb!s@O}XrA znVf1s)KgO#5uyZPb4H4IMQK9FDMr#-$?ArtQMlV;2R)~7j+p0v0s>+Ow2d;|j4{P# zq;Aa7ZywqG2hrs}$L*J*w#aTo0fBMo zpZ*KV45p@yaKw?(3C=>cBrb^1mNA@~o>gRn;OUI4Mp$h(EF%0RL6>L{Cp=^VDG3JC zDars48pSMeT9(viLONu=EDiZqNItG)Qi7tN7_3e22Ua}}O#yu#+;;o$-B*9|YVmkE zc)$!ExWQL~y{o~!E5W@*ed%O5IA{h3mozi@tsDH~K->J)5Ar|EFPvWLEbTp9tL4BE zGjOEDAJJ&Io7uTFH#al#%)XeF9Ky0H8?vCtGm;q2hpklp-98;i3L~H(DbfvVduT%; zVNsEwmAr_nzAw@;DH%11goho+=#_xDlhISd^{YcmR?B3CNw5{+r)qZ&o%l2&I*E1E!?qaI9rA24SX%mu@{-|4EJJX5vc0MJl66I?ZL^W2@90?Xx*p zivk1Hpwp{N0e$5~fu6Fz*Yx)mMk;~r3ti>Fp2F$RJ?*AvSJ~5JdU^`c3g+J*yEb;` zl`;;QI8?%+%C_!8bS}Q`ME>^qiwg(oWBNkth~avy<_1&Yy{mlp3g5kOu*`={K2);m zS5DON&BtvWH{ZAwx*aMeKHdG-_R@umrPS0q>*#R)13~j8Z3?k*lbrpwJaA=}B*mwS$yJx9y-@G;O6*lzm2QTF$l{yx|n_N?O072LVF z!|ZycwEuLuYt-x-E#osLK2ySHp1>Z*uZ`b~mGN#9?=Iopbk}qQt~R?&ysLzFJ#o1U z?>_0-b1!{^op+o3&I<3Dcdzn0SNNR^(R*jg{63T4SK{|kVWZbZOa8;3b^rN|GLD-# zUc&K;Cs6pFh5d-5hE*CCB1{}WOnstlqm2dP?R26Y5SpCG!Oc`kCN+9|>8;S1Qshgu zo8Tbj-%H0^>p&lDVAldGaT@PrA%ajbc8lE zYgs7y2wA^sq38vFJe?79igZF7gLxWF^}j*0&N2*BL3>K}T0xy9d#xaU!FnpFrC>c3 zbf{#n6|}QtuNBl)vR8_@9XHO+zj^cBC1=?;Wcr3yeTP}a2|W_cgb7yyU zl~$$nz}$Q0oO92;_dM@kd_FeY257Y63_D?F6gKV(yDXkl;o>#n8VhF?cia>9P{@HK=Xis?QFRtwBDdry z{f{?S={B}hM#6rvCL9pGqI-%7*NQ&TFM6h&;T<>VVBk5C2~yZ2sH$cPrmU$3{4(bS zb8HZhhKq7s5-(URHP$UFQm>$jilhUN8%hv)K>?gSqp72E4Es)>KOgBI>WTE9y>zx8 zGkt^IL#d-}?Sc_CK~vD+-)U=Cq-&C*3gmZ$Z)-1MCjg5}h9Sg&9JTL2W@1_zA!_62 zfXpG2B18ga`SJ*jm(5?Im&T>C+yqLaad6kagGhbMn`~KoM|-BwmX&*Lsp?#@x-0Ga|MwN$_CEFu zkxP&7tLnG0wDW&TxVA{3$)9ZR8^|8s)>)k+Wt)Qaw&iaZ9iV@IRfCOfIRic3W>c%P z=&42(__rLNc=FATT&b`bA3!wF(<1g6b(Va z9#TY-i8ESKHK9hSQB9Q97^ahE^gEePvJP^C+IS2IWIl`~7_U@Ln*ueolA~2x8ZFsX zl=`n#v{FMwx)GK_4XG&DcAuIGyMm;twBuLM3h!5Rfp49IFR4y_7YIH7CqRlJMhiNz zLo+awfChzKP$Vq_vAU5^WD_&vnydzC>=mU^A*q-Vi_2XR42cv}%!z_2MGR9nNEm_7 z^;(!QYsu-U7DF$B*BM>YOiYboFS&iBd`P{W7{C>U2aKjj25Cg#Ukgf3_I<~> z`cFY%Cw#_h5aAiL=|zFooPS@Yrx4gZ-T&-8xdsmpuzW<7gzp4LpLz;GW9Ob&c} zXoYDh>}tw{rUutpf-P4h?p#0e=X7ns^S(~@Oc?#1%0N3yL) ze#hlnUteKPY_ce@JMVur>wh)pZ-YZJo;=f#Wg717$u}O#HXd3&+?#9cTVc*UgJTX& z4&4HEuaF}X93BUIpSj$b_nx)xe-OVLze&%!r`;=DbAj^^EYCG(x#s!MgL8M!t#Aj4 zioVIdWq;RKO@DlQg&8b(0+~0ha1A>2Ltr%PF%+Z*A?|(zzo}aLDfo_dWn7AyBbHRk zUyi!YQp5%8AkreENr+A<646NtlBbqArpQ-H&nuE*I#1}e_EI|rt)RoKc_RU-sgv%5 zS#UNyI!li-76MyRuVH60k&tw~lW00d2J%d>y!{!nu3$yOOYUS`6O)Q`N`Djhq{tcF zFs#!QMXjR!tEk~?&mzb Uo>LiagQY3oKfE1Ot+mg;0C4&1yZ`_I diff --git a/backend/services/__pycache__/logger.cpython-313.pyc b/backend/services/__pycache__/logger.cpython-313.pyc deleted file mode 100644 index 5af5f7eb8e417089ef91b9abfca4260995c83a65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3103 zcmbVOZEO?C86JDr_Qszf1}+~Y?By;H!zC$g(*UAeQJillL0(M5C6TqUH_n2+Yt63V zEQNf7Hr`uwvJeb z8O#`%8DTLCW6X#R+n{Af?86T1Fy?F{+;9!9F|d8aIqbqN9!=T8_2xF!wiO8uf$O%G zN5W0j854C^0QL$s*eAFJXCu1E;#$EYcm)^57cF>Cf(iJZQO)LR%aB8H6k^ zCjcy=NedmMG+9vrLg9)L%H!p4cZE+u5flcaeU}6a{H!OeJj}n20?gRCfR#AXB9;_g zBb@ZMtm#qpQUGiQOEHx|ob+n_vOMl=?E7wYQe#dYA>fYCXdarc<8vp#}&C>nP+u^_Y^VQNl z82H6aU<&X@`O=@4OYeUKtbFO(!_vx9r?aCnTUoXFoA*xg7l1lOM>~SSP6$k3DLuTs z`ROD6`O;^bA3ofC@LPWKlaEWk&ce)3WhJg&(Yivil6jl|`qM|x-+#n!F5WHu^0sr{ zA*Rz*LjM@yQgU386Lb1A8mQ0Sg3r7yqtA9657-Ge3kjB{L&9E}lN7?qiVn#_OcEDO z9+`Bnno)GfO-f9S%SwVU89nx`h^Mgz(O?#%N$8d-yzQ6f2xQIe$gGY5*nV_U$k`_Me}9h#`~LIM22wj{8mZH!nt@jhUD_D`UBmZ~gZBUV)-Y#Is@ zaX@M`)MLk5Iw|Xfy{O7cfFbUW!<*gR9O@USB)ZllL88n2FF&;OuogNO>*^G-3me$4qM;M3^ z^hKlwPb@umiu6IVf3RT>uhszUt>0S zZR~{|dFvLZZ%p4kmiIJYw-h;dfosfhjmyWr;F`Z-khf)vLwnzNvS;tDi4U7s-ump- zzt*jtpI(d2eZyGy+Owf8Cu=+L!i^gFb#{M|tu3(4Ikx#;qR`UyxTWilT)ySRI(u@< zj(qzI-q#*`U(0*j;E1fNz}Dy3`g^Yw8jd_}II?zhFyAn=&JI6?Lyj+u-wLg>uhIik zJh09lcN>ONyy0Bunu?r@q5{{HO(4~Fj!uXBf~h@pj{HE+-7 zjenU~XUB>zUv|WB)_@h$5HOxU0m~S8-6`nK*P741NpGG4)9|B@D}630&y*ijZ&2Ah9j`T)njUDl9I@-~q#-OZtuw?9riKS*`59&h zx0aO4#Fj~?C5*eMq#w}_eG(Y9{umioDEk6;Dy7CVN$E5W!92~oS`a=j7>mWSfm%0E z{g=r5C92s#-5aQB12s@f*DhZ8*@av0uG;gSu7amK=jqOSda}-<>vWdevNIOXKinOb IT4R@g0j7%2yZ`_I diff --git a/backend/services/__pycache__/logger.cpython-314.pyc b/backend/services/__pycache__/logger.cpython-314.pyc deleted file mode 100644 index 7b0f8fcf3ec86ae4314d8e507efa401df3900c8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5423 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 T9A&OdL^95r%2O8d5b6IPUjAGI diff --git a/backend/services/__pycache__/redfish_client.cpython-312.pyc b/backend/services/__pycache__/redfish_client.cpython-312.pyc deleted file mode 100644 index a58fb285f5a7a4b365c489ce367197373600246b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14251 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 Iw0vUz2R2EtAOHXW diff --git a/backend/services/__pycache__/redfish_client.cpython-314.pyc b/backend/services/__pycache__/redfish_client.cpython-314.pyc deleted file mode 100644 index 8811225d5c6b88890b93ad080791d7b700325186..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16199 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 diff --git a/backend/services/__pycache__/watchdog_handler.cpython-311.pyc b/backend/services/__pycache__/watchdog_handler.cpython-311.pyc deleted file mode 100644 index 48c8c247f96130848ce815c0cf2de00c9b1fc8c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3677 zcmahMe{2)i`JH{X&-NwG5+Df)|ynSw&uR#8ftiXfWOs_v@O;de<)ZJ+n< zOdty=(xNS-kwBu1NF!S+QD7sQ(urx&v_HDPwm;A4B&?GnRhsq(*pV`^KM>j<`@TD$ zu}h*ozr6e2_rCYN_rBk`)6fth&{BWjn!FSuRfbe!TJlrXc<1DFvq%52hx)`8bZ0fCB`b$IpUM@uCqpp(B|KUs362tYCI?Ua z&O90CXmCzU@U)qVb9^E|TWAcvLE1D&5}|o=o=XUD^<8!|-s>n+6+@+!JLUfbOg9%7 z%gcY2%0FK&&wV95Ub|YpGh6x+5Pw`M-Co_izEoQHT>4Nkl9N=MkT$Qcm#*C^{dToC zB0>9}1kcRLshm{0_LWrr&0P7jo07}1ygVzFR__C%Lg})WkfMBNZu3`{OJA<^mA<(7 z_|NNjo+k;w0L?8Rd%QL$mDU#lQMz`s{FkfcgkcO1M4Q59TP)1rF zhX?AmKb19-Rn5Tz(Q07MJy`|dI(LH@8~~Me8@~6v30bLGsUk@|4M%3U86x|glfS8EWSW?U6(kkfJ6-Au4d0kD9JH#$YSeBD%Mb~9n=V1$IaQ4}e zKB^c>pOVY?s(C- zdcC_g1A%@5hNrV+Luj}hS`0lD+8zjP1!1ox>@|hG#XX(#{9<&YWB;0ohcV4zXj5gzIqITLf4DIN++UK1yJ086!Q!K+#s(0m7t<{#qM3TV198 z8GpS!aO5N4anXMXqSsgjn&PI&dH+Xbii`83&$vDaBw>87o>P)){$)7lW6wK3sXCEV zUYRTZ;tO=7&BePz(#v{0z|c@_Ud^NoJACYXQgvdM9ZG8x6RGTk9hy>D7JxXZ{ARU;h~lp!-7o7juzE{cbBX92V-{1Xa%>TDo06>VjEGg#{W76i&Xj(d1bxhb$4I8h+OBBrVAVei zjB1s3wi;zu1P@pH-T6)zK|M3RUlYpL-Ua4?+MB>UxEumcMbodevrZ*~6Y$fzI1V|0 ztVBJ!+Aj?O*Xq4z{8YI4trz0n=MrE)GCH2`uf1U{)ij(%!_y$Q`g>f2H|=nbNZmbn z8h!B|Zj1p_6-OUoigJ=o9xbURqPTTI>8h93hootr^onE7&$zf9f#@OUa}avbq}{9p zs7DmI*g}qJ6HL|h$`V6YiZ|L~N|$MhsYyd)7ua|4X!HZfXQ?d1bm1l|pQhWqDEKr z2C?VMc#_@m z>j$i%Q5Q5%owiOX6}XYk`!|HxqIh+zAhcUTyD7APBZyaG3$Z0}ZP)#dugA=T??5jI zBbG2?3L|h=E84L|eBlqdjn=(OZ&{t+UmLLcj}{=B>V=MxLhHL$>$~&AMX~A1$%T_k zBWnZq5C3D>eC0Isg7|?YeqefiD}ZcVW=?E@wBaZN-NMnItCpafM;t6B1J;hiUL4Ty zVHc{NIqMGgAY#K<>Y(~$8Ip~h(P%!6uqewv%`553N=TNemV{~uYY^8S9Am;_-fpOr zI!QI1mgP9dFbn8t=RbCm7{gl48PHwz%P>HJ;{6~$1%xevLxc}>Z;_n_F&M!7^upNW z3mgLJ)D1#o07dryM@OK}-Qo@S{_#9iGw^<0kZLE}OWGB)FJ67#CFUdIJ= zhW2hZjzhiosqFo8!LY(~D}k6S*Zdm;%uyh}BktLl=AQ{~xPt#78-^*0PQMQWBvy_q zl9$XEdXY5FI=>-$!aNC#$xDz-p+wt@#a6yElu+1~eW MXX!sX5IC>;9~*m{!2kdN diff --git a/backend/services/__pycache__/watchdog_handler.cpython-312.pyc b/backend/services/__pycache__/watchdog_handler.cpython-312.pyc deleted file mode 100644 index af267030e6b5b06f9bf1ffb360affbd4478ba3ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3268 zcmZ`*U2GHC6~6Ohd;F6)B`jpIfq}4Sy;=flP(#B~l?F*Gs7qBCxO}9enOV6G0 zIDxuXqdVuGd+y&k-~G=0OI@80L5cr)ZRm;zp}&!aQ(U${ttUX3K^KsWWJ*OzDn?O6 zrd2vdTYo0Tz@Jgsq$}pK`dHPS^u#=t>{7X;H|7PIj`?J_;+H+|z>G9HgJf<3$zH{C zpRw191+sL+_lz_ml<5~!Da{a#xR%nR(B`_+L>5($cYHgpD!p0VP?D!FDJi2&g#_#Yc{Fk7t2X*sG&`*kAiTMnn8x8Ce;)( zhJFlixnI#xXp9;|0__+W04=*1UPl_EM<|^JP*C?NTL)5Q1dOeK4?#b)$l6xPq6i(u z#4O@5U3w<1V3QMscq(oPg6U3Z{X$$enWQ*kGVzpQ`V9b(DhxnSbTcSv$+W6KWNbx* zHCbIz2XGzChZ~?Wy@DXAqOJ>q&O#e}Kfdv;Q|)~nnymE2Pn|#6A)HMOXnk=RixMmg zV!sG*OUZq@f-l7-MeiG~L{S*BG1-#N;s8uG8v0*sv^aa;1_t`qpn5TmR=Bz;Pl0P% z;&v_X2v4%p{*}<4Ieq^4FHXoYJI zgss8SsVwqt30`7rkjXSqAbbG*2efl9DU?Oc$RIAU$^nG=%gkn26P(kt`Inh7#tA5e z-UG(C%v@ozmH#j`j7FIE&@dHYqZ`y=xVYYwm{jz%C@GmYV4C-x+wegZw0wDfqWpu~ z1h}iy_uBb4^oR=+Y?-W*j2ou+^oXQb9ASD?ZE!H28Zh~xg6NGMl;?{Y9+A!TGv$9 z>|674PMYj`5@>(15^VY>qO88gYu!`b`EbXlJ;lJ8Lg37Q))>;Up_9d@n)ah#c~AP8 z`#Vm$nLoK*AWGGX1P0Z(z6FgLay_U-of<&>99co?nkf@&On5p0_6 zEQa4Mgx|jRZmxAP+?Efv<+(Qe8g##OG!jV*vgcs&82}+kJg*iE@Et?7L7S)obaRx$ zE@a#$U}1(@kfjK>L7$ZrH|HQyg{^1@(!fg9)eLgIt&*sBq|JZgE1R+-!P%;#9Ubsz zC6JdPcw_W0kj&QJC-k^#?-F|4w>)q)8=YAb1XZsTxR{ldfT>Y}VBwV_dq7Xn{Yn{Q zWNxnN18Z~*U*Xe6$QfAs1hscR>Ic5}jsnD;{aq#=sI@=e|Jffa`?u~d3&a%(M4yr4 zT4^J*8>B7NVkhL%btj*;^P@EXrgc3wsEFwU8WA#S;0ba?NS-hmP(720#HFz|h!tJ0 zbm2pwjntcgxGu2@|)OEXgaF zCx%vL3W5YgXVI6-qA!yp8O`D_CaDiv3+sd#AYnO|)~BTe$$p5`WU-H-jdfyap!M|rV^YN9RUs>|Efb#Eq_s<_KHn$a;+ZOf}nvXBMTRhQK zIMMa^#QA*B`Nh4xBrSzk8ef}f`$=1|vANLLJb(Ib^mcTyv2~JLZa8#r=w2*`7Y-EL zqlNZp{_EYJeU$IHQ0x&4J!1a5{rP?=UoTHGD_rneU@CCEcZqxb3odXiI2D`?(M-!jr)F)?6qMwpa*qgB@Dkz*cOq<#IPBV8O>owFfH57jelj-B>X) zIAyX?Ev3Lv5?kAdydF)qU(-~03Bt341PGobK0!!oaz-U`KoCC4h-#(BBM7o434--L zup@54rHxEfS9yy_imD1igu>)b>jcT)wDJ@tZz-!H^rMp*=rLn+Th-?z3~m)2~Bbyy%j3Rf)w>v uwEuHd|2gtLMWLtYt4~q$nj7&4#<{#Nyoj3rnTnE diff --git a/backend/services/__pycache__/watchdog_handler.cpython-313.pyc b/backend/services/__pycache__/watchdog_handler.cpython-313.pyc deleted file mode 100644 index ce5e5a0a742206c0c44ad8c6f2adb7b9945003a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3399 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 Flat JSON)""" + items = [] + for k, v in d.items(): + new_key = f"{parent_key}{sep}{k}" if parent_key else k + if isinstance(v, dict): + items.extend(self._flatten_dict(v, new_key, sep=sep).items()) + elif isinstance(v, list): + # 리스트인 경우 인덱스를 붙여서 평탄화 + for i, item in enumerate(v): + if isinstance(item, dict): + items.extend(self._flatten_dict(item, f"{new_key}{sep}{i}", sep=sep).items()) + else: + items.append((f"{new_key}{sep}{i}", item)) + else: + items.append((new_key, v)) + return dict(items) + + def get_idrac_attributes_all(self): + """ + 설정된 모든 iDRAC 속성 조회 (Attributes + NetworkProtocol + AccountService) + + Returns: + dict: {AttributeName: Value, ...} (Flattened) + """ + all_attributes = {} + + try: + # 1. 기본 Attributes 조회 + url = f"{self.base_url}/redfish/v1/Managers/iDRAC.Embedded.1/Attributes" + response = self.session.get(url, timeout=15) + + if response.status_code == 200: + data = response.json() + attrs = data.get('Attributes', data) + # @odata 필드 제거 + attrs = {k: v for k, v in attrs.items() if not k.startswith('@odata')} + all_attributes.update(attrs) + + # 2. Network Protocol 조회 (NTP, SNMP, IPMI, SSH 등) + net_url = f"{self.base_url}/redfish/v1/Managers/iDRAC.Embedded.1/NetworkProtocol" + net_res = self.session.get(net_url, timeout=10) + if net_res.status_code == 200: + net_data = net_res.json() + # 불필요한 필드 제거 + exclude_keys = ['@odata.context', '@odata.id', '@odata.type', 'Name', 'Description', 'Id', 'Status'] + filtered_net = {k: v for k, v in net_data.items() if k not in exclude_keys} + + # 평탄화하여 병합 (Prefix: NetworkProtocol) + flat_net = self._flatten_dict(filtered_net, parent_key='NetworkProtocol') + all_attributes.update(flat_net) + + # 3. Account Service 조회 (LDAP, ActiveDirectory) + # /redfish/v1/AccountService + acc_url = f"{self.base_url}/redfish/v1/AccountService" + acc_res = self.session.get(acc_url, timeout=10) + if acc_res.status_code == 200: + acc_data = acc_res.json() + exclude_keys = ['@odata.context', '@odata.id', '@odata.type', 'Name', 'Description', 'Id', 'Status', 'Roles', 'Accounts'] + filtered_acc = {k: v for k, v in acc_data.items() if k not in exclude_keys} + + flat_acc = self._flatten_dict(filtered_acc, parent_key='AccountService') + all_attributes.update(flat_acc) + + return all_attributes + + return all_attributes + + except Exception as e: + print(f"iDRAC 속성 조회 오류: {str(e)}") + return all_attributes or {} + + def get_idrac_attribute_registry(self): + """ + iDRAC Attribute Registry를 조회하여 속성 이름(AttributeName)과 + 사용자 친화적인 이름(DisplayName)의 매핑 정보를 반환합니다. + + Returns: + dict: {AttributeName: DisplayName, ...} + """ + try: + # 1. iDRAC 리소스에서 AttributeRegistry 정보 확인 + url = f"{self.base_url}/redfish/v1/Managers/iDRAC.Embedded.1/Attributes" + response = self.session.get(url, timeout=15) + + if response.status_code != 200: + print("iDRAC 리소스 조회 실패") + return {} + + data = response.json() + registry_name = data.get('AttributeRegistry') + + if not registry_name: + print("iDRAC Attribute Registry 정보를 찾을 수 없음. 기본값으로 시도합니다.") + # iDRAC의 경우 보통 'iDRACRegistry' 또는 'IdracAttributeRegistry' 등일 수 있음 + # 하지만 대부분의 Redfish 구현체에서 AttributeRegistry 프로퍼티가 있거나 + # Registries 컬렉션에서 찾을 수 있습니다. + registry_name = "iDRACAttributeRegistry" + + print(f"DEBUG: Looking for iDRAC Registry: {registry_name}") + + # 2. Registries 컬렉션에서 해당 레지스트리 찾기 + reg_url = f"{self.base_url}/redfish/v1/Registries" + reg_res = self.session.get(reg_url, timeout=10) + + target_location = None + + if reg_res.status_code == 200: + reg_data = reg_res.json() + + # 검색할 이름 후보군 (버전 제거 등) + search_candidates = [registry_name] + if '.' in registry_name: + search_candidates.append(registry_name.split('.')[0]) + + # 'iDRACAttributeRegistry'가 없다면 추가 (하드코딩 폴백) + if 'iDRACAttributeRegistry' not in search_candidates: + search_candidates.append('iDRACAttributeRegistry') + if 'iDRACRegistry' not in search_candidates: + search_candidates.append('iDRACRegistry') + + print(f"DEBUG: iDRAC Registry Candidates: {search_candidates}") + + for member in reg_data.get('Members', []): + m_url = member.get('@odata.id', '') + m_id = m_url.rstrip('/').split('/')[-1] + + match_found = False + for candidate in search_candidates: + if candidate.lower() in m_id.lower(): + match_found = True + break + + if match_found: + print(f"DEBUG: Found iDRAC Registry Match: {m_url}") + # 레지스트리 상세 조회 + detail_url = f"{self.base_url}{m_url}" + detail_res = self.session.get(detail_url, timeout=10) + if detail_res.status_code == 200: + detail_data = detail_res.json() + # Location 정보 찾기 (영어 버전 선호) + locations = detail_data.get('Location', []) + for loc in locations: + if loc.get('Language', '').startswith('en'): + target_location = loc.get('Uri') + break + if not target_location and locations: + target_location = locations[0].get('Uri') + + if target_location: + break + + # 3. Registry 파일(JSON) 다운로드 및 파싱 + if target_location: + # URI가 전체 경로가 아닐 수 있음 + if not target_location.startswith('http'): + final_url = f"{self.base_url}{target_location}" + else: + final_url = target_location + + print(f"Downloading iDRAC Registry from: {final_url}") + file_res = self.session.get(final_url, timeout=30) + + if file_res.status_code == 200: + reg_json = file_res.json() + mapping = {} + + # RegistryEntries 파싱 + attributes = [] + if 'RegistryEntries' in reg_json: + if 'Attributes' in reg_json['RegistryEntries']: + attributes = reg_json['RegistryEntries']['Attributes'] + else: + pass + elif 'Attributes' in reg_json: + attributes = reg_json['Attributes'] + + for entry in attributes: + attr_name = entry.get('AttributeName') + display_name = entry.get('DisplayName') + if attr_name and display_name: + mapping[attr_name] = display_name + + print(f"iDRAC Registry 파싱 완료: {len(mapping)}개 항목") + return mapping + + print(f"iDRAC Registry 위치를 찾을 수 없음 (TargetLocation: {target_location})") + return {} + + except Exception as e: + print(f"iDRAC Attribute Registry 조회 오류: {str(e)}") + return {} + + def get_system_info_detailed(self): + """ + 시스템 상세 정보 (CPU, Memory, Model 등) 조회 + """ + try: + url = f"{self.base_url}/redfish/v1/Systems/System.Embedded.1" + response = self.session.get(url, timeout=15) + + if response.status_code != 200: + return None + + data = response.json() + + info = { + 'Model': data.get('Model', 'Unknown'), + 'Manufacturer': data.get('Manufacturer', 'Unknown'), + 'SerialNumber': data.get('SerialNumber', 'Unknown'), + 'PowerState': data.get('PowerState', 'Unknown'), + 'BiosVersion': data.get('BiosVersion', 'Unknown'), + 'ProcessorSummary': { + 'Count': data.get('ProcessorSummary', {}).get('Count', 0), + 'Model': data.get('ProcessorSummary', {}).get('Model', 'Unknown'), + 'Status': data.get('ProcessorSummary', {}).get('Status', {}).get('Health', 'Unknown') + }, + 'MemorySummary': { + 'TotalSystemMemoryGiB': data.get('MemorySummary', {}).get('TotalSystemMemoryGiB', 0), + 'Status': data.get('MemorySummary', {}).get('Status', {}).get('Health', 'Unknown') + }, + 'HostName': data.get('HostName', '') + } + return info + + except Exception as e: + print(f"시스템 상세 조회 오류: {str(e)}") + return None + + def get_storage_configuration(self): + """ + RAID 컨트롤러 및 스토리지 구성 정보 조회 + Controllers, Volumes(RAID), Drives 정보 포함 + """ + try: + url = f"{self.base_url}/redfish/v1/Systems/System.Embedded.1/Storage" + response = self.session.get(url, timeout=20) + + if response.status_code != 200: + print(f"스토리지 조회 실패: {response.status_code}") + return {'Controllers': []} + + data = response.json() + controllers = [] + + for member in data.get('Members', []): + try: + ctrl_url = f"{self.base_url}{member['@odata.id']}" + ctrl_res = self.session.get(ctrl_url, timeout=10) + + if ctrl_res.status_code != 200: + continue + + ctrl_data = ctrl_res.json() + + # 1. 컨트롤러 기본 정보 + controller = { + 'Name': ctrl_data.get('Name', 'Unknown'), + 'Id': ctrl_data.get('Id', ''), + 'Model': ctrl_data.get('Model', ''), + 'FirmwareVersion': '', # 아래에서 찾음 + 'Status': ctrl_data.get('Status', {}).get('Health', 'Unknown'), + 'Volumes': [], + 'Drives': [] + } + + # 펌웨어 버전 찾기 (Controllers 리스트 내) + for c in ctrl_data.get('Controllers', []): + if 'FirmwareVersion' in c: + controller['FirmwareVersion'] = c['FirmwareVersion'] + break + + # 2. Volumes (Virtual Disks) + # Volumes가 링크로 되어있는 경우와 바로 있는 경우가 있음 + volumes_url = f"{ctrl_url}/Volumes" + vol_res = self.session.get(volumes_url, timeout=10) + + if vol_res.status_code == 200: + vol_data = vol_res.json() + for vol_member in vol_data.get('Members', []): + v_url = f"{self.base_url}{vol_member['@odata.id']}" + v_res = self.session.get(v_url, timeout=10) + if v_res.status_code == 200: + v_data = v_res.json() + controller['Volumes'].append({ + 'Name': v_data.get('Name', ''), + 'RaidType': v_data.get('RAIDType', 'Unknown'), # RAID0, RAID1, etc + 'CapacityBytes': v_data.get('CapacityBytes', 0), + 'BlockSizeBytes': v_data.get('BlockSizeBytes', 0), + 'Status': v_data.get('Status', {}).get('Health', 'Unknown') + }) + + # 3. Drives (Physical Disks) + drives_url = f"{ctrl_url}/Drives" + drv_res = self.session.get(drives_url, timeout=10) + + if drv_res.status_code == 200: + drv_data = drv_res.json() + for drv_member in drv_data.get('Members', []): + d_url = f"{self.base_url}{drv_member['@odata.id']}" + d_res = self.session.get(d_url, timeout=10) + if d_res.status_code == 200: + d_data = d_res.json() + controller['Drives'].append({ + 'Name': d_data.get('Name', ''), + 'Model': d_data.get('Model', ''), + 'Protocol': d_data.get('Protocol', 'Unknown'), # SATA, SAS, NVMe + 'MediaType': d_data.get('MediaType', 'Unknown'), # HDD, SSD + 'CapacityBytes': d_data.get('CapacityBytes', 0), + 'Status': d_data.get('Status', {}).get('Health', 'Unknown') + }) + + controllers.append(controller) + + except Exception as e: + print(f"컨트롤러 상세 조회 오류 ({member.get('@odata.id')}): {str(e)}") + + return {'Controllers': controllers} + + except Exception as e: + print(f"스토리지 구성 조회 오류: {str(e)}") + return {'Controllers': []} + + def get_nic_configuration(self): + """ + NIC 구성 정보 조회 (NetworkAdapters + DeviceFunctions) + """ + try: + url = f"{self.base_url}/redfish/v1/Systems/System.Embedded.1/NetworkAdapters" + response = self.session.get(url, timeout=15) + + if response.status_code != 200: + print(f"NIC 어댑터 목록 조회 실패: {response.status_code}") + return {'Adapters': []} + + data = response.json() + adapters = [] + + for member in data.get('Members', []): + try: + # 어댑터 기본 정보 + adp_url = f"{self.base_url}{member['@odata.id']}" + adp_res = self.session.get(adp_url, timeout=10) + if adp_res.status_code != 200: + continue + + adp_data = adp_res.json() + adapter = { + 'Id': adp_data.get('Id', ''), + 'Name': adp_data.get('Name', 'Unknown'), + 'Manufacturer': adp_data.get('Manufacturer', ''), + 'Model': adp_data.get('Model', ''), + 'SerialNumber': adp_data.get('SerialNumber', ''), + 'FirmwareVersion': '', # LinkStatus 등은 Port에 있음 + 'DeviceFunctions': [] + } + + # 펌웨어 버전 추출 + if 'FirmwarePackageVersion' in adp_data: + adapter['FirmwareVersion'] = adp_data['FirmwarePackageVersion'] + + # NetworkDeviceFunctions (iSCSI, PXE 등 설정) + funcs_url = f"{adp_url}/NetworkDeviceFunctions" + funcs_res = self.session.get(funcs_url, timeout=10) + + if funcs_res.status_code == 200: + funcs_data = funcs_res.json() + for f_mem in funcs_data.get('Members', []): + f_url = f"{self.base_url}{f_mem['@odata.id']}" + f_res = self.session.get(f_url, timeout=10) + if f_res.status_code == 200: + f_data = f_res.json() + # Dell 특화 Attributes 또는 표준 Redfish 속성 + func_info = { + 'Id': f_data.get('Id', ''), + 'Name': f_data.get('Name', ''), + 'NetBootPMMode': f_data.get('BootMode', 'Unknown'), # Legacy, UEFI + 'iSCSIBoot': {}, + 'Ethernet': {} + } + + # iSCSI Boot 속성 평탄화 + if 'iSCSIBoot' in f_data: + func_info['iSCSIBoot'] = f_data['iSCSIBoot'] + + # 이더넷 속성 (MAC 등) + if 'Ethernet' in f_data: + func_info['Ethernet'] = { + 'MACAddress': f_data['Ethernet'].get('MACAddress', ''), + 'MTUSize': f_data['Ethernet'].get('MTUSize', '') + } + + adapter['DeviceFunctions'].append(func_info) + + adapters.append(adapter) + + except Exception as e: + print(f"NIC 상세 조회 오류: {str(e)}") + + return {'Adapters': adapters} + + except Exception as e: + print(f"NIC 구성 조회 오류: {str(e)}") + return {'Adapters': []} + + def get_boot_settings(self): + """ + 부팅 설정 조회 (Boot Order, Boot Source Override) + """ + try: + url = f"{self.base_url}/redfish/v1/Systems/System.Embedded.1" + response = self.session.get(url, timeout=15) + + if response.status_code == 200: + data = response.json() + boot = data.get('Boot', {}) + return { + 'BootOrder': boot.get('BootOrder', []), + 'BootSourceOverrideTarget': boot.get('BootSourceOverrideTarget', 'None'), + 'BootSourceOverrideMode': boot.get('BootSourceOverrideMode', 'Legacy'), + 'BootSourceOverrideEnabled': boot.get('BootSourceOverrideEnabled', 'Disabled') + } + return {} + except Exception as e: + print(f"부팅 설정 조회 오류: {str(e)}") + return {} + + def get_firmware_baseline(self): + """ + Baseline 비교용 펌웨어 목록 (간소화) + """ + try: + inventory = self.get_firmware_inventory() + baseline_fw = {} + for item in inventory: + # 키: 컴포넌트 이름 (중복 시 타입/ID 병기하여 유니크하게 만들 필요 있음) + # 여기서는 단순화를 위해 Name을 Key로 사용하되, 중복되면 덮어씀 (일반적으로 주요 컴포넌트는 유니크함) + # 또는 {ComponentType}_{Name} 형식 추천 + key = item['Name'] + baseline_fw[key] = item['Version'] + return baseline_fw + except Exception as e: + print(f"펌웨어 Baseline 조회 오류: {str(e)}") + return {} diff --git a/backend/services/ip_processor.py b/backend/services/ip_processor.py index 3caba5a..0989ac2 100644 --- a/backend/services/ip_processor.py +++ b/backend/services/ip_processor.py @@ -54,8 +54,16 @@ def save_ip_addresses(ips: str, folder: str | os.PathLike[str]) -> list[tuple[st # 개별 IP 처리 # ───────────────────────────────────────────────────────────── -def _build_command(script: str, ip_file: str, xml_file: str | None) -> list[str]: - script_path = Path(Config.SCRIPT_FOLDER) / script +def _build_command(script: str, ip_file: str, xml_file: str | None, profile_name: str | None = None) -> list[str]: + # unified 스크립트는 data/scripts/unified 폴더에 있음 + # 기존 레거시 스크립트는 data/scripts 폴더에 있음 + # script 인자가 "unified/..." 로 시작하면 해당 경로 사용, 아니면 data/scripts 기준 + + if script.startswith("unified/"): + script_path = Path(Config.SCRIPT_FOLDER) / script + else: + script_path = Path(Config.SCRIPT_FOLDER) / script + if not script_path.exists(): raise FileNotFoundError(f"스크립트를 찾을 수 없습니다: {script_path}") @@ -73,14 +81,23 @@ def _build_command(script: str, ip_file: str, xml_file: str | None) -> list[str] else: raise ValueError(f"지원되지 않는 스크립트 형식: {script_path.suffix}") + # 프로파일이 있으면 추가 (unified 스크립트용) + if profile_name: + cmd.append(profile_name) + if xml_file: cmd.append(xml_file) return cmd -def process_ip(ip_file: str, script: str, xml_file: str | None = None) -> None: +def process_ip(ip_file: str, script: str, xml_file: str | None = None, profile_name: str | None = None, slot_priority: str | None = None) -> None: ip = Path(ip_file).read_text(encoding="utf-8").strip() - cmd = _build_command(script, ip_file, xml_file) + cmd = _build_command(script, ip_file, xml_file, profile_name) + + # 환경 변수 설정 (기존 환경 변수 복사 + 슬롯 우선순위 추가) + env = os.environ.copy() + if slot_priority: + env["GUID_SLOT_PRIORITY"] = slot_priority logging.info("🔧 실행 명령: %s", " ".join(cmd)) try: @@ -91,6 +108,7 @@ def process_ip(ip_file: str, script: str, xml_file: str | None = None) -> None: check=True, cwd=str(Path(Config.SCRIPT_FOLDER)), timeout=int(os.getenv("SCRIPT_TIMEOUT", "1800")), # 30분 기본 + env=env, ) logging.info("[%s] ✅ stdout:\n%s", ip, result.stdout) if result.stderr: @@ -105,14 +123,14 @@ def process_ip(ip_file: str, script: str, xml_file: str | None = None) -> None: # 병렬 처리 진입점 # ───────────────────────────────────────────────────────────── -def process_ips_concurrently(ip_files, job_id, observer: Observer, script: str, xml_file: str | None): +def process_ips_concurrently(ip_files, job_id, observer: Observer, script: str, xml_file: str | None, profile_name: str | None = None, slot_priority: str | None = None): total = len(ip_files) completed = 0 _set_progress(job_id, 0) try: with ThreadPoolExecutor(max_workers=Config.MAX_WORKERS) as pool: - futures = {pool.submit(process_ip, ip_path, script, xml_file): ip for ip, ip_path in ip_files} + futures = {pool.submit(process_ip, ip_path, script, xml_file, profile_name, slot_priority): ip for ip, ip_path in ip_files} for fut in as_completed(futures): ip = futures[fut] try: @@ -135,7 +153,7 @@ def process_ips_concurrently(ip_files, job_id, observer: Observer, script: str, # 외부에서 한 번에 처리(동기) # ───────────────────────────────────────────────────────────── -def handle_ip_processing(ip_text: str, script: str, xml_file: str | None = None) -> str: +def handle_ip_processing(ip_text: str, script: str, xml_file: str | None = None, profile_name: str | None = None) -> str: job_id = str(uuid.uuid4()) temp_dir = Path(Config.UPLOAD_FOLDER) / job_id @@ -148,5 +166,5 @@ def handle_ip_processing(ip_text: str, script: str, xml_file: str | None = None) observer.schedule(handler, Config.IDRAC_INFO_FOLDER, recursive=False) observer.start() - process_ips_concurrently(ip_files, job_id, observer, script, xml_path) + process_ips_concurrently(ip_files, job_id, observer, script, xml_path, profile_name, None) return job_id \ No newline at end of file diff --git a/telegram_bot_service.py b/backend/services/telegram_bot_service.py similarity index 99% rename from telegram_bot_service.py rename to backend/services/telegram_bot_service.py index 8d58fa1..943ec43 100644 --- a/telegram_bot_service.py +++ b/backend/services/telegram_bot_service.py @@ -170,4 +170,4 @@ def run_polling(flask_app: Flask) -> None: # v20 스타일: run_polling 은 동기 함수이고, 내부에서 이벤트 루프를 직접 관리함 application.run_polling(drop_pending_updates=True, stop_signals=[]) except Exception as e: - logger.exception("Error in bot polling: %s", e) \ No newline at end of file + logger.exception("Error in bot polling: %s", e) diff --git a/backend/snapshots/20260120_consolidation/css/index.css b/backend/snapshots/20260120_consolidation/css/index.css deleted file mode 100644 index b4cb392..0000000 --- a/backend/snapshots/20260120_consolidation/css/index.css +++ /dev/null @@ -1,132 +0,0 @@ -/* ===== 공통 파일 카드 컴팩트 스타일 ===== */ -.file-card-compact { - transition: all 0.2s ease; - background: #fff; - min-width: 120px; - max-width: 200px; -} - -.file-card-compact:hover { - box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1); - transform: translateY(-2px); -} - -.file-card-compact a { - font-size: 0.9rem; - overflow: hidden; - text-overflow: ellipsis; - max-width: 180px; -} - -/* ===== 목록별 버튼 분리 규칙 ===== */ - -/* 처리된 파일 목록 전용 컨테이너(보기/삭제 2열) */ -.processed-list .file-card-buttons { - display: grid; - grid-template-columns: 1fr 1fr; - gap: .5rem; -} - -/* 보기(처리된) */ -.processed-list .btn-view-processed { - border-color: #3b82f6; - color: #1d4ed8; - padding: .425rem .6rem; - font-size: .8125rem; - font-weight: 600; -} - -.processed-list .btn-view-processed:hover { - background: rgba(59, 130, 246, .08); -} - -/* 삭제(처리된) — 더 작게 */ -.processed-list .btn-delete-processed { - border-color: #ef4444; - color: #b91c1c; - padding: .3rem .5rem; - font-size: .75rem; - font-weight: 600; -} - -.processed-list .btn-delete-processed:hover { - background: rgba(239, 68, 68, .08); -} - -/* 백업 파일 목록 전용 컨테이너(단일 버튼) */ -.backup-list .file-card-single-button { - display: flex; - margin-top: .25rem; -} - -/* 보기(백업) — 강조 색상 */ -.backup-list .btn-view-backup { - width: 100%; - border-color: #10b981; - color: #047857; - padding: .45rem .75rem; - font-size: .8125rem; - font-weight: 700; -} - -.backup-list .btn-view-backup:hover { - background: rgba(16, 185, 129, .08); -} - -/* ===== 백업 파일 날짜 헤더 ===== */ -.list-group-item .bg-light { - transition: background-color 0.2s ease; -} - -.list-group-item:hover .bg-light { - background-color: #e9ecef !important; -} - -/* ===== 진행바 애니메이션 ===== */ -.progress { - border-radius: 10px; - overflow: hidden; -} - -.progress-bar { - transition: width 0.6s ease; -} - -/* ===== 반응형 텍스트 ===== */ -@media (max-width: 768px) { - .card-body { - padding: 1.5rem !important; - } -} - -/* ===== 스크롤바 스타일링(모달) ===== */ -.modal-body pre::-webkit-scrollbar { - width: 8px; - height: 8px; -} - -.modal-body pre::-webkit-scrollbar-track { - background: #f1f1f1; - border-radius: 4px; -} - -.modal-body pre::-webkit-scrollbar-thumb { - background: #888; - border-radius: 4px; -} - -.modal-body pre::-webkit-scrollbar-thumb:hover { - background: #555; -} - -/* 백업 파일 다중 선택 스타일 */ -.backup-file-item.selected .file-card-compact { - border-color: #0d6efd !important; - background-color: #e7f1ff !important; - box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.25); -} - -.file-card-compact { - transition: all 0.2s ease-in-out; - cursor: pointer; -} \ No newline at end of file diff --git a/backend/snapshots/20260120_consolidation/css/index_custom.css b/backend/snapshots/20260120_consolidation/css/index_custom.css deleted file mode 100644 index 6ec3f3e..0000000 --- a/backend/snapshots/20260120_consolidation/css/index_custom.css +++ /dev/null @@ -1,161 +0,0 @@ -/* Tom Select 미세 조정 */ -.ts-wrapper.form-select { - padding: 0 !important; - border: none !important; -} - -.ts-control { - border: 1px solid #dee2e6; - border-radius: 0.375rem; - padding: 0.375rem 0.75rem; -} - -.ts-wrapper.focus .ts-control { - border-color: #86b7fe; - box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); -} - -/* Quick Move 버튼 호버 효과 */ -.btn-quick-move { - transition: all 0.2s ease-in-out; -} - -.btn-quick-move:hover { - transform: translateY(-3px); - box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .1) !important; - background-color: #f8f9fa !important; - border-color: #dee2e6 !important; -} - -.btn-quick-move:active { - transform: translateY(0); -} - -/* Modern Minimalist Styles */ -.hover-bg-light { - transition: background-color 0.2s ease, border-color 0.2s ease; -} - -.hover-bg-light:hover { - background-color: #f8f9fa !important; - border-color: #dee2e6 !important; -} - -/* Slot Badge - Clean & Flat */ -.slot-badge { - position: relative; - padding: 0.4rem 0.8rem 0.4rem 2rem; - background: #ffffff; - border: 1px solid #e5e7eb; - border-radius: 9999px; - /* Pill shape */ - color: #374151; - font-weight: 600; - font-family: monospace; - font-size: 0.85rem; - transition: all 0.2s ease; - user-select: none; - display: flex; - align-items: center; -} - -.slot-badge:hover { - border-color: #3b82f6; - /* Primary Blue */ - color: #3b82f6; -} - -.slot-index { - position: absolute; - left: 0.35rem; - width: 1.3rem; - height: 1.3rem; - background: #f3f4f6; - color: #6b7280; - border-radius: 50%; - display: flex; - align-items: center; - justify-content: center; - font-size: 0.7rem; - font-weight: 700; -} - -/* Grid Layout for Preview */ -#slotPreview { - display: grid !important; - grid-template-columns: repeat(5, 1fr); - /* 5 items per line */ - gap: 0.5rem; - align-content: start; -} - -/* Slot Badge - Draggable & Card-like */ -.slot-badge { - position: relative; - padding: 0.5rem 0.2rem; - background: #ffffff; - border: 1px solid #e5e7eb; - border-radius: 0.5rem; - color: #374151; - font-weight: 600; - font-family: monospace; - font-size: 0.75rem; - /* Reduced font size */ - transition: all 0.2s ease; - user-select: none; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - cursor: grab; - height: 100%; - min-height: 80px; - overflow: hidden; - /* Prevent overflow */ - word-break: break-all; - /* Ensure wrapping if needed */ -} - -.slot-badge:active { - cursor: grabbing; -} - -.slot-badge:hover { - border-color: #3b82f6; - color: #3b82f6; - box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); - transform: translateY(-2px); -} - -.slot-index { - background: #f3f4f6; - color: #6b7280; - border-radius: 50%; - width: 24px; - height: 24px; - display: flex; - align-items: center; - justify-content: center; - font-size: 0.75rem; - font-weight: 700; - margin-bottom: 0.5rem; -} - -.slot-badge:hover .slot-index { - background: #eff6ff; - color: #3b82f6; -} - -/* Dragging state */ -.sortable-ghost { - opacity: 0.4; - background: #e2e8f0; - border: 1px dashed #94a3b8; -} - -.sortable-drag { - opacity: 1; - background: #fff; - box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1); - transform: scale(1.02); -} \ No newline at end of file diff --git a/backend/snapshots/20260120_consolidation/index.html b/backend/snapshots/20260120_consolidation/index.html deleted file mode 100644 index 4f81faa..0000000 --- a/backend/snapshots/20260120_consolidation/index.html +++ /dev/null @@ -1,705 +0,0 @@ -{% extends "base.html" %} - -{% block content %} - - -{# 파일 보기 모달 #} - - -{% endblock %} - -{% block extra_css %} - - - - -{% endblock %} - -{% block scripts %} -{{ super() }} - - - - - - - - - - - - - - - - - - - - - - - - - - -{% endblock %} \ No newline at end of file diff --git a/backend/snapshots/20260120_consolidation/js/index.js b/backend/snapshots/20260120_consolidation/js/index.js deleted file mode 100644 index a50365e..0000000 --- a/backend/snapshots/20260120_consolidation/js/index.js +++ /dev/null @@ -1,255 +0,0 @@ -document.addEventListener('DOMContentLoaded', () => { - - - - // ───────────────────────────────────────────────────────────── - // 스크립트 선택 시 XML 드롭다운 토글 - // ───────────────────────────────────────────────────────────── - const TARGET_SCRIPT = "02-set_config.py"; - const scriptSelect = document.getElementById('script'); - const xmlGroup = document.getElementById('xmlFileGroup'); - - function toggleXml() { - if (!scriptSelect || !xmlGroup) return; - if (scriptSelect.value === TARGET_SCRIPT) { - xmlGroup.style.display = 'block'; - xmlGroup.classList.add('fade-in'); - } else { - xmlGroup.style.display = 'none'; - } - } - - if (scriptSelect) { - toggleXml(); - scriptSelect.addEventListener('change', toggleXml); - } - - - // ───────────────────────────────────────────────────────────── - // 파일 보기 모달 - // ───────────────────────────────────────────────────────────── - const modalEl = document.getElementById('fileViewModal'); - const titleEl = document.getElementById('fileViewModalLabel'); - const contentEl = document.getElementById('fileViewContent'); - - if (modalEl) { - modalEl.addEventListener('show.bs.modal', async (ev) => { - const btn = ev.relatedTarget; - const folder = btn?.getAttribute('data-folder') || ''; - const date = btn?.getAttribute('data-date') || ''; - const filename = btn?.getAttribute('data-filename') || ''; - - titleEl.innerHTML = `${filename || '파일'}`; - contentEl.textContent = '불러오는 중...'; - - const params = new URLSearchParams(); - if (folder) params.set('folder', folder); - if (date) params.set('date', date); - if (filename) params.set('filename', filename); - - try { - const res = await fetch(`/view_file?${params.toString()}`, { cache: 'no-store' }); - if (!res.ok) throw new Error('HTTP ' + res.status); - - const data = await res.json(); - contentEl.textContent = data?.content ?? '(빈 파일)'; - } catch (e) { - contentEl.textContent = '파일을 불러오지 못했습니다: ' + (e?.message || e); - } - }); - } - - - // ───────────────────────────────────────────────────────────── - // 진행바 업데이트 - // ───────────────────────────────────────────────────────────── - window.updateProgress = function (val) { - const bar = document.getElementById('progressBar'); - if (!bar) return; - const v = Math.max(0, Math.min(100, Number(val) || 0)); - bar.style.width = v + '%'; - bar.setAttribute('aria-valuenow', v); - bar.innerHTML = `${v}%`; - }; - - - // ───────────────────────────────────────────────────────────── - // CSRF 토큰 - // ───────────────────────────────────────────────────────────── - const csrfToken = document.querySelector('input[name="csrf_token"]')?.value || ''; - - - // ───────────────────────────────────────────────────────────── - // IP 입력 데이터 보존 (Local Storage) - // ───────────────────────────────────────────────────────────── - const ipTextarea = document.getElementById('ips'); - const ipForm = document.getElementById('ipForm'); - const STORAGE_KEY_IP = 'ip_input_draft'; - - if (ipTextarea) { - // 1. 페이지 로드 시 저장된 값 복원 - const savedIps = localStorage.getItem(STORAGE_KEY_IP); - if (savedIps) { - ipTextarea.value = savedIps; - // 라인 수 업데이트 트리거 - if (window.updateIpCount) window.updateIpCount(); - } - - // 2. 입력 시마다 저장 - ipTextarea.addEventListener('input', () => { - localStorage.setItem(STORAGE_KEY_IP, ipTextarea.value); - // script.js에 있는 updateIpCount 호출 (있다면) - if (window.updateIpCount) window.updateIpCount(); - }); - - // 3. 폼 제출 성공 시 초기화? - // 사용자의 의도에 따라 다름: "변경이 되지 않는 이상 계속 가지고 있게" - // -> 제출 후에도 유지하는 것이 요청 사항에 부합함. - // 만약 '성공적으로 작업이 끝나면 지워달라'는 요청이 있으면 여기를 수정. - // 현재 요청: "페이지가 리셋이되도 변경이 되지 않는이상 계속 가지고있게" -> 유지. - } - - - // ───────────────────────────────────────────────────────────── - // 공통 POST 함수 - // ───────────────────────────────────────────────────────────── - async function postFormAndHandle(url) { - const res = await fetch(url, { - method: 'POST', - credentials: 'same-origin', - headers: { - 'X-CSRFToken': csrfToken, - 'Accept': 'application/json, text/html;q=0.9,*/*;q=0.8', - }, - }); - - const ct = (res.headers.get('content-type') || '').toLowerCase(); - - if (ct.includes('application/json')) { - const data = await res.json(); - if (data.success === false) { - throw new Error(data.error || ('HTTP ' + res.status)); - } - return data; - } - - return { success: true, html: true }; - } - - - - - - // ───────────────────────────────────────────────────────────── - // 알림 자동 닫기 - // ───────────────────────────────────────────────────────────── - setTimeout(() => { - document.querySelectorAll('.alert').forEach(alert => { - const bsAlert = new bootstrap.Alert(alert); - bsAlert.close(); - }); - }, 5000); - - - // ───────────────────────────────────────────────────────────── - // IP 스캔 로직 (Modal) - // ───────────────────────────────────────────────────────────── - const btnScan = document.getElementById('btnStartScan'); - if (btnScan) { - btnScan.addEventListener('click', async () => { - const startIp = '10.10.0.2'; - const endIp = '10.10.0.255'; - const ipsTextarea = document.getElementById('ips'); - const progressBar = document.getElementById('progressBar'); - - // UI 상태 변경 (로딩 중) - const originalIcon = btnScan.innerHTML; - btnScan.disabled = true; - btnScan.innerHTML = ''; - - // 메인 진행바 활용 - if (progressBar) { - const progressContainer = progressBar.closest('.progress'); - if (progressContainer) { - progressContainer.parentElement.classList.remove('d-none'); - } - progressBar.style.width = '100%'; - progressBar.classList.add('progress-bar-striped', 'progress-bar-animated'); - progressBar.textContent = 'IP 스캔 중...'; - } - - try { - const res = await fetch('/utils/scan_network', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - 'X-CSRFToken': csrfToken - }, - body: JSON.stringify({ start_ip: startIp, end_ip: endIp }) - }); - - // 1. 세션 만료로 인한 리다이렉트 감지 - if (res.redirected) { - alert('세션이 만료되었습니다. 다시 로그인해주세요.'); - window.location.reload(); - return; - } - - // 2. JSON 응답인지 확인 - const contentType = res.headers.get("content-type"); - if (!contentType || !contentType.includes("application/json")) { - const text = await res.text(); - if (text.includes("CSRF")) { - throw new Error("보안 토큰(CSRF)이 만료되었습니다. 페이지를 새로고침해주세요."); - } - throw new Error(`서버 응답 오류 (HTTP ${res.status}): ${text.substring(0, 100)}...`); - } - - const data = await res.json(); - - if (data.success) { - if (data.active_ips && data.active_ips.length > 0) { - ipsTextarea.value = data.active_ips.join('\n'); - // 이벤트 트리거 - ipsTextarea.dispatchEvent(new Event('input')); - - alert(`스캔 완료: ${data.active_ips.length}개의 활성 IP를 찾았습니다.`); - } else { - alert('활성 IP를 발견하지 못했습니다.'); - } - } else { - throw new Error(data.error || 'Unknown error'); - } - } catch (err) { - console.error(err); - alert('오류가 발생했습니다: ' + (err.message || err)); - } finally { - // 상태 복구 - btnScan.disabled = false; - btnScan.innerHTML = originalIcon; - - if (progressBar) { - // 진행바 초기화 - progressBar.style.width = '0%'; - progressBar.textContent = '0%'; - progressBar.classList.remove('progress-bar-striped', 'progress-bar-animated'); - } - } - }); - } - - // ───────────────────────────────────────────────────────────── - // IP 입력 지우기 버튼 - // ───────────────────────────────────────────────────────────── - const btnClear = document.getElementById('btnClearIps'); - if (btnClear) { - btnClear.addEventListener('click', () => { - const ipsTextarea = document.getElementById('ips'); - if (ipsTextarea) { - ipsTextarea.value = ''; - ipsTextarea.dispatchEvent(new Event('input')); // 로컬 스토리지 업데이트 및 카운트 갱신 트리거 - } - }); - } - -}); diff --git a/backend/snapshots/20260120_consolidation/js/index_custom.js b/backend/snapshots/20260120_consolidation/js/index_custom.js deleted file mode 100644 index c5a90e9..0000000 --- a/backend/snapshots/20260120_consolidation/js/index_custom.js +++ /dev/null @@ -1,443 +0,0 @@ -document.addEventListener('DOMContentLoaded', function () { - // Tom Select 초기화 - if (document.getElementById('script')) { - new TomSelect("#script", { - create: false, - sortField: { - field: "text", - direction: "asc" - }, - placeholder: "스크립트를 검색하거나 선택하세요...", - plugins: ['clear_button'], - allowEmptyOption: true, - }); - } - - // 슬롯 우선순위 로직 - const slotPriorityModal = document.getElementById('slotPriorityModal'); - if (slotPriorityModal) { - const slotNumbersInput = document.getElementById('slotNumbersInput'); - const slotCountDisplay = document.getElementById('slotCountDisplay'); - const slotPreview = document.getElementById('slotPreview'); - const slotPriorityInput = document.getElementById('slot_priority_input'); - const modalServerListContent = document.getElementById('modal_server_list_content'); - const serverListTextarea = document.getElementById('server_list_content'); - const slotPriorityForm = document.getElementById('slotPriorityForm'); - const btnClearSlots = document.getElementById('btnClearSlots'); - const presetCountInput = document.getElementById('presetCountInput'); - const btnApplyPreset = document.getElementById('btnApplyPreset'); - - // 기본 우선순위 데이터 (최대 10개) - const defaultPriority = ['38', '39', '37', '36', '32', '33', '34', '35', '31', '40']; - - function loadFromStorage() { - const saved = localStorage.getItem('guidSlotNumbers'); - if (saved) { - slotNumbersInput.value = saved; - } else { - slotNumbersInput.value = defaultPriority.join(', '); - } - if (presetCountInput) presetCountInput.value = 10; - updatePreview(); - } - - function saveToStorage() { - localStorage.setItem('guidSlotNumbers', slotNumbersInput.value); - } - - function parseSlots(input) { - if (!input || !input.trim()) return []; - return input.split(/[,\s\n]+/) - .map(s => s.trim()) - .filter(s => s !== '') - .filter(s => /^\d+$/.test(s)) - .filter((v, i, a) => a.indexOf(v) === i); - } - - let sortableInstance = null; - - function updatePreview() { - const slots = parseSlots(slotNumbersInput.value); - const count = slots.length; - - slotCountDisplay.textContent = `${count}개`; - slotCountDisplay.className = count > 0 - ? 'badge bg-primary text-white border border-primary rounded-pill px-3 py-1' - : 'badge bg-white text-dark border rounded-pill px-3 py-1'; - - if (count === 0) { - slotPreview.style.display = 'flex'; - slotPreview.innerHTML = ` -
    - - 프리셋을 선택하거나 번호를 입력하세요. -
    - `; - } else { - slotPreview.style.display = 'grid'; - let html = ''; - slots.forEach((slot, index) => { - html += ` -
    - ${index + 1} -
    Slot ${slot}
    -
    - `; - }); - slotPreview.innerHTML = html; - - if (!sortableInstance) { - sortableInstance = new Sortable(slotPreview, { - animation: 150, - ghostClass: 'sortable-ghost', - dragClass: 'sortable-drag', - onEnd: function (evt) { - updateInputFromPreview(); - } - }); - } - } - saveToStorage(); - } - - function updateInputFromPreview() { - const items = slotPreview.querySelectorAll('.slot-badge'); - const newSlots = Array.from(items).map(item => item.getAttribute('data-slot')); - slotNumbersInput.value = newSlots.join(', '); - items.forEach((item, index) => { - const idxSpan = item.querySelector('.slot-index'); - if (idxSpan) idxSpan.textContent = index + 1; - }); - saveToStorage(); - } - - if (btnApplyPreset) { - btnApplyPreset.addEventListener('click', function () { - let count = parseInt(presetCountInput.value); - if (isNaN(count) || count < 1) count = 1; - if (count > 10) count = 10; - presetCountInput.value = count; - const selected = defaultPriority.slice(0, count); - slotNumbersInput.value = selected.join(', '); - slotNumbersInput.style.transition = 'background-color 0.2s'; - slotNumbersInput.style.backgroundColor = '#f0f9ff'; - setTimeout(() => { - slotNumbersInput.style.backgroundColor = '#f8f9fa'; - }, 300); - updatePreview(); - }); - } - - slotNumbersInput.addEventListener('input', updatePreview); - btnClearSlots.addEventListener('click', function () { - if (confirm('입력된 내용을 모두 지우시겠습니까?')) { - slotNumbersInput.value = ''; - updatePreview(); - } - }); - slotPriorityModal.addEventListener('show.bs.modal', function () { - modalServerListContent.value = serverListTextarea.value; - loadFromStorage(); - }); - slotPriorityForm.addEventListener('submit', function (e) { - const slots = parseSlots(slotNumbersInput.value); - if (slots.length === 0) { - e.preventDefault(); - alert('최소 1개 이상의 슬롯을 입력하세요.'); - slotNumbersInput.focus(); - slotNumbersInput.classList.add('is-invalid'); - setTimeout(() => slotNumbersInput.classList.remove('is-invalid'), 2000); - return; - } - slotPriorityInput.value = slots.join(','); - saveToStorage(); - }); - } - - // 백업 파일 드래그 앤 드롭 이동 기능 - let selectedItems = new Set(); - const backupContainers = document.querySelectorAll('.backup-files-container'); - - document.addEventListener('click', function (e) { - const item = e.target.closest('.backup-file-item'); - if (item && !e.target.closest('a') && !e.target.closest('button')) { - if (e.ctrlKey || e.metaKey) { - toggleSelection(item); - } else { - const wasSelected = item.classList.contains('selected'); - clearSelection(); - if (!wasSelected) toggleSelection(item); - } - } else if (!e.target.closest('.backup-files-container')) { - // Optional: click outside behavior - } - }); - - document.addEventListener('mousedown', function (e) { - if (!e.target.closest('.backup-file-item') && !e.target.closest('.backup-files-container')) { - clearSelection(); - } - }); - - function toggleSelection(item) { - if (item.classList.contains('selected')) { - item.classList.remove('selected'); - selectedItems.delete(item); - } else { - item.classList.add('selected'); - selectedItems.add(item); - } - } - - function clearSelection() { - document.querySelectorAll('.backup-file-item.selected').forEach(el => el.classList.remove('selected')); - selectedItems.clear(); - } - - function updateFolderCount(folderDate) { - const container = document.querySelector(`.backup-files-container[data-folder="${folderDate}"]`); - if (container) { - const listItem = container.closest('.list-group-item'); - if (listItem) { - const badge = listItem.querySelector('.badge'); - if (badge) { - const count = container.children.length; - badge.textContent = `${count} 파일`; - } - } - } - } - - backupContainers.forEach(container => { - new Sortable(container, { - group: 'backup-files', - animation: 150, - ghostClass: 'sortable-ghost', - delay: 100, - delayOnTouchOnly: true, - onStart: function (evt) { - if (!evt.item.classList.contains('selected')) { - clearSelection(); - toggleSelection(evt.item); - } - }, - onEnd: function (evt) { - if (evt.to === evt.from) return; - - const sourceFolder = evt.from.getAttribute('data-folder'); - const targetFolder = evt.to.getAttribute('data-folder'); - - if (!sourceFolder || !targetFolder) { - alert('잘못된 이동 요청입니다.'); - location.reload(); - return; - } - - let itemsToMove = Array.from(selectedItems); - if (itemsToMove.length === 0) { - itemsToMove = [evt.item]; - } else { - if (!itemsToMove.includes(evt.item)) { - itemsToMove.push(evt.item); - } - } - - itemsToMove.forEach(item => { - if (item !== evt.item) { - evt.to.appendChild(item); - } - }); - - // Server Request - if (!window.APP_CONFIG) { - console.error("Window APP_CONFIG not found!"); - return; - } - - const promises = itemsToMove.map(item => { - const filename = item.getAttribute('data-filename'); - if (!filename) return Promise.resolve(); - - return fetch(window.APP_CONFIG.moveBackupUrl, { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - 'X-CSRFToken': window.APP_CONFIG.csrfToken - }, - body: JSON.stringify({ - filename: filename, - source_folder: sourceFolder, - target_folder: targetFolder - }) - }) - .then(response => response.json()) - .then(data => { - if (data.success) { - const btn = item.querySelector('.btn-view-backup'); - if (btn) btn.setAttribute('data-date', targetFolder); - - const link = item.querySelector('a[download]'); - if (link) { - const newHref = window.APP_CONFIG.downloadBaseUrl - .replace('PLACEHOLDER_DATE', targetFolder) - .replace('PLACEHOLDER_FILE', filename); - link.setAttribute('href', newHref); - } - } - return data; - }); - }); - - Promise.all(promises).then(results => { - updateFolderCount(sourceFolder); - updateFolderCount(targetFolder); - clearSelection(); - - const failed = results.filter(r => r && !r.success); - if (failed.length > 0) { - alert(failed.length + '개의 파일 이동 실패. 실패한 파일이 복구되지 않을 수 있으니 새로고침하세요.'); - location.reload(); - } - }).catch(err => { - console.error(err); - alert('이동 중 통신 오류 발생'); - }); - } - }); - }); - - // ───────────────────────────────────────────────────────────── - // Quick Move 버튼 중복 클릭 방지 (Race Condition 예방) - // ───────────────────────────────────────────────────────────── - // ───────────────────────────────────────────────────────────── - // Quick Move: 중복 처리 및 AJAX (Race Condition + Confirmation) - // ───────────────────────────────────────────────────────────── - const quickMoveForms = ['macMoveForm', 'guidMoveForm', 'gpuMoveForm']; - let pendingAction = null; // 대기 중인 재시도 액션 저장 - - // 모달 요소 - const dupModalEl = document.getElementById('duplicateCheckModal'); - const dupModal = dupModalEl ? new bootstrap.Modal(dupModalEl) : null; - const btnConfirmOverwrite = document.getElementById('btnConfirmOverwrite'); - - if (btnConfirmOverwrite) { - btnConfirmOverwrite.addEventListener('click', function () { - if (pendingAction) { - dupModal.hide(); - pendingAction(true); // overwrite=true로 재실행 - pendingAction = null; - } - }); - } - - quickMoveForms.forEach(id => { - const form = document.getElementById(id); - if (form) { - form.addEventListener('submit', function (e) { - e.preventDefault(); // 기본 제출 방지 (AJAX 사용) - - const btn = form.querySelector('button[type="submit"]'); - if (!btn || btn.disabled) return; - - const originalContent = btn.innerHTML; - - // 실행 함수 정의 (overwrite 여부 파라미터) - const executeMove = (overwrite = false) => { - // UI Lock - btn.classList.add('disabled'); - btn.disabled = true; - btn.innerHTML = '
    '; - - fetch(form.action, { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - 'X-CSRFToken': window.APP_CONFIG.csrfToken - }, - body: JSON.stringify({ - overwrite: overwrite - }) - }) - .then(response => { - if (!response.ok) { - throw new Error('Network response was not ok: ' + response.status); - } - const contentType = response.headers.get("content-type"); - if (!contentType || !contentType.includes("application/json")) { - throw new TypeError("Oops, we haven't got JSON!"); - } - return response.json(); - }) - .then(data => { - if (data.requires_confirmation) { - // 중복 발생 -> 모달 표시 (버튼 리셋 포함) - showDuplicateModal(data.duplicates, data.duplicate_count); - pendingAction = executeMove; - resetButton(); - } else if (data.success) { - // 성공 -> 리로드 - window.location.reload(); - } else { - // 에러 - alert(data.error || '작업이 실패했습니다.'); - resetButton(); - } - }) - .catch(err => { - console.error(err); - // HTTP 200 에러이거나 단순 JSON 파싱 문제지만 실제로는 성공했을 가능성 대비 - // (사용자 요청에 따라 HTTP 200 에러 알림 억제) - if (err.message && err.message.includes("200")) { - window.location.reload(); - return; - } - alert('서버 통신 오류가 발생했습니다: ' + err); - resetButton(); - }); - }; - - const resetButton = () => { - btn.classList.remove('disabled'); - btn.disabled = false; - btn.innerHTML = originalContent; - }; - - // 최초 실행 (overwrite=false) - executeMove(false); - }); - } - }); - - function showDuplicateModal(duplicates, count) { - const listEl = document.getElementById('dupList'); - const countEl = document.getElementById('dupCount'); - const moreEl = document.getElementById('dupMore'); - const moreCountEl = document.getElementById('dupMoreCount'); - - if (countEl) countEl.textContent = count; - - if (listEl) { - listEl.innerHTML = ''; - // 최대 10개만 표시 - const limit = 10; - const showList = duplicates.slice(0, limit); - - showList.forEach(name => { - const li = document.createElement('li'); - li.innerHTML = `${name}`; - listEl.appendChild(li); - }); - - if (duplicates.length > limit) { - if (moreEl) { - moreEl.style.display = 'block'; - moreCountEl.textContent = duplicates.length - limit; - } - } else { - if (moreEl) moreEl.style.display = 'none'; - } - } - - if (dupModal) dupModal.show(); - } -}); diff --git a/backend/snapshots/20260120_consolidation/script.js b/backend/snapshots/20260120_consolidation/script.js deleted file mode 100644 index 859781d..0000000 --- a/backend/snapshots/20260120_consolidation/script.js +++ /dev/null @@ -1,219 +0,0 @@ -// script.js - 정리된 버전 - -document.addEventListener('DOMContentLoaded', () => { - - // ───────────────────────────────────────────────────────────── - // CSRF 토큰 - // ───────────────────────────────────────────────────────────── - const csrfToken = document.querySelector('input[name="csrf_token"]')?.value || ''; - - - // ───────────────────────────────────────────────────────────── - // 진행바 업데이트 - // ───────────────────────────────────────────────────────────── - window.updateProgress = function (percent) { - const bar = document.getElementById('progressBar'); - if (!bar) return; - const v = Math.max(0, Math.min(100, Number(percent) || 0)); - bar.style.width = v + '%'; - bar.setAttribute('aria-valuenow', v); - bar.innerHTML = `${v}%`; - }; - - - // ───────────────────────────────────────────────────────────── - // 줄 수 카운터 - // ───────────────────────────────────────────────────────────── - function updateLineCount(textareaId, badgeId) { - const textarea = document.getElementById(textareaId); - const badge = document.getElementById(badgeId); - - if (!textarea || !badge) return; - - const updateCount = () => { - const text = textarea.value.trim(); - if (text === '') { - badge.textContent = '0줄'; - return; - } - const lines = text.split('\n').filter(line => line.trim().length > 0); - badge.textContent = `${lines.length}줄`; - }; - - updateCount(); - textarea.addEventListener('input', updateCount); - textarea.addEventListener('change', updateCount); - textarea.addEventListener('keyup', updateCount); - textarea.addEventListener('paste', () => setTimeout(updateCount, 10)); - } - - updateLineCount('ips', 'ipLineCount'); - updateLineCount('server_list_content', 'serverLineCount'); - - - // ───────────────────────────────────────────────────────────── - // 스크립트 선택 시 XML 드롭다운 토글 - // ───────────────────────────────────────────────────────────── - const TARGET_SCRIPT = "02-set_config.py"; - const scriptSelect = document.getElementById('script'); - const xmlGroup = document.getElementById('xmlFileGroup'); - - function toggleXml() { - if (!scriptSelect || !xmlGroup) return; - xmlGroup.style.display = (scriptSelect.value === TARGET_SCRIPT) ? 'block' : 'none'; - } - - if (scriptSelect) { - toggleXml(); - scriptSelect.addEventListener('change', toggleXml); - } - - - // ───────────────────────────────────────────────────────────── - // 파일 보기 모달 - // ───────────────────────────────────────────────────────────── - const modalEl = document.getElementById('fileViewModal'); - const titleEl = document.getElementById('fileViewModalLabel'); - const contentEl = document.getElementById('fileViewContent'); - - if (modalEl) { - modalEl.addEventListener('show.bs.modal', async (ev) => { - const btn = ev.relatedTarget; - const folder = btn?.getAttribute('data-folder') || ''; - const date = btn?.getAttribute('data-date') || ''; - const filename = btn?.getAttribute('data-filename') || ''; - - titleEl.innerHTML = `${filename || '파일'}`; - contentEl.textContent = '불러오는 중...'; - - const params = new URLSearchParams(); - if (folder) params.set('folder', folder); - if (date) params.set('date', date); - if (filename) params.set('filename', filename); - - try { - const res = await fetch(`/view_file?${params.toString()}`, { cache: 'no-store' }); - if (!res.ok) throw new Error('HTTP ' + res.status); - - const data = await res.json(); - contentEl.textContent = data?.content ?? '(빈 파일)'; - } catch (e) { - contentEl.textContent = '파일을 불러오지 못했습니다: ' + (e?.message || e); - } - }); - } - - - // ───────────────────────────────────────────────────────────── - // 공통 POST 함수 - // ───────────────────────────────────────────────────────────── - async function postFormAndHandle(url) { - const res = await fetch(url, { - method: 'POST', - credentials: 'same-origin', - headers: { - 'X-CSRFToken': csrfToken, - 'Accept': 'application/json, text/html;q=0.9,*/*;q=0.8', - }, - }); - - const ct = (res.headers.get('content-type') || '').toLowerCase(); - - if (ct.includes('application/json')) { - const data = await res.json(); - if (data.success === false) { - throw new Error(data.error || ('HTTP ' + res.status)); - } - return data; - } - - return { success: true, html: true }; - } - - - - - - // ───────────────────────────────────────────────────────────── - // IP 폼 제출 및 진행률 폴링 - // ───────────────────────────────────────────────────────────── - const ipForm = document.getElementById("ipForm"); - if (ipForm) { - ipForm.addEventListener("submit", async (ev) => { - ev.preventDefault(); - - const formData = new FormData(ipForm); - const btn = ipForm.querySelector('button[type="submit"]'); - const originalHtml = btn.innerHTML; - btn.disabled = true; - btn.innerHTML = '처리 중...'; - - try { - const res = await fetch(ipForm.action, { - method: "POST", - body: formData - }); - - if (!res.ok) throw new Error("HTTP " + res.status); - - const data = await res.json(); - console.log("[DEBUG] process_ips 응답:", data); - - if (data.job_id) { - pollProgress(data.job_id); - } else { - window.updateProgress(100); - setTimeout(() => location.reload(), 1000); - } - } catch (err) { - console.error("처리 중 오류:", err); - alert("처리 중 오류 발생: " + err.message); - btn.disabled = false; - btn.innerHTML = originalHtml; - } - }); - } - - - // ───────────────────────────────────────────────────────────── - // 진행률 폴링 함수 - // ───────────────────────────────────────────────────────────── - function pollProgress(jobId) { - const interval = setInterval(async () => { - try { - const res = await fetch(`/progress_status/${jobId}`); - if (!res.ok) { - clearInterval(interval); - return; - } - - const data = await res.json(); - - if (data.progress !== undefined) { - window.updateProgress(data.progress); - } - - if (data.progress >= 100) { - clearInterval(interval); - window.updateProgress(100); - setTimeout(() => location.reload(), 1500); - } - } catch (err) { - console.error('진행률 확인 중 오류:', err); - clearInterval(interval); - } - }, 500); - } - - - // ───────────────────────────────────────────────────────────── - // 알림 자동 닫기 (5초 후) - // ───────────────────────────────────────────────────────────── - setTimeout(() => { - document.querySelectorAll('.alert').forEach(alert => { - const bsAlert = new bootstrap.Alert(alert); - bsAlert.close(); - }); - }, 5000); - -}); \ No newline at end of file diff --git a/backend/snapshots/20260120_consolidation/style.css b/backend/snapshots/20260120_consolidation/style.css deleted file mode 100644 index ac64c18..0000000 --- a/backend/snapshots/20260120_consolidation/style.css +++ /dev/null @@ -1,534 +0,0 @@ -/* ───────────────────────────────────────────────────────────── - 기본 레이아웃 - ───────────────────────────────────────────────────────────── */ -body { - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Malgun Gothic", - "Apple SD Gothic Neo", "Noto Sans KR", sans-serif; - font-weight: 400; - background-color: #f8f9fa; - padding-top: 56px; -} - -.container-card { - background-color: #ffffff; - padding: 20px; - box-shadow: 0 0 15px rgba(0, 0, 0, 0.08); - border-radius: 8px; - margin-bottom: 20px; -} - - -/* ───────────────────────────────────────────────────────────── - 텍스트 및 제목 - 모두 일반 굵기 - ───────────────────────────────────────────────────────────── */ -h1, h2, h3, h4, h5, h6 { - color: #343a40; - font-weight: 400; -} - -.card-header h6 { - font-weight: 500; -} - - -/* ───────────────────────────────────────────────────────────── - 폼 요소 - 모두 일반 굵기 - ───────────────────────────────────────────────────────────── */ -.form-label { - color: #495057; - font-weight: 400; -} - -.form-control, .form-select { - border-radius: 5px; - border: 1px solid #ced4da; - font-weight: 400; - transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out; -} - -.form-control:focus, .form-select:focus { - border-color: #80bdff; - box-shadow: 0 0 0 0.25rem rgba(0, 123, 255, 0.25); -} - - -/* ───────────────────────────────────────────────────────────── - 버튼 - 일반 굵기 - ───────────────────────────────────────────────────────────── */ -.btn { - border-radius: 5px; - font-weight: 400; - transition: all 0.2s ease-in-out; -} - -.badge { - font-weight: 400; -} - - -/* ───────────────────────────────────────────────────────────── - 네비게이션 바 - ───────────────────────────────────────────────────────────── */ -.navbar { - background-color: #343a40 !important; -} - -.navbar-brand { - font-weight: 700; - color: #ffffff !important; -} - -.nav-link { - color: rgba(255, 255, 255, 0.75) !important; - font-weight: 400; -} - -.nav-link:hover { - color: #ffffff !important; -} - - -/* ───────────────────────────────────────────────────────────── - 카드 헤더 색상 (1번 이미지와 동일하게) - ───────────────────────────────────────────────────────────── */ -.card-header.bg-primary { - background-color: #007bff !important; - color: #ffffff !important; -} - -.card-header.bg-success { - background-color: #28a745 !important; - color: #ffffff !important; -} - -.card-header.bg-primary h6, -.card-header.bg-success h6 { - color: #ffffff !important; -} - -.card-header.bg-primary i, -.card-header.bg-success i { - color: #ffffff !important; -} - -/* 밝은 배경 헤더는 어두운 텍스트 */ -.card-header.bg-light { - background-color: #f8f9fa !important; - color: #343a40 !important; -} - -.card-header.bg-light h6 { - color: #343a40 !important; -} - -.card-header.bg-light i { - color: #343a40 !important; -} - - -/* ───────────────────────────────────────────────────────────── - 버튼 색상 (2번 이미지와 동일하게) - ───────────────────────────────────────────────────────────── */ -.btn-warning { - background-color: #ffc107 !important; - border-color: #ffc107 !important; - color: #000 !important; -} -.btn-warning:hover { - background-color: #e0a800 !important; - border-color: #d39e00 !important; - color: #000 !important; -} - -.btn-info { - background-color: #17a2b8 !important; - border-color: #17a2b8 !important; - color: #fff !important; -} -.btn-info:hover { - background-color: #138496 !important; - border-color: #117a8b !important; - color: #fff !important; -} - - -/* ───────────────────────────────────────────────────────────── - 진행바 - ───────────────────────────────────────────────────────────── */ -.progress { - border-radius: 10px; - overflow: hidden; -} - -.progress-bar { - transition: width 0.6s ease; -} - - -/* ───────────────────────────────────────────────────────────── - 파일 그리드 레이아웃 - 빈 공간 없이 채우기 - ───────────────────────────────────────────────────────────── */ -.file-grid { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); - gap: 1rem; -} - - -/* ───────────────────────────────────────────────────────────── - 파일 카드 (컴팩트) - ───────────────────────────────────────────────────────────── */ -.file-card-compact { - transition: all 0.2s ease; - background: #fff; - width: 100%; - max-width: 180px; /* 기본값 유지(카드가 너무 넓어지지 않도록) */ -} -.file-card-compact:hover { - box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1); - transform: translateY(-2px); -} -.file-card-compact a { - font-size: 0.85rem; - font-weight: 400; - overflow: hidden; - text-overflow: ellipsis; - max-width: 100%; -} - -/* 파일 카드 내 모든 텍스트 일반 굵기 */ -.file-card-compact, -.file-card-compact * { - font-weight: 400 !important; -} - - -/* ───────────────────────────────────────────────────────────── - (공통) 파일 카드 버튼 컨테이너 기본값 (기존 유지) - ───────────────────────────────────────────────────────────── */ -.file-card-buttons { /* 처리된 목록(2버튼) 기본 레이아웃 */ - display: flex; - gap: 0.15rem; -} -.file-card-buttons > button, -.file-card-buttons > form { - width: calc(50% - 0.075rem); -} -.file-card-buttons form { margin: 0; padding: 0; } -.file-card-buttons .btn-sm { - padding: 0.1rem 0.2rem !important; - font-size: 0.65rem !important; - width: 100%; - text-align: center; -} - -/* 1버튼(백업) 기본 레이아웃 */ -.file-card-single-button { - display: flex; - justify-content: center; -} -.file-card-single-button .btn-sm { - padding: 0.15rem 0.3rem !important; - font-size: 0.7rem !important; - min-width: 50px; - text-align: center; -} - - -/* ───────────────────────────────────────────────────────────── - (공통) Outline 기본값 (기존 유지) - ───────────────────────────────────────────────────────────── */ -.file-card-compact .btn-outline-primary { - background-color: transparent !important; - color: #0d6efd !important; - border: 1px solid #0d6efd !important; -} -.file-card-compact .btn-outline-primary:hover { - background-color: #0d6efd !important; - color: #fff !important; -} -.file-card-compact .btn-outline-danger { - background-color: transparent !important; - color: #dc3545 !important; - border: 1px solid #dc3545 !important; -} -.file-card-compact .btn-outline-danger:hover { - background-color: #dc3545 !important; - color: #fff !important; -} - -/* 기존 d-flex gap-2 레거시 대응 */ -.file-card-compact .d-flex.gap-2 { display: flex; gap: 0.2rem; } -.file-card-compact .d-flex.gap-2 > * { flex: 1; } -.file-card-compact .d-flex.gap-2 form { display: contents; } - - -/* ───────────────────────────────────────────────────────────── - !!! 목록별 버튼 스타일 "분리" 규칙 (HTML에 클래스만 달아주면 적용) - - processed-list 블록의 보기/삭제 - - backup-list 블록의 보기 - ───────────────────────────────────────────────────────────── */ - -/* 처리된 파일 목록(Processed) : 컨테이너 세부 튜닝 */ -.processed-list .file-card-buttons { - display: grid; - grid-template-columns: 1fr 1fr; /* 보기/삭제 2열 격자 */ - gap: 0.2rem; -} - -/* 보기(처리된) — 전용 클래스 우선 */ -.processed-list .btn-view-processed, -.processed-list .file-card-buttons .btn-outline-primary { /* (백워드 호환) */ - border-color: #3b82f6 !important; - color: #1d4ed8 !important; - background: transparent !important; - padding: .35rem .55rem !important; - font-size: .8rem !important; - font-weight: 600 !important; -} -.processed-list .btn-view-processed:hover, -.processed-list .file-card-buttons .btn-outline-primary:hover { - background: rgba(59,130,246,.10) !important; - color: #1d4ed8 !important; -} - -/* 삭제(처리된) — 전용 클래스 우선(더 작게) */ -.processed-list .btn-delete-processed, -.processed-list .file-card-buttons .btn-outline-danger { /* (백워드 호환) */ - border-color: #ef4444 !important; - color: #b91c1c !important; - background: transparent !important; - padding: .25rem .45rem !important; /* 더 작게 */ - font-size: .72rem !important; /* 더 작게 */ - font-weight: 600 !important; -} -.processed-list .btn-delete-processed:hover, -.processed-list .file-card-buttons .btn-outline-danger:hover { - background: rgba(239,68,68,.10) !important; - color: #b91c1c !important; -} - -/* 백업 파일 목록(Backup) : 1버튼 컨테이너 */ -.backup-list .file-card-single-button { - display: flex; - margin-top: .25rem; -} - -/* 보기(백업) — 전용 클래스 우선(초록계열), 기존 .btn-outline-primary 사용 시에도 분리 적용 */ -.backup-list .btn-view-backup, -.backup-list .file-card-single-button .btn-outline-primary { /* (백워드 호환) */ - width: 100%; - border-color: #10b981 !important; /* emerald-500 */ - color: #047857 !important; /* emerald-700 */ - background: transparent !important; - padding: .42rem .7rem !important; - font-size: .8rem !important; - font-weight: 700 !important; /* 백업은 강조 */ -} -.backup-list .btn-view-backup:hover, -.backup-list .file-card-single-button .btn-outline-primary:hover { - background: rgba(16,185,129,.12) !important; - color: #047857 !important; -} - - -/* ───────────────────────────────────────────────────────────── - [★ 보완] 버튼 크기 “완전 통일”(처리/백업 공통) - - 폰트/라인하이트/패딩을 변수화해서 두 목록 크기 동일 - - 기존 개별 padding/font-size를 덮어써서 시각적 높이 통일 - ───────────────────────────────────────────────────────────── */ -:root{ - --btn-font: .80rem; /* 버튼 폰트 크기 통일 지점 */ - --btn-line: 1.2; /* 버튼 라인하이트 통일 지점 */ - --btn-py: .32rem; /* 수직 패딩 */ - --btn-px: .60rem; /* 좌우 패딩 */ -} - -.processed-list .file-card-buttons .btn, -.backup-list .file-card-single-button .btn { - font-size: var(--btn-font) !important; - line-height: var(--btn-line) !important; - padding: var(--btn-py) var(--btn-px) !important; - min-height: calc(1em * var(--btn-line) + (var(--btn-py) * 2)) !important; -} - -/* 이전 규칙보다 더 구체적으로 동일 규격을 한 번 더 보장 */ -.processed-list .file-card-buttons .btn.btn-outline, -.backup-list .file-card-single-button .btn.btn-outline { - font-size: var(--btn-font) !important; - line-height: var(--btn-line) !important; - padding: var(--btn-py) var(--btn-px) !important; -} - - -/* ───────────────────────────────────────────────────────────── - [★ 보완] 카드 “자동 한줄 배치” - - 기존 Bootstrap .row.g-3를 Grid로 오버라이드(HTML 수정 無) - - 우측 여백 최소화, 화면 너비에 맞춰 자연스럽게 줄 수 변경 - ───────────────────────────────────────────────────────────── */ -.processed-list .card-body > .row.g-3, -.backup-list .card-body .row.g-3 { - display: grid !important; - grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); - gap: .75rem; -} - -/* 그리드 기준으로 카드 폭이 잘 늘어나도록 제한 완화 */ -.processed-list .file-card-compact, -.backup-list .file-card-compact { - max-width: none !important; /* 기존 180px 제한을 목록 구간에 한해 해제 */ - min-width: 160px; - width: 100%; -} - - -/* ───────────────────────────────────────────────────────────── - 반응형 파일 그리드 (기존 유지) - ───────────────────────────────────────────────────────────── */ -@media (max-width: 1400px) { - .file-grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); } -} -@media (max-width: 1200px) { - .file-grid { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); } -} -@media (max-width: 992px) { - .file-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); } -} -@media (max-width: 768px) { - .file-grid { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); } -} -@media (max-width: 576px) { - .file-grid { grid-template-columns: repeat(auto-fit, minmax(45%, 1fr)); } -} - - -/* ───────────────────────────────────────────────────────────── - 백업 파일 리스트 - ───────────────────────────────────────────────────────────── */ -.list-group-item .bg-light { - transition: background-color 0.2s ease; -} -.list-group-item:hover .bg-light { - background-color: #e9ecef !important; -} - - -/* ───────────────────────────────────────────────────────────── - 모달 - 파일 내용 보기 - ───────────────────────────────────────────────────────────── */ -#fileViewContent { - background-color: #f8f9fa; - border: 1px solid #e9ecef; - padding: 1rem; - border-radius: 5px; - max-height: 60vh; - overflow-y: auto; - font-weight: 400; -} - -.modal-body pre::-webkit-scrollbar { - width: 8px; - height: 8px; -} -.modal-body pre::-webkit-scrollbar-track { - background: #f1f1f1; - border-radius: 4px; -} -.modal-body pre::-webkit-scrollbar-thumb { - background: #888; - border-radius: 4px; -} -.modal-body pre::-webkit-scrollbar-thumb:hover { - background: #555; -} - - -/* ───────────────────────────────────────────────────────────── - 접근성 - Skip to content - ───────────────────────────────────────────────────────────── */ -.visually-hidden-focusable:not(:focus):not(:focus-within) { - position: absolute !important; - width: 1px !important; - height: 1px !important; - padding: 0 !important; - margin: -1px !important; - overflow: hidden !important; - clip: rect(0, 0, 0, 0) !important; - white-space: nowrap !important; - border: 0 !important; -} -.visually-hidden-focusable:focus { - position: fixed; - top: 0; - left: 0; - z-index: 9999; - padding: 1rem; - background: #000; - color: #fff; -} - - -/* ───────────────────────────────────────────────────────────── - 전역 폰트 굵기 강제 (Bootstrap 오버라이드) - ───────────────────────────────────────────────────────────── */ -* { font-weight: inherit; } -strong, b { font-weight: 600; } -label, .form-label, .card-title, .list-group-item strong { - font-weight: 400 !important; -} - - -/* ───────────────────────────────────────────────────────────── - 반응형 - ───────────────────────────────────────────────────────────── */ -@media (max-width: 768px) { - .card-body { - padding: 1.5rem !important; - } - body { - font-size: 0.95rem; - } -} - -/* === [FIX] 처리된 목록 보기/삭제 버튼 크기 완전 동일화 === */ - -/* 1) 그리드 두 칸을 꽉 채우게 강제 */ -.processed-list .file-card-buttons { - display: grid !important; - grid-template-columns: 1fr 1fr !important; - gap: .2rem !important; - align-items: stretch !important; /* 높이도 칸 높이에 맞춰 늘림 */ -} - -/* 2) 그리드 아이템(버튼/폼) 자체를 칸 너비로 확장 */ -.processed-list .file-card-buttons > * { - width: 100% !important; -} - -/* 3) 폼 안의 버튼도 100%로 확장 (폼이 그리드 아이템인 경우 대비) */ -.processed-list .file-card-buttons > form { display: block !important; } -.processed-list .file-card-buttons > form > button { - display: block !important; - width: 100% !important; -} - -/* 4) 예전 플렉스 기반 전역 규칙 덮어쓰기(폭 계산식 무력화) */ -.processed-list .file-card-buttons > button, -.processed-list .file-card-buttons > form { - width: 100% !important; -} - -/* 5) 폰트/라인하이트/패딩 통일(높이 동일) — 필요 시 수치만 조정 */ -:root{ - --btn-font: .80rem; - --btn-line: 1.2; - --btn-py: .32rem; - --btn-px: .60rem; -} -.processed-list .file-card-buttons .btn { - font-size: var(--btn-font) !important; - line-height: var(--btn-line) !important; - padding: var(--btn-py) var(--btn-px) !important; - min-height: calc(1em * var(--btn-line) + (var(--btn-py) * 2)) !important; - box-sizing: border-box; -} diff --git a/backend/snapshots/20260120_gpu_fix/utilities.py b/backend/snapshots/20260120_gpu_fix/utilities.py deleted file mode 100644 index c1e2ef2..0000000 --- a/backend/snapshots/20260120_gpu_fix/utilities.py +++ /dev/null @@ -1,526 +0,0 @@ -from __future__ import annotations -import os -import sys -import shutil -import subprocess -import logging -from pathlib import Path -from flask import Blueprint, request, redirect, url_for, flash, jsonify, send_file -from flask_login import login_required -from config import Config - -utils_bp = Blueprint("utils", __name__) - - -def register_util_routes(app): - app.register_blueprint(utils_bp) - - -@utils_bp.route("/move_mac_files", methods=["POST"]) -@login_required -def move_mac_files(): - src = Path(Config.IDRAC_INFO_FOLDER) - dst = Path(Config.MAC_FOLDER) - dst.mkdir(parents=True, exist_ok=True) - - moved = 0 - skipped = 0 - missing = 0 - errors = [] - - # JSON 요청 파싱 (overwrite 플래그 확인) - data = request.get_json(silent=True) or {} - overwrite = data.get("overwrite", False) - - # 1. 대상 파일 스냅샷 (이동 시도할, 또는 해야할 파일들) - try: - current_files = [f for f in src.iterdir() if f.is_file()] - except Exception as e: - logging.error(f"파일 목록 조회 실패: {e}") - return jsonify({"success": False, "error": str(e)}) - - # [중복 체크 로직] 덮어쓰기 모드가 아닐 때, 미리 중복 검사 - if not overwrite: - duplicates = [] - for file in current_files: - target = dst / file.name - if target.exists(): - duplicates.append(file.name) - - if duplicates: - return jsonify({ - "success": False, - "requires_confirmation": True, - "duplicates": duplicates, - "duplicate_count": len(duplicates) - }) - else: - logging.warning(f"⚠️ [MAC] 덮어쓰기 모드 활성화됨 - 중복 파일을 덮어씁니다.") - - total_target_count = len(current_files) - - # 카운터 - moved_count = 0 # 내가 직접 옮김 (또는 덮어씀) - verified_count = 0 # 최종적으로 목적지에 있음을 확인 (성공) - lost_count = 0 # 소스에도 없고 목적지에도 없음 (진짜 유실?) - errors = [] - - for file in current_files: - target = dst / file.name - - # [Step 1] 이미 목적지에 있는지 확인 - if target.exists(): - if overwrite: - # 덮어쓰기 모드: 기존 파일 삭제 후 이동 진행 (또는 바로 move로 덮어쓰기) - # shutil.move는 대상이 존재하면 에러가 날 수 있으므로(버전/OS따라 다름), 안전하게 삭제 시도 - try: - # Windows에서는 사용 중인 파일 삭제 시 에러 발생 가능 - # shutil.move(src, dst)는 dst가 존재하면 덮어쓰기 시도함 (Python 3.x) - pass - except Exception: - pass - else: - # (중복 체크를 통과했거나 Race Condition으로 생성된 경우) -> 이미 완료된 것으로 간주 - verified_count += 1 - logging.info(f"⏭️ 파일 이미 존재 (Skipped): {file.name}") - continue - - # [Step 2] 소스에 있는지 확인 (Race Condition) - if not file.exists(): - if target.exists(): - verified_count += 1 - continue - else: - lost_count += 1 - logging.warning(f"❓ 이동 중 사라짐: {file.name}") - continue - - # [Step 3] 이동 시도 (덮어쓰기 포함) - try: - shutil.move(str(file), str(target)) - moved_count += 1 - verified_count += 1 - except shutil.Error as e: - # shutil.move might raise Error if destination exists depending on implementation, - # but standard behavior overwrites if not same file. - # If exact same file, verified. - if target.exists(): - verified_count += 1 - else: - errors.append(f"{file.name}: {str(e)}") - except FileNotFoundError: - # 옮기려는 찰나에 사라짐 -> 목적지 재확인 - if target.exists(): - verified_count += 1 - logging.info(f"⏭️ 동시 처리됨 (완료): {file.name}") - else: - lost_count += 1 - except Exception as e: - # 권한 에러 등 진짜 실패 - error_msg = f"{file.name}: {str(e)}" - errors.append(error_msg) - logging.error(f"❌ 이동 에러: {error_msg}") - - # 결과 요약 - msg = f"총 {total_target_count}건 중 {verified_count}건 처리 완료" - if moved_count < verified_count: - msg += f" (이동: {moved_count}, 이미 완료: {verified_count - moved_count})" - - if lost_count > 0: - msg += f", 확인 불가: {lost_count}" - - logging.info(f"✅ MAC 처리 결과: {msg}") - flash(msg, "success" if lost_count == 0 else "warning") - - return jsonify({ - "success": True, - "total": total_target_count, - "verified": verified_count, - "message": msg, - "errors": errors if errors else None - }) - - -@utils_bp.route("/move_guid_files", methods=["POST"]) -@login_required -def move_guid_files(): - src = Path(Config.IDRAC_INFO_FOLDER) - dst = Path(Config.GUID_FOLDER) - dst.mkdir(parents=True, exist_ok=True) - - moved = 0 - skipped = 0 - missing = 0 - errors = [] - - # JSON 요청 파싱 (overwrite 플래그 확인) - data = request.get_json(silent=True) or {} - overwrite = data.get("overwrite", False) - - try: - files = [f for f in src.iterdir() if f.is_file()] - except Exception: - files = [] - - # [중복 체크] - if not overwrite: - duplicates = [] - for file in files: - target = dst / file.name - if target.exists(): - duplicates.append(file.name) - if duplicates: - return jsonify({ - "success": False, - "requires_confirmation": True, - "duplicates": duplicates, - "duplicate_count": len(duplicates) - }) - else: - logging.warning(f"⚠️ [GUID] 덮어쓰기 모드 활성화됨 - 중복 파일을 덮어씁니다.") - - total_target_count = len(files) - verified_count = 0 - moved_count = 0 - errors = [] - lost_count = 0 - - try: - for file in files: - target = dst / file.name - - # 1. 이미 완료되었는지 확인 - if target.exists(): - if not overwrite: - verified_count += 1 - continue - # overwrite=True면 계속 진행하여 덮어쓰기 시도 - - # 2. 소스 확인 - if not file.exists(): - if target.exists(): verified_count += 1 - else: lost_count += 1 - continue - - # 3. 이동 - try: - shutil.move(str(file), str(target)) - moved_count += 1 - verified_count += 1 - except FileNotFoundError: - if target.exists(): verified_count += 1 - else: lost_count += 1 - except Exception as e: - errors.append(f"{file.name}: {e}") - - # 상세 메시지 - msg = f"총 {total_target_count}건 중 {verified_count}건 처리 완료" - logging.info(f"✅ GUID 처리: {msg}") - flash(msg, "success" if lost_count == 0 else "warning") - - return jsonify({ - "success": True, - "total": total_target_count, - "verified": verified_count, - "message": msg, - "errors": errors if errors else None - }) - - except Exception as e: - logging.error(f"❌ GUID 이동 중 오류: {e}") - return jsonify({"success": False, "error": str(e)}) - -@utils_bp.route("/move_gpu_files", methods=["POST"]) -@login_required -def move_gpu_files(): - """ - data/idrac_info → data/gpu_serial 로 GPU 시리얼 텍스트 파일 이동 - """ - src = Path(Config.IDRAC_INFO_FOLDER) # 예: data/idrac_info - dst = Path(Config.GPU_FOLDER) # 예: data/gpu_serial - dst.mkdir(parents=True, exist_ok=True) - - moved = 0 - skipped = 0 - missing = 0 - errors = [] - - # JSON 요청 파싱 - data = request.get_json(silent=True) or {} - overwrite = data.get("overwrite", False) - - try: - all_files = [f for f in src.iterdir() if f.is_file()] - files = [f for f in all_files if f.name.lower().endswith(".txt")] - except Exception: - files = [] - - # [중복 체크] - if not overwrite: - duplicates = [] - for file in files: - target = dst / file.name - if target.exists(): - duplicates.append(file.name) - if duplicates: - return jsonify({ - "success": False, - "requires_confirmation": True, - "duplicates": duplicates, - "duplicate_count": len(duplicates) - }) - else: - logging.warning(f"⚠️ [GPU] 덮어쓰기 모드 활성화됨 - 중복 파일을 덮어씁니다.") - - total_target_count = len(files) - verified_count = 0 - moved_count = 0 - errors = [] - lost_count = 0 - - try: - for file in files: - target = dst / file.name - - # 1. 존재 확인 (덮어쓰기 아닐 경우) - if target.exists(): - if not overwrite: - verified_count += 1 - continue - - # 2. 소스 확인 - if not file.exists(): - if target.exists(): verified_count += 1 - else: lost_count += 1 - continue - - # 3. 이동 - try: - shutil.move(str(file), str(target)) - moved_count += 1 - verified_count += 1 - except FileNotFoundError: - if target.exists(): verified_count += 1 - else: lost_count += 1 - except Exception as e: - errors.append(f"{file.name}: {e}") - - # 상세 메시지 - msg = f"총 {total_target_count}건 중 {verified_count}건 처리 완료" - logging.info(f"✅ GPU 처리: {msg}") - flash(msg, "success") - - return jsonify({ - "success": True, - "total": total_target_count, - "verified": verified_count, - "message": msg, - "errors": errors if errors else None - }) - - except Exception as e: - logging.error(f"❌ GPU 이동 오류: {e}") - return jsonify({"success": False, "error": str(e)}) - -@utils_bp.route("/update_server_list", methods=["POST"]) -@login_required -def update_server_list(): - content = request.form.get("server_list_content") - if not content: - flash("내용을 입력하세요.", "warning") - return redirect(url_for("main.index")) - - path = Path(Config.SERVER_LIST_FOLDER) / "server_list.txt" - try: - path.write_text(content, encoding="utf-8") - result = subprocess.run( - [sys.executable, str(Path(Config.SERVER_LIST_FOLDER) / "excel.py")], - capture_output=True, - text=True, - check=True, - cwd=str(Path(Config.SERVER_LIST_FOLDER)), - timeout=300, - ) - logging.info(f"서버 리스트 스크립트 실행 결과: {result.stdout}") - flash("서버 리스트가 업데이트되었습니다.", "success") - except subprocess.CalledProcessError as e: - logging.error(f"서버 리스트 스크립트 오류: {e.stderr}") - flash(f"스크립트 실행 실패: {e.stderr}", "danger") - except Exception as e: - logging.error(f"서버 리스트 처리 오류: {e}") - flash(f"서버 리스트 처리 중 오류 발생: {e}", "danger") - - return redirect(url_for("main.index")) - - -@utils_bp.route("/update_guid_list", methods=["POST"]) -@login_required -def update_guid_list(): - content = request.form.get("server_list_content") - slot_priority = request.form.get("slot_priority", "") # 슬롯 우선순위 받기 - - if not content: - flash("내용을 입력하세요.", "warning") - return redirect(url_for("main.index")) - - path = Path(Config.SERVER_LIST_FOLDER) / "guid_list.txt" - try: - path.write_text(content, encoding="utf-8") - - # 슬롯 우선순위를 환경변수로 전달 - env = os.environ.copy() - if slot_priority: - env["GUID_SLOT_PRIORITY"] = slot_priority - logging.info(f"GUID 슬롯 우선순위: {slot_priority}") - - result = subprocess.run( - [sys.executable, str(Path(Config.SERVER_LIST_FOLDER) / "GUIDtxtT0Execl.py")], - capture_output=True, - text=True, - check=True, - cwd=str(Path(Config.SERVER_LIST_FOLDER)), - timeout=300, - env=env, # 환경변수 전달 - ) - logging.info(f"GUID 리스트 스크립트 실행 결과: {result.stdout}") - flash("GUID 리스트가 업데이트되었습니다.", "success") - except subprocess.CalledProcessError as e: - logging.error(f"GUID 리스트 스크립트 오류: {e.stderr}") - flash(f"스크립트 실행 실패: {e.stderr}", "danger") - except Exception as e: - logging.error(f"GUID 리스트 처리 오류: {e}") - flash(f"GUID 리스트 처리 중 오류 발생: {e}", "danger") - - return redirect(url_for("main.index")) - -@utils_bp.route("/update_gpu_list", methods=["POST"]) -@login_required -def update_gpu_list(): - """ - GPU 시리얼용 리스트(gpu_serial_list.txt)를 갱신하고 Excel을 생성합니다. - - form name="gpu_list_content" 로 내용 전달 (S/T 목록 라인별) - - txt_to_excel.py --preset gpu --list-file - """ - content = request.form.get("server_list_content") - if not content: - flash("내용을 입력하세요.", "warning") - return redirect(url_for("main.index")) - - server_list_dir = Path(Config.SERVER_LIST_FOLDER) - list_path = server_list_dir / "gpu_list.txt" - # txt_to_excel.py는 server_list 폴더에 둔다고 가정 (위치 다르면 경로만 수정) - script_path = server_list_dir / "GPUTOExecl.py" - - try: - # 1) gpu_serial_list.txt 저장 - list_path.write_text(content, encoding="utf-8") - - # 2) 엑셀 생성 실행 (GPU 프리셋) - cmd = [ - sys.executable, - str(script_path), - "--preset", "gpu", - "--list-file", str(list_path), - ] - result = subprocess.run( - cmd, - capture_output=True, - text=True, - check=True, - cwd=str(server_list_dir), # data/server_list 기준 실행 - timeout=300, - ) - logging.info(f"[GPU] 리스트 스크립트 실행 STDOUT:\n{result.stdout}") - if result.stderr: - logging.warning(f"[GPU] 리스트 스크립트 STDERR:\n{result.stderr}") - - flash("GPU 리스트가 업데이트되었습니다.", "success") - except subprocess.CalledProcessError as e: - logging.error(f"[GPU] 스크립트 오류: {e.stderr}") - flash(f"스크립트 실행 실패: {e.stderr}", "danger") - except Exception as e: - logging.error(f"[GPU] 처리 오류: {e}") - flash(f"GPU 리스트 처리 중 오류 발생: {e}", "danger") - - return redirect(url_for("main.index")) - - logging.info(f"엑셀 파일 다운로드: {path}") - return send_file(str(path), as_attachment=True, download_name="mac_info.xlsx") - - -@utils_bp.route("/scan_network", methods=["POST"]) -@login_required -def scan_network(): - """ - 지정된 IP 범위(Start ~ End)에 대해 Ping 테스트를 수행하고 - 응답이 있는 IP 목록을 반환합니다. - """ - try: - import ipaddress - import platform - import concurrent.futures - - data = request.get_json(force=True, silent=True) or {} - start_ip_str = data.get('start_ip') - end_ip_str = data.get('end_ip') - - if not start_ip_str or not end_ip_str: - return jsonify({"success": False, "error": "시작 IP와 종료 IP를 모두 입력해주세요."}), 400 - - try: - start_ip = ipaddress.IPv4Address(start_ip_str) - end_ip = ipaddress.IPv4Address(end_ip_str) - - if start_ip > end_ip: - return jsonify({"success": False, "error": "시작 IP가 종료 IP보다 큽니다."}), 400 - - # IP 개수 제한 (너무 많은 스캔 방지, 예: C클래스 2개 분량 512개) - if int(end_ip) - int(start_ip) > 512: - return jsonify({"success": False, "error": "스캔 범위가 너무 넓습니다. (최대 512개)"}), 400 - - except ValueError: - return jsonify({"success": False, "error": "유효하지 않은 IP 주소 형식입니다."}), 400 - - # Ping 함수 정의 - def ping_ip(ip_obj): - ip = str(ip_obj) - param = '-n' if platform.system().lower() == 'windows' else '-c' - timeout_param = '-w' if platform.system().lower() == 'windows' else '-W' - # Windows: -w 200 (ms), Linux: -W 1 (s) - timeout_val = '200' if platform.system().lower() == 'windows' else '1' - - command = ['ping', param, '1', timeout_param, timeout_val, ip] - - try: - # shell=False로 보안 강화, stdout/stderr 무시 - res = subprocess.run(command, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) - return ip if res.returncode == 0 else None - except Exception: - return None - - active_ips = [] - - # IP 리스트 생성 - target_ips = [] - temp_ip = start_ip - while temp_ip <= end_ip: - target_ips.append(temp_ip) - temp_ip += 1 - - # 병렬 처리 (최대 50 쓰레드) - with concurrent.futures.ThreadPoolExecutor(max_workers=50) as executor: - results = executor.map(ping_ip, target_ips) - - # 결과 수집 (None 제외) - active_ips = [ip for ip in results if ip is not None] - - return jsonify({ - "success": True, - "active_ips": active_ips, - "count": len(active_ips), - "message": f"스캔 완료: {len(active_ips)}개의 활성 IP 발견" - }) - - except Exception as e: - logging.error(f"Scan network fatal error: {e}") - return jsonify({"success": False, "error": f"서버 내부 오류: {str(e)}"}), 500 \ No newline at end of file diff --git a/backend/snapshots/20260120_log_resize/admin_logs.html b/backend/snapshots/20260120_log_resize/admin_logs.html deleted file mode 100644 index a7c1c75..0000000 --- a/backend/snapshots/20260120_log_resize/admin_logs.html +++ /dev/null @@ -1,245 +0,0 @@ -{% extends "base.html" %} - -{% block title %}시스템 로그 - Dell Server Info{% endblock %} - -{% block extra_css %} - -{% endblock %} - -{% block content %} -
    - -
    -
    -

    - 시스템 로그 -

    -

    최근 생성된 1000줄의 시스템 로그를 실시간으로 확인합니다.

    -
    - -
    - -
    - -
    -
    -
    - - -
    - -
    - - - - - - - - -
    -
    - -
    - - - 새로고침 - -
    -
    - - -
    -
    -
    -
    로그 뷰어를 불러오는 중...
    -
    -
    -
    -
    -{% endblock %} - -{% block scripts %} - - - - -{% endblock %} \ No newline at end of file diff --git a/backend/snapshots/20260120_processed_count/index.html b/backend/snapshots/20260120_processed_count/index.html deleted file mode 100644 index d240243..0000000 --- a/backend/snapshots/20260120_processed_count/index.html +++ /dev/null @@ -1,699 +0,0 @@ -{% extends "base.html" %} - -{% block content %} -
    - - - - {# 헤더 섹션 #} -
    -
    -

    - - 서버 관리 대시보드 -

    -

    IP 처리 및 파일 관리를 위한 통합 관리 도구

    -
    -
    - - {# 메인 작업 영역 #} -
    - {# IP 처리 카드 #} -
    -
    -
    -
    - - IP 처리 -
    -
    -
    -
    - - - {# 스크립트 선택 #} -
    - -
    - - {# XML 파일 선택 (조건부) #} - - - {# IP 주소 입력 #} -
    - - -
    - -
    - -
    -
    -
    -
    -
    - - {# 공유 작업 카드 #} -
    -
    -
    -
    - - 공유 작업 -
    -
    -
    -
    - - -
    - - -
    - -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    -
    -
    -
    -
    - - {# 진행바 #} -
    -
    -
    -
    -
    - - 처리 진행률 -
    -
    -
    - 0% -
    -
    -
    -
    -
    -
    - - {# 파일 관리 도구 #} -
    -
    -
    -
    -
    - - 파일 관리 도구 -
    -
    - -
    -
    - - -
    - -
    -
    -
    -
    - ZIP -
    -
    - -
    - - -
    -
    -
    -
    -
    - - -
    -
    -
    -
    - 백업 -
    -
    - -
    - - -
    -
    -
    -
    -
    -
    - - -
    -
    - - 파일 정리 (Quick Move) - -
    - -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - {# 처리된 파일 목록 #} -
    -
    -
    -
    -
    - - 처리된 파일 목록 -
    -
    -
    - {% if files_to_display and files_to_display|length > 0 %} -
    - {% for file_info in files_to_display %} -
    -
    - - {{ file_info.name or file_info.file }} - -
    - -
    - - -
    -
    -
    -
    - {% endfor %} -
    - - - {% if total_pages > 1 %} - - {% endif %} - - - {% else %} -
    - -

    표시할 파일이 없습니다.

    -
    - {% endif %} -
    -
    -
    -
    - - {# 백업된 파일 목록 #} -
    -
    -
    -
    -
    - - 백업된 파일 목록 -
    -
    -
    - {% if backup_files and backup_files|length > 0 %} -
    - {% for date, info in backup_files.items() %} -
    -
    -
    - - {{ date }} - {{ info.count }} 파일 -
    - -
    -
    -
    -
    - {% for file in info.files %} -
    - -
    - {% endfor %} -
    -
    -
    -
    - {% endfor %} -
    - - - {% if total_backup_pages > 1 %} - - {% endif %} - {% else %} -
    - -

    백업된 파일이 없습니다.

    -
    - {% endif %} -
    -
    -
    -
    - -
    - -{# 파일 보기 모달 #} - - -{% endblock %} - -{% block extra_css %} - - -{% endblock %} - -{% block scripts %} -{{ super() }} - - - - - - - - - - - - - - - - - - - - - - -{% endblock %} \ No newline at end of file diff --git a/backend/static/js/bios_baseline.js b/backend/static/js/bios_baseline.js new file mode 100644 index 0000000..6413099 --- /dev/null +++ b/backend/static/js/bios_baseline.js @@ -0,0 +1,721 @@ +/** + * BIOS Baseline 비교 JavaScript + * backend/static/js/bios_baseline.js + */ + +// 전역 변수 +let baselines = []; +let comparisonResults = []; +let showDiffOnly = true; + +// ======================================== +// 초기화 +// ======================================== + +document.addEventListener('DOMContentLoaded', () => { + loadBaselines(); + + // IP 입력 카운트 업데이트 + document.getElementById('ip-addresses').addEventListener('input', updateIPCount); + + // Baseline 생성 폼 제출 + document.getElementById('create-baseline-form').addEventListener('submit', handleCreateBaseline); +}); + +// ======================================== +// Baseline 관리 +// ======================================== + +async function loadBaselines() { + try { + const res = await fetch('/bios-baseline/api/baselines'); + const data = await res.json(); + + if (data.success) { + baselines = data.baselines; + renderBaselineSelect(); + } + } catch (e) { + console.error('Baseline 로드 실패:', e); + } +} + +function renderBaselineSelect() { + const select = document.getElementById('baseline-select'); + select.innerHTML = ''; + + baselines.forEach(baseline => { + const option = document.createElement('option'); + option.value = baseline.id; + option.textContent = `${baseline.name} (${baseline.server_model})`; + select.appendChild(option); + }); +} + +function showBaselineManageModal() { + const modal = new bootstrap.Modal(document.getElementById('baseline-manage-modal')); + modal.show(); + loadBaselineList(); +} + +async function loadBaselineList() { + const container = document.getElementById('baseline-list'); + container.innerHTML = '
    로딩 중...
    '; + + try { + const res = await fetch('/bios-baseline/api/baselines'); + const data = await res.json(); + + if (data.success && data.baselines.length > 0) { + let html = '
    '; + data.baselines.forEach(baseline => { + html += ` +
    +
    +
    +
    ${baseline.name}
    +

    + ${baseline.server_model} + ${baseline.server_type ? `${baseline.server_type}` : ''} +

    +

    + ${baseline.description || '설명 없음'} +

    +

    + ${baseline.total_settings}개 설정 + ${new Date(baseline.created_at).toLocaleDateString()} +

    +
    +
    + + + +
    +
    +
    + `; + }); + html += '
    '; + container.innerHTML = html; + } else { + container.innerHTML = '
    등록된 Baseline이 없습니다
    '; + } + } catch (e) { + container.innerHTML = '
    로드 실패
    '; + } +} + +async function handleCreateBaseline(e) { + e.preventDefault(); + + const data = { + ip_address: document.getElementById('create-ip').value, + username: document.getElementById('create-username').value, + password: document.getElementById('create-password').value, + name: document.getElementById('create-name').value, + server_type: document.getElementById('create-type').value, + description: document.getElementById('create-description').value, + created_by: 'admin' + }; + + try { + const res = await fetch('/bios-baseline/api/baselines/create-from-server', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(data) + }); + + const result = await res.json(); + + if (result.success) { + alert('✓ Baseline 생성 완료!'); + document.getElementById('create-baseline-form').reset(); + loadBaselines(); + loadBaselineList(); + } else { + alert('✗ 생성 실패: ' + result.message); + } + } catch (e) { + alert('✗ 오류: ' + e.message); + } +} + +async function duplicateBaseline(baselineId) { + const newName = prompt('새 Baseline 이름을 입력하세요:'); + if (!newName) return; + + try { + const res = await fetch(`/bios-baseline/api/baselines/${baselineId}/duplicate`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ new_name: newName }) + }); + + const result = await res.json(); + + if (result.success) { + alert('✓ Baseline 복사 완료!'); + loadBaselines(); + loadBaselineList(); + } else { + alert('✗ 복사 실패: ' + result.message); + } + } catch (e) { + alert('✗ 오류: ' + e.message); + } +} + +// Baseline 삭제 +async function deleteBaseline(baselineId) { + if (!confirm('정말 이 Baseline을 삭제하시겠습니까?')) return; + + try { + const res = await fetch(`/bios-baseline/api/baselines/${baselineId}`, { + method: 'DELETE' + }); + + const result = await res.json(); + + if (result.success) { + alert('✓ Baseline 삭제 완료!'); + loadBaselines(); + loadBaselineList(); + } else { + alert('✗ 삭제 실패: ' + result.message); + } + } catch (e) { + alert('✗ 오류: ' + e.message); + } +} + +// ======================================== +// Baseline 상세 편집 +// ======================================== + +async function editBaseline(baselineId) { + try { + const res = await fetch(`/bios-baseline/api/baselines/${baselineId}`); + const data = await res.json(); + + if (data.success) { + const baseline = data.baseline; + currentBaselineId = baselineId; // 전역 변수 설정 + + // 메타데이터 채우기 + document.getElementById('edit-id').value = baseline.id; + document.getElementById('edit-name').value = baseline.name; + document.getElementById('edit-model').value = baseline.server_model; + document.getElementById('edit-type').value = baseline.server_type || ''; + document.getElementById('edit-description').value = baseline.description || ''; + document.getElementById('edit-created-at').textContent = baseline.created_at || '-'; + document.getElementById('edit-source-ip').textContent = baseline.source_ip || '-'; + + // BIOS, iDRAC, Firmware Table 렌더링 + renderEditTable('bios', baseline.bios_data || {}); + renderEditTable('idrac', baseline.idrac_data || {}); + renderEditTable('firmware', baseline.firmware_data || {}); + + // RAID, NIC, Boot는 JSON Textarea에 표시 + document.getElementById('json-edit-raid').value = JSON.stringify(baseline.raid_data || {}, null, 4); + document.getElementById('json-edit-nic').value = JSON.stringify(baseline.nic_data || {}, null, 4); + document.getElementById('json-edit-boot').value = JSON.stringify(baseline.boot_data || {}, null, 4); + + // 모달 표시 + const modal = new bootstrap.Modal(document.getElementById('edit-baseline-modal')); + modal.show(); + + // 첫 번째 탭(BIOS) 활성화 + const firstTab = new bootstrap.Tab(document.querySelector('#tab-edit-bios')); + firstTab.show(); + } else { + alert('로드 실패: ' + data.message); + } + } catch (e) { + alert('오류: ' + e.message); + } +} + +function renderEditTable(type, settings) { + const tbody = document.querySelector(`#table-edit-${type} tbody`); + tbody.innerHTML = ''; + + const entries = Object.entries(settings).sort((a, b) => a[0].localeCompare(b[0])); + document.getElementById(`edit-${type}-count`).textContent = entries.length; + + entries.forEach(([key, value]) => { + addSettingRow(type, key, value); + }); +} + +function addSettingRow(type, key = '', value = '') { + const tbody = document.querySelector(`#table-edit-${type} tbody`); + const tr = document.createElement('tr'); + + tr.innerHTML = ` + + + + + + `; + + // 새 행은 맨 위에 추가 (비어있을 경우) 혹은 맨 아래 + if (!key) { + tbody.prepend(tr); + tr.querySelector('.setting-key').focus(); + } else { + tbody.appendChild(tr); + } +} + +function removeSettingRow(btn, type) { + btn.closest('tr').remove(); + updateSettingsCount(type); +} + +function updateSettingsCount(type) { + const count = document.querySelectorAll(`#table-edit-${type} tbody tr`).length; + document.getElementById(`edit-${type}-count`).textContent = count; +} + +async function saveBaselineChanges() { + const id = document.getElementById('edit-id').value; + const name = document.getElementById('edit-name').value; + + if (!name) { + alert('Baseline 이름을 입력하세요.'); + return; + } + + // Helper function to collect table data + const collectTableData = (type) => { + const data = {}; + const rows = document.querySelectorAll(`#table-edit-${type} tbody tr`); + rows.forEach(row => { + const key = row.querySelector('.setting-key').value.trim(); + const value = row.querySelector('.setting-value').value.trim(); + if (key) data[key] = value; + }); + return data; + }; + + const biosData = collectTableData('bios'); + const idracData = collectTableData('idrac'); + const firmwareData = collectTableData('firmware'); + + // JSON Data Parsing + let raidData = {}; + let nicData = {}; + let bootData = {}; + + try { + raidData = JSON.parse(document.getElementById('json-edit-raid').value || '{}'); + } catch (e) { + alert('RAID 구성 JSON 형식이 올바르지 않습니다.'); + return; + } + + try { + nicData = JSON.parse(document.getElementById('json-edit-nic').value || '{}'); + } catch (e) { + alert('NIC 설정 JSON 형식이 올바르지 않습니다.'); + return; + } + + try { + bootData = JSON.parse(document.getElementById('json-edit-boot').value || '{}'); + } catch (e) { + alert('부팅 설정 JSON 형식이 올바르지 않습니다.'); + return; + } + + const payload = { + name: name, + server_type: document.getElementById('edit-type').value, + description: document.getElementById('edit-description').value, + bios_data: biosData, + idrac_data: idracData, + raid_data: raidData, + nic_data: nicData, + boot_data: bootData, + firmware_data: firmwareData + }; + + try { + const res = await fetch(`/bios-baseline/api/baselines/${currentBaselineId}`, { + method: 'PUT', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(payload) + }); + + const result = await res.json(); + + if (result.success) { + alert('✓ 변경사항이 저장되었습니다!'); + const modalEl = document.getElementById('edit-baseline-modal'); + const modal = bootstrap.Modal.getInstance(modalEl); + modal.hide(); + loadBaselines(); + loadBaselineList(); + } else { + alert('✗ 저장 실패: ' + result.message); + } + } catch (e) { + alert('✗ 오류: ' + e.message); + } +} + +// ======================================== +// 비교 기능 +// ======================================== + +async function startComparison() { + const baselineId = document.getElementById('baseline-select').value; + const ipText = document.getElementById('ip-addresses').value; + const username = document.getElementById('username').value; + const password = document.getElementById('password').value; + + if (!baselineId) { + alert('Baseline을 선택하세요'); + return; + } + + if (!ipText.trim()) { + alert('서버 IP를 입력하세요'); + return; + } + + if (!password) { + alert('비밀번호를 입력하세요'); + return; + } + + // IP 파싱 + const ipAddresses = ipText.split(/[\n,\s]+/).filter(ip => ip.trim()); + + if (ipAddresses.length === 0) { + alert('유효한 IP 주소가 없습니다'); + return; + } + + // 진행률 표시 + document.getElementById('progress-section').style.display = 'block'; + document.getElementById('results-section').style.display = 'none'; + updateProgress(0, ipAddresses.length); + + try { + const res = await fetch('/bios-baseline/api/compare', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ + ip_addresses: ipAddresses, + baseline_id: parseInt(baselineId), + username: username, + password: password + }) + }); + + const data = await res.json(); + + if (data.success) { + comparisonResults = data.results; + + // Toggle 버튼 초기 상태 설정 + const toggleBtn = document.getElementById('diff-only-btn'); + if (showDiffOnly) { + toggleBtn.classList.add('active'); + } else { + toggleBtn.classList.remove('active'); + } + + renderSummary(data.baseline, data.results); + renderResults(data.results); + document.getElementById('results-section').style.display = 'block'; + } else { + alert('비교 실패: ' + data.message); + } + } catch (e) { + alert('오류: ' + e.message); + } finally { + document.getElementById('progress-section').style.display = 'none'; + } +} + +function updateProgress(current, total) { + const percent = Math.round((current / total) * 100); + const bar = document.getElementById('progress-bar'); + bar.style.width = percent + '%'; + bar.querySelector('span').textContent = percent + '%'; +} + +function renderSummary(baseline, results) { + const successResults = results.filter(r => r.status === 'success'); + const totalServers = results.length; + const successCount = successResults.length; + const failedCount = totalServers - successCount; + + let totalMatched = 0; + let totalMismatched = 0; + let perfectMatchCount = 0; + + successResults.forEach(r => { + totalMatched += r.matched_items; + totalMismatched += r.mismatched_items; + if (r.mismatched_items === 0) perfectMatchCount++; + }); + + const avgMatchRate = successCount > 0 + ? Math.round((totalMatched / (totalMatched + totalMismatched)) * 100) + : 0; + + const html = ` +
    +
    +
    +
    + +

    ${totalServers}

    +

    총 서버

    +
    +
    +
    +
    +
    +
    + +

    ${avgMatchRate}%

    +

    평균 일치율

    +
    +
    +
    +
    +
    +
    + +

    ${totalMismatched}

    +

    불일치 항목

    +
    +
    +
    +
    +
    +
    + +

    ${perfectMatchCount}

    +

    완전 일치

    +
    +
    +
    +
    +
    +

    + Baseline: ${baseline.name} (${baseline.server_model}) + 총 설정: ${baseline.total_settings}개 +

    +
    + `; + + document.getElementById('summary-section').innerHTML = html; +} + +function renderResults(results) { + const container = document.getElementById('results-container'); + + if (results.length === 0) { + container.innerHTML = '

    결과가 없습니다

    '; + return; + } + + let html = '
    '; + + results.forEach((result, index) => { + const statusClass = result.status === 'success' + ? (result.mismatched_items === 0 ? 'success' : 'warning') + : 'danger'; + const statusIcon = result.status === 'success' + ? (result.mismatched_items === 0 ? 'check-circle-fill' : 'exclamation-triangle-fill') + : 'x-circle-fill'; + + html += ` +
    +

    + +

    +
    +
    + ${renderServerDetail(result)} +
    +
    +
    + `; + }); + + html += '
    '; + container.innerHTML = html; +} + +function renderServerDetail(result) { + if (result.status !== 'success') { + return `
    ${result.message}
    `; + } + + // 통계바 + let html = ` +
    +
    +
    모델: ${result.server_model}
    +
    Service Tag: ${result.service_tag}
    +
    BIOS: ${result.bios_version}
    +
    +
    +
    + ${result.match_rate}% 일치 +
    +
    + ${result.mismatched_items} 불일치 +
    +
    +
    + `; + + // 탭 헤더 생성 (Nav Pills) + const uid = Math.random().toString(36).substr(2, 9); // 유니크 ID + html += ` + + +
    + `; + + // 섹션별 Diff 필터링 + const diffs = result.differences || []; + + // 탭 콘텐츠 생성 Helper + const renderTabPane = (section, id, isActive = false) => { + const sectionDiffs = diffs.filter(d => d.section === section); + // 섹션 이름이 영어로 저장되어 있다고 가정 (BIOS, iDRAC, RAID, NIC, Boot, Firmware) + return ` +
    + ${renderDiffTable(sectionDiffs, `${section} 설정이 기준과 일치합니다.`)} +
    `; + }; + + html += renderTabPane('BIOS', 'bios', true); + html += renderTabPane('iDRAC', 'idrac'); + html += renderTabPane('RAID', 'raid'); + html += renderTabPane('NIC', 'nic'); + html += renderTabPane('Boot', 'boot'); + html += renderTabPane('Firmware', 'firmware'); + + html += `
    `; // tab-content end + + return html; +} + +function renderDiffTable(diffs, emptyMsg) { + if (diffs.length === 0) { + return `
    ${emptyMsg}
    `; + } + + if (showDiffOnly && diffs.every(d => d.status !== 'mismatch')) { + return `
    ${emptyMsg} (필터링됨)
    `; + } + + let html = ` + + + + + + + + + + `; + + diffs.forEach(diff => { + const isMismatch = diff.status === 'mismatch'; + const rowClass = isMismatch ? 'table-danger' : ''; + + if (!showDiffOnly || isMismatch) { + html += ` + + + + + + `; + } + }); + + html += '
    항목기준값 (Baseline)실제값 (Server)
    + ${diff.display_name ? `${diff.display_name}
    ${diff.setting_name}` : `${diff.setting_name}`} +
    ${diff.expected}${diff.actual}
    '; + return html; +} + +function toggleDiffOnly() { + showDiffOnly = !showDiffOnly; + const btn = document.getElementById('diff-only-btn'); + btn.classList.toggle('active'); + renderResults(comparisonResults); +} + +function downloadResults() { + alert('Excel 다운로드 기능은 곧 추가될 예정입니다.'); +} + +// ======================================== +// 유틸리티 +// ======================================== + +function updateIPCount() { + const ipText = document.getElementById('ip-addresses').value; + const ips = ipText.split(/[\n,\s]+/).filter(ip => ip.trim()); + document.getElementById('ip-count').textContent = ips.length; +} + +function clearIPs() { + document.getElementById('ip-addresses').value = ''; + updateIPCount(); +} diff --git a/backend/static/js/dashboard.js b/backend/static/js/dashboard.js index eb96ddf..c6955aa 100644 --- a/backend/static/js/dashboard.js +++ b/backend/static/js/dashboard.js @@ -15,8 +15,14 @@ document.addEventListener('DOMContentLoaded', () => { const bar = document.getElementById('progressBar'); if (!bar) return; const v = Math.max(0, Math.min(100, Number(val) || 0)); - - // 부모 컨테이너가 숨겨져 있다면 표시 + + // 부모 컨테이너(섹션)가 숨겨져 있다면 표시 + const section = document.getElementById('progressSection'); + if (section && section.style.display === 'none') { + section.style.display = 'block'; + } + + // (Legacy support) 부모 컨테이너가 숨겨져 있다면 표시 const progressContainer = bar.closest('.progress'); if (progressContainer && progressContainer.parentElement.classList.contains('d-none')) { progressContainer.parentElement.classList.remove('d-none'); @@ -25,8 +31,87 @@ document.addEventListener('DOMContentLoaded', () => { bar.style.width = v + '%'; bar.setAttribute('aria-valuenow', v); bar.innerHTML = `${v}%`; - - // 100% 도달 시 애니메이션 효과 제어 등은 필요 시 추가 + }; + + /** + * 테이블 정렬 함수 + * @param {string} tableId - 테이블 ID + * @param {number} colIdx - 정렬할 컬럼 인덱스 (0부터 시작) + */ + window.sortTable = function (tableId, colIdx) { + const table = document.getElementById(tableId); + if (!table) return; + const tbody = table.querySelector('tbody'); + const rows = Array.from(tbody.querySelectorAll('tr')); + + // 데이터가 없거나 1개 뿐이면 패스 + if (rows.length <= 1) return; + if (rows[0].querySelector('td[colspan]')) return; // "파일이 없습니다" 행 + + const th = table.querySelectorAll('th')[colIdx]; + let asc = !th.classList.contains('sorted-asc'); // 현재 상태의 반대로 토글 + + // 모든 헤더 초기화 + table.querySelectorAll('th').forEach(h => { + h.classList.remove('sorted-asc', 'sorted-desc'); + const icon = h.querySelector('i'); + if (icon) icon.className = 'bi bi-arrow-down-up small text-muted'; + }); + + // 현재 헤더 상태 업데이트 + th.classList.add(asc ? 'sorted-asc' : 'sorted-desc'); + const icon = th.querySelector('i'); + if (icon) icon.className = asc ? 'bi bi-sort-down-alt text-primary' : 'bi bi-sort-up-alt text-primary'; + + // 정렬 + rows.sort((rowA, rowB) => { + const cellA = rowA.children[colIdx]; + const cellB = rowB.children[colIdx]; + + // data-sort 속성이 있으면 그것을 우선 사용 (날짜/숫자 등) + const valA = cellA.dataset.sort || cellA.textContent.trim(); + const valB = cellB.dataset.sort || cellB.textContent.trim(); + + const isNum = !isNaN(parseFloat(valA)) && isFinite(valA) && !isNaN(parseFloat(valB)) && isFinite(valB); + + if (isNum) { + return asc ? (parseFloat(valA) - parseFloat(valB)) : (parseFloat(valB) - parseFloat(valA)); + } else { + return asc ? valA.localeCompare(valB) : valB.localeCompare(valA); + } + }); + + // 다시 추가 (재정렬) + rows.forEach(row => tbody.appendChild(row)); + }; + + /** + * 테이블 필터링 함수 + * @param {string} tableId - 테이블 ID + * @param {string} text - 검색어 + */ + window.filterTable = function (tableId, text) { + const table = document.getElementById(tableId); + if (!table) return; + const tbody = table.querySelector('tbody'); + const rows = tbody.querySelectorAll('tr'); + const query = text.toLowerCase().trim(); + + let visibleCount = 0; + rows.forEach(row => { + if (row.querySelector('td[colspan]')) return; // 메시지 행 제외 + + // 첫 번째 셀(파일명)만 검색 대상이라고 가정하거나, 전체 텍스트 검색 + const rowText = row.textContent.toLowerCase(); + if (rowText.includes(query)) { + row.style.display = ''; + visibleCount++; + } else { + row.style.display = 'none'; + } + }); + + // 검색 결과 없음 처리 (Optional) }; // 줄 수 카운터 (script.js에서 가져옴) @@ -88,7 +173,7 @@ document.addEventListener('DOMContentLoaded', () => { // TomSelect 적용 전/후 모두 대응하기 위해 이벤트 리스너 등록 toggleXml(); scriptSelect.addEventListener('change', toggleXml); - + // TomSelect 초기화 new TomSelect("#script", { create: false, @@ -135,9 +220,9 @@ document.addEventListener('DOMContentLoaded', () => { // 진행바 표시 및 초기화 const progressContainer = progressBar.closest('.progress'); if (progressContainer && progressContainer.parentElement) { - // 이미 존재하는 row 등을 찾아서 보여주기 (필요시) + // 이미 존재하는 row 등을 찾아서 보여주기 (필요시) } - + window.updateProgress(100); // 스캔 중임을 알리기 위해 꽉 채움 (애니메이션) progressBar.classList.add('progress-bar-striped', 'progress-bar-animated'); progressBar.textContent = 'IP 스캔 중...'; @@ -185,6 +270,9 @@ document.addEventListener('DOMContentLoaded', () => { if (progressBar) { window.updateProgress(0); progressBar.classList.remove('progress-bar-striped', 'progress-bar-animated'); + + const section = document.getElementById('progressSection'); + if (section) section.style.display = 'none'; } } }); @@ -194,11 +282,11 @@ document.addEventListener('DOMContentLoaded', () => { const btnClear = document.getElementById('btnClearIps'); if (btnClear) { btnClear.addEventListener('click', () => { - const ipsTextarea = document.getElementById('ips'); - if (ipsTextarea && confirm('입력된 IP 목록을 모두 지우시겠습니까?')) { - ipsTextarea.value = ''; - ipsTextarea.dispatchEvent(new Event('input')); - } + const ipsTextarea = document.getElementById('ips'); + if (ipsTextarea && confirm('입력된 IP 목록을 모두 지우시겠습니까?')) { + ipsTextarea.value = ''; + ipsTextarea.dispatchEvent(new Event('input')); + } }); } @@ -209,6 +297,15 @@ document.addEventListener('DOMContentLoaded', () => { ev.preventDefault(); const formData = new FormData(ipForm); + + // [NEW] GUID 작업 시 로컬 스토리지의 슬롯 우선순위 추가 + const jobType = formData.get('job_type'); + if (jobType === 'guid') { + const savedPriority = localStorage.getItem('guidSlotNumbers'); + if (savedPriority) { + formData.append('slot_priority', savedPriority); + } + } const btn = ipForm.querySelector('button[type="submit"]'); const originalHtml = btn.innerHTML; btn.disabled = true; @@ -226,7 +323,7 @@ document.addEventListener('DOMContentLoaded', () => { if (!res.ok) throw new Error("HTTP " + res.status); const data = await res.json(); - + if (data.job_id) { // 비동기 작업 시작됨 -> 폴링 시작 pollProgress(data.job_id); @@ -323,7 +420,7 @@ document.addEventListener('DOMContentLoaded', () => { if (!wasSelected) toggleSelection(item); } } else if (!e.target.closest('.backup-files-container')) { - // 배경 클릭 시 선택 해제? (UX에 따라 결정, 여기선 일단 패스) + // 배경 클릭 시 선택 해제? (UX에 따라 결정, 여기선 일단 패스) } }); @@ -365,7 +462,7 @@ document.addEventListener('DOMContentLoaded', () => { // Sortable 초기화 backupContainers.forEach(container => { if (typeof Sortable === 'undefined') return; - + new Sortable(container, { group: 'backup-files', animation: 150, @@ -421,23 +518,23 @@ document.addEventListener('DOMContentLoaded', () => { target_folder: targetFolder }) }) - .then(r => r.json()) - .then(data => { - if (data.success) { - // 속성 업데이트 (다운로드 링크 등) - const btn = item.querySelector('.btn-view-backup'); - if (btn) btn.setAttribute('data-date', targetFolder); + .then(r => r.json()) + .then(data => { + if (data.success) { + // 속성 업데이트 (다운로드 링크 등) + const btn = item.querySelector('.btn-view-backup'); + if (btn) btn.setAttribute('data-date', targetFolder); - const link = item.querySelector('a[download]'); - if (link && window.APP_CONFIG.downloadBaseUrl) { - const newHref = window.APP_CONFIG.downloadBaseUrl - .replace('PLACEHOLDER_DATE', targetFolder) - .replace('PLACEHOLDER_FILE', filename); - link.setAttribute('href', newHref); + const link = item.querySelector('a[download]'); + if (link && window.APP_CONFIG.downloadBaseUrl) { + const newHref = window.APP_CONFIG.downloadBaseUrl + .replace('PLACEHOLDER_DATE', targetFolder) + .replace('PLACEHOLDER_FILE', filename); + link.setAttribute('href', newHref); + } } - } - return data; - }); + return data; + }); }); Promise.all(promises).then(results => { @@ -520,9 +617,9 @@ document.addEventListener('DOMContentLoaded', () => {
    Slot ${slot}
    `).join(''); - + // 미리보기 Sortable - new Sortable(slotPreview, { + new Sortable(slotPreview, { animation: 150, ghostClass: 'sortable-ghost', dragClass: 'sortable-drag', @@ -552,7 +649,7 @@ document.addEventListener('DOMContentLoaded', () => { } slotNumbersInput.addEventListener('input', updateSlotPreview); - + btnClearSlots.addEventListener('click', () => { if (confirm('모두 지우시겠습니까?')) { slotNumbersInput.value = ''; @@ -604,7 +701,7 @@ document.addEventListener('DOMContentLoaded', () => { e.preventDefault(); const btn = form.querySelector('button[type="submit"]'); if (!btn || btn.disabled) return; - + const originalContent = btn.innerHTML; const executeMove = (overwrite = false) => { @@ -620,48 +717,48 @@ document.addEventListener('DOMContentLoaded', () => { }, body: JSON.stringify({ overwrite: overwrite }) }) - .then(async response => { - const ct = response.headers.get("content-type"); - if (!ct || !ct.includes("application/json")) { - // HTTP 200이지만 HTML이 올 경우 에러나 마찬가지 (로그인 리다이렉트 등) - if (response.ok && response.url.includes("login")) { + .then(async response => { + const ct = response.headers.get("content-type"); + if (!ct || !ct.includes("application/json")) { + // HTTP 200이지만 HTML이 올 경우 에러나 마찬가지 (로그인 리다이렉트 등) + if (response.ok && response.url.includes("login")) { + window.location.reload(); + return; + } + // "MAC 이동 중 오류: HTTP 200" 등 텍스트일 수 있음 + const txt = await response.text(); + if (response.ok) { + // 성공으로 간주하고 리로드 (가끔 백엔드가 JSON 대신 빈 성공 응답을 줄 때) + window.location.reload(); + return; + } + throw new Error(txt); + } + return response.json(); + }) + .then(data => { + if (!data) return; // 위에서 처리됨 + if (data.requires_confirmation) { + showDuplicateModal(data.duplicates, data.duplicate_count); + pendingAction = executeMove; + resetButton(); + } else if (data.success) { + window.location.reload(); + } else { + alert(data.error || '작업 실패'); + resetButton(); + } + }) + .catch(err => { + console.error(err); + // HTTP 200 에러 억제 요청 반영 + if (err.message && err.message.includes("200")) { window.location.reload(); return; } - // "MAC 이동 중 오류: HTTP 200" 등 텍스트일 수 있음 - const txt = await response.text(); - if (response.ok) { - // 성공으로 간주하고 리로드 (가끔 백엔드가 JSON 대신 빈 성공 응답을 줄 때) - window.location.reload(); - return; - } - throw new Error(txt); - } - return response.json(); - }) - .then(data => { - if (!data) return; // 위에서 처리됨 - if (data.requires_confirmation) { - showDuplicateModal(data.duplicates, data.duplicate_count); - pendingAction = executeMove; + alert('오류 발생: ' + err); resetButton(); - } else if (data.success) { - window.location.reload(); - } else { - alert(data.error || '작업 실패'); - resetButton(); - } - }) - .catch(err => { - console.error(err); - // HTTP 200 에러 억제 요청 반영 - if (err.message && err.message.includes("200")) { - window.location.reload(); - return; - } - alert('오류 발생: ' + err); - resetButton(); - }); + }); }; const resetButton = () => { @@ -690,7 +787,7 @@ document.addEventListener('DOMContentLoaded', () => { li.innerHTML = `${name}`; listEl.appendChild(li); }); - + if (duplicates.length > limit) { if (moreEl) { moreEl.style.display = 'block'; @@ -702,4 +799,226 @@ document.addEventListener('DOMContentLoaded', () => { } if (dupModal) dupModal.show(); } + + // ───────────────────────────────────────────────────────────── + // 6. 작업 유형 및 프로파일 처리 (process_ips 관련) + // ───────────────────────────────────────────────────────────── + const jobTypeSelect = document.getElementById('job_type'); + const profileSelect = document.getElementById('profile'); + const profileGroup = document.getElementById('profileGroup'); + const profileDesc = document.getElementById('profileDesc'); + const legacyScriptGroup = document.getElementById('legacyScriptGroup'); + const scriptSelectLegacy = document.getElementById('script'); // 기존 스크립트 select + + if (jobTypeSelect) { + jobTypeSelect.addEventListener('change', async () => { + const jobType = jobTypeSelect.value; + + // 초기화 + if (profileSelect) { + profileSelect.innerHTML = ''; + profileDesc.textContent = ''; + } + + if (jobType === 'legacy') { + // Legacy 모드 + if (profileGroup) profileGroup.style.display = 'none'; + if (legacyScriptGroup) legacyScriptGroup.style.display = 'block'; + if (scriptSelectLegacy) scriptSelectLegacy.required = true; + if (profileSelect) profileSelect.required = false; + } else if (['mac', 'server_info', 'guid'].includes(jobType)) { + // 신규 모드 + if (legacyScriptGroup) legacyScriptGroup.style.display = 'none'; + if (profileGroup) profileGroup.style.display = 'block'; + if (scriptSelectLegacy) scriptSelectLegacy.required = false; + if (profileSelect) profileSelect.required = true; + + // 프로파일 로드 + try { + const res = await fetch(`/api/profiles/${jobType}`); + if (!res.ok) throw new Error('프로파일 로드 실패'); + const profiles = await res.json(); + + profileSelect.innerHTML = ''; + profiles.forEach(p => { + const opt = document.createElement('option'); + opt.value = p.name; + opt.textContent = `${p.name} ${p.is_default ? '(기본)' : ''}`; + opt.dataset.desc = p.description; + profileSelect.appendChild(opt); + }); + + } catch (err) { + console.error(err); + profileSelect.innerHTML = ''; + } + } else { + // 선택 안함 + if (legacyScriptGroup) legacyScriptGroup.style.display = 'none'; + if (profileGroup) profileGroup.style.display = 'none'; + } + }); + + // 프로파일 설명 표시 + if (profileSelect) { + profileSelect.addEventListener('change', () => { + const selected = profileSelect.options[profileSelect.selectedIndex]; + if (selected && selected.dataset.desc) { + profileDesc.textContent = selected.dataset.desc; + } else { + profileDesc.textContent = ''; + } + }); + } + } + + // ───────────────────────────────────────────────────────────── + // 7. 탭 활성화 동기화 (외부 탭 활성화 시 내부 서브탭도 활성화) + // ───────────────────────────────────────────────────────────── + const repositoryTab = document.getElementById('repository-tab'); + if (repositoryTab) { + repositoryTab.addEventListener('shown.bs.tab', function () { + // repository 탭이 활성화되면 첫 번째 서브탭(pills-backup)도 활성화 + const firstPillTab = document.getElementById('pills-backup-tab'); + const firstPillPane = document.getElementById('pills-backup'); + + if (firstPillTab && firstPillPane) { + // 버튼 활성화 + document.querySelectorAll('#repoTabs .nav-link').forEach(btn => { + btn.classList.remove('active'); + btn.setAttribute('aria-selected', 'false'); + }); + firstPillTab.classList.add('active'); + firstPillTab.setAttribute('aria-selected', 'true'); + + // 패널 활성화 + } + }); + } + + // ───────────────────────────────────────────────────────────── + // 7. 커스텀 탭 전환 로직 + // ───────────────────────────────────────────────────────────── + + // 메인 탭 전환 + const mainTabButtons = document.querySelectorAll('#fileTabs button[data-custom-toggle="tab"]'); + mainTabButtons.forEach(btn => { + btn.addEventListener('click', function (e) { + e.preventDefault(); + + // 모든 탭 버튼 비활성화 + mainTabButtons.forEach(b => b.classList.remove('active')); + // 클릭한 탭 버튼 활성화 + this.classList.add('active'); + + // 모든 탭 패널 숨기기 + document.querySelectorAll('.custom-tab-panel').forEach(panel => { + panel.classList.remove('custom-active'); + panel.style.display = 'none'; // 인라인 스타일로 강제 숨김 + }); + + // 대상 탭 패널 표시 + const targetId = this.getAttribute('data-bs-target'); + const targetPanel = document.querySelector(targetId); + if (targetPanel) { + targetPanel.classList.add('custom-active'); + targetPanel.style.display = 'block'; // 인라인 스타일도 변경 + } + }); + }); + + + // 서브 탭 전환 (Pills) + const subTabButtons = document.querySelectorAll('#repoTabs button[data-custom-toggle="pill"]'); + subTabButtons.forEach(btn => { + btn.addEventListener('click', function (e) { + e.preventDefault(); + + // 모든 서브 탭 버튼 비활성화 + subTabButtons.forEach(b => b.classList.remove('active')); + // 모든 서브 탭 패널 숨기기 + document.querySelectorAll('.custom-sub-panel').forEach(panel => { + panel.classList.remove('custom-sub-active'); + panel.classList.add('d-none'); + panel.style.display = 'none'; + }); + + // subpanel-backup을 명시적으로 한 번 더 숨김 + const backupPanel = document.getElementById('subpanel-backup'); + if (backupPanel) { + backupPanel.classList.add('d-none'); + backupPanel.style.setProperty('display', 'none', 'important'); + } + + // 대상 서브 탭 패널 표시 + const targetId = this.getAttribute('data-bs-target'); + const targetPanel = document.querySelector(targetId); + if (targetPanel) { + targetPanel.classList.add('custom-sub-active'); + targetPanel.classList.remove('d-none'); + targetPanel.classList.remove('display-none'); // 혹시 모를 클래스 제거 + targetPanel.style.setProperty('display', 'block', 'important'); + } + }); + }); + + // ───────────────────────────────────────────────────────────── + // 8. URL 파라미터 기반 탭 활성화 (페이지네이션 지원) + // ───────────────────────────────────────────────────────────── + const urlParams = new URLSearchParams(window.location.search); + + // 'backup_page' 파라미터가 있으면 '백업 및 저장소' -> '서버 정보' 탭 활성화 + if (urlParams.has('backup_page')) { + const repoTabBtn = document.getElementById('repository-tab'); + const backupSubTabBtn = document.getElementById('subpanel-backup-tab'); + + if (repoTabBtn) { + // 메인 탭 전환 트리거 + repoTabBtn.click(); + } + + if (backupSubTabBtn) { + // 서브 탭 전환 트리거 (메인 탭 전환 후 실행) + setTimeout(() => { + backupSubTabBtn.click(); + }, 50); + } + } + // ───────────────────────────────────────────────────────────── + // 9. 시스템 제어 패널 토글 아이콘 회전 + // ───────────────────────────────────────────────────────────── + const systemControlPanel = document.getElementById('systemControlPanel'); + const systemControlHint = document.getElementById('systemControlHint'); + + if (systemControlPanel) { + systemControlPanel.addEventListener('show.bs.collapse', () => { + const icon = document.querySelector('button[data-bs-target="#systemControlPanel"] i'); + if (icon) { + icon.classList.remove('bi-chevron-down'); + icon.classList.add('bi-chevron-up'); + } + if (systemControlHint) { + systemControlHint.style.display = 'none'; + } + }); + systemControlPanel.addEventListener('hide.bs.collapse', () => { + const icon = document.querySelector('button[data-bs-target="#systemControlPanel"] i'); + if (icon) { + icon.classList.remove('bi-chevron-up'); + icon.classList.add('bi-chevron-down'); + } + if (systemControlHint) { + systemControlHint.style.display = 'inline'; + } + }); + + // 힌트 클릭 시 트리거 + if (systemControlHint) { + systemControlHint.addEventListener('click', () => { + const btn = document.querySelector('button[data-bs-target="#systemControlPanel"]'); + if (btn) btn.click(); + }); + } + } + }); diff --git a/backend/static/js/idrac_main.js b/backend/static/js/idrac_main.js index a54a20a..02459c5 100644 --- a/backend/static/js/idrac_main.js +++ b/backend/static/js/idrac_main.js @@ -1,16 +1,19 @@ /** - * Dell iDRAC 멀티 서버 펌웨어 관리 JavaScript + * Dell iDRAC 멀티 서버 관리 JavaScript * backend/static/js/idrac_main.js */ -// SocketIO 연결 +// SocketIO 연결 (혹시 모를 추후 사용을 위해 유지하나, 현재는 직접적 이벤트 없음) const socket = io(); // 전역 변수 let servers = []; let selectedServers = new Set(); -// CSRF 토큰 가져오기 +// ======================================== +// 유틸리티 (CSRF, Fetch, Toast) +// ======================================== + function getCSRFToken() { const metaTag = document.querySelector('meta[name="csrf-token"]'); if (metaTag) return metaTag.getAttribute('content'); @@ -23,7 +26,6 @@ function getCSRFToken() { return null; } -// fetch 래퍼 함수 async function fetchWithCSRF(url, options = {}) { const csrfToken = getCSRFToken(); if (!options.headers) options.headers = {}; @@ -49,6 +51,30 @@ async function fetchWithCSRF(url, options = {}) { return fetch(url, options); } +function showMessage(message, type = 'info') { + showToast(message, type); + console.log(`[${type}] ${message}`); +} + +function showToast(message, type = 'info') { + const existingToast = document.querySelector('.toast'); + if (existingToast) { + existingToast.remove(); + } + + const toast = document.createElement('div'); + toast.className = `toast toast-${type}`; + toast.textContent = message; + document.body.appendChild(toast); + + setTimeout(() => toast.classList.add('show'), 100); + + setTimeout(() => { + toast.classList.remove('show'); + setTimeout(() => toast.remove(), 300); + }, 3000); +} + // ======================================== // 초기화 // ======================================== @@ -57,19 +83,16 @@ document.addEventListener('DOMContentLoaded', function () { console.log('iDRAC 멀티 서버 관리 시스템 시작'); refreshServers(); loadGroups(); - setupSocketIO(); - - // 초기 탭 설정 - showTab('servers'); }); // ======================================== -// 서버 관리 +// 서버 관리 (목록, 렌더링) // ======================================== async function refreshServers() { try { - const group = document.getElementById('group-filter').value; + const groupEl = document.getElementById('group-filter'); + const group = groupEl ? groupEl.value : 'all'; const url = `/idrac/api/servers${group !== 'all' ? '?group=' + group : ''}`; const response = await fetchWithCSRF(url); const data = await response.json(); @@ -88,6 +111,8 @@ async function refreshServers() { function renderServerList() { const tbody = document.getElementById('server-list'); + if (!tbody) return; + if (servers.length === 0) { tbody.innerHTML = '등록된 서버가 없습니다'; return; @@ -102,7 +127,7 @@ function renderServerList() { ${server.ip_address} ${server.group_name || '-'} ${getStatusText(server.status)} - ${server.current_bios || '-'} + ${server.model || '-'} ${server.last_connected ? formatDateTime(server.last_connected) : '-'} @@ -119,6 +144,7 @@ function getStatusText(status) { } function formatDateTime(dateStr) { + if (!dateStr) return '-'; const date = new Date(dateStr); return date.toLocaleString('ko-KR', { year: '2-digit', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit' @@ -126,11 +152,12 @@ function formatDateTime(dateStr) { } function updateServerCount() { - document.getElementById('server-count').textContent = `${servers.length}대`; + const el = document.getElementById('server-count'); + if (el) el.textContent = `${servers.length}대`; } // ======================================== -// 서버 선택 +// 서버 선택 관리 // ======================================== function toggleSelectAll() { @@ -153,11 +180,13 @@ function toggleServerSelection(serverId) { const all = document.querySelectorAll('.server-checkbox'); const checked = document.querySelectorAll('.server-checkbox:checked'); - document.getElementById('select-all').checked = all.length === checked.length; + const selectAll = document.getElementById('select-all'); + if (selectAll) selectAll.checked = all.length > 0 && all.length === checked.length; } function updateSelectedCount() { - document.getElementById('selected-count').textContent = `선택: ${selectedServers.size}대`; + const el = document.getElementById('selected-count'); + if (el) el.textContent = `선택: ${selectedServers.size}대`; } function getSelectedServerIds() { @@ -175,6 +204,8 @@ async function loadGroups() { if (data.success) { const select = document.getElementById('group-filter'); + if (!select) return; + const currentValue = select.value; select.innerHTML = ''; data.groups.forEach(g => select.innerHTML += ``); @@ -190,7 +221,7 @@ function filterByGroup() { } // ======================================== -// 서버 추가/수정/삭제 +// 서버 CRUD // ======================================== function showAddServerModal() { @@ -200,7 +231,7 @@ function showAddServerModal() { function closeAddServerModal() { const modal = document.getElementById('add-server-modal'); if (modal) modal.style.display = 'none'; - setTimeout(() => clearServerForm(), 0); // DOM 안정 후 폼 초기화 + setTimeout(() => clearServerForm(), 0); } function clearServerForm() { @@ -214,12 +245,15 @@ function clearServerForm() { if (el.type === 'checkbox') el.checked = false; else if (el.type === 'file') el.value = null; else el.value = ''; - } else { - console.warn(`[clearServerForm] 요소 없음: #${id}`); } }); } +function editServer(serverId) { + showMessage('서버 수정 기능은 현재 준비 중입니다.', 'info'); + // 추후 구현: 모달에 데이터 로드 후 띄우기 +} + async function addServer() { const serverData = { name: document.getElementById('server-name').value, @@ -269,7 +303,7 @@ async function deleteServer(serverId) { } // ======================================== -// 연결 테스트 +// 연결 테스트 및 제어 // ======================================== async function testConnection(serverId) { @@ -283,295 +317,6 @@ async function testConnection(serverId) { } } -// ======================================== -// 펌웨어 업로드 -// ======================================== - -function showUploadModal() { - const ids = getSelectedServerIds(); - if (ids.length === 0) return showMessage('서버를 선택하세요', 'warning'); - document.getElementById('upload-server-count').textContent = `${ids.length}대`; - document.getElementById('upload-modal').style.display = 'flex'; -} - -function closeUploadModal() { - document.getElementById('upload-modal').style.display = 'none'; - document.getElementById('firmware-file').value = ''; -} - -async function startMultiUpload() { - const fileInput = document.getElementById('firmware-file'); - const serverIds = getSelectedServerIds(); - - if (!fileInput.files[0]) { - showMessage('파일을 선택하세요', 'warning'); - return; - } - - const formData = new FormData(); - formData.append('file', fileInput.files[0]); - formData.append('server_ids', serverIds.join(',')); - - try { - closeUploadModal(); - showUploadProgress(serverIds); - - const response = await fetchWithCSRF('/idrac/api/upload-multi', { - method: 'POST', - body: formData - }); - - const data = await response.json(); - - if (data.success) { - showMessage(data.message, 'success'); - } else { - showMessage(data.message, 'error'); - hideUploadProgress(); - } - } catch (error) { - showMessage('업로드 시작 실패: ' + error, 'error'); - hideUploadProgress(); - } -} - -function showUploadProgress(serverIds) { - const section = document.getElementById('upload-progress-section'); - const list = document.getElementById('upload-progress-list'); - - section.style.display = 'block'; - - // 각 서버별 진행 바 생성 - list.innerHTML = serverIds.map(id => { - const server = servers.find(s => s.id === id); - return ` -
    -
    - ${server.name} (${server.ip_address}) - 대기중... -
    -
    -
    -
    -
    -
    - `; - }).join(''); - - // 요약 초기화 - document.getElementById('progress-summary').innerHTML = ` -
    - 전체: ${serverIds.length}대 - 완료: 0대 - 실패: 0대 -
    - `; -} - -function hideUploadProgress() { - document.getElementById('upload-progress-section').style.display = 'none'; -} - -// ======================================== -// SocketIO 이벤트 -// ======================================== - -function setupSocketIO() { - // 업로드 진행 상황 - socket.on('upload_progress', function (data) { - console.log('Upload progress:', data); - - const statusEl = document.getElementById(`status-${data.server_id}`); - const barEl = document.getElementById(`bar-${data.server_id}`); - const messageEl = document.getElementById(`message-${data.server_id}`); - - if (statusEl) statusEl.textContent = data.message; - if (barEl) { - barEl.style.width = data.progress + '%'; - barEl.className = `progress-bar progress-${data.status}`; - } - if (messageEl) messageEl.textContent = data.job_id ? `Job ID: ${data.job_id}` : ''; - }); - - // 업로드 완료 - socket.on('upload_complete', function (data) { - console.log('Upload complete:', data); - - const summary = data.summary; - document.getElementById('completed-count').textContent = `완료: ${summary.success}대`; - document.getElementById('failed-count').textContent = `실패: ${summary.failed}대`; - - showMessage(`업로드 완료: 성공 ${summary.success}대, 실패 ${summary.failed}대`, 'success'); - showResults(data.results, '업로드 결과'); - - refreshServers(); - }); -} - -// ======================================== -// 결과 표시 -// ======================================== - -function showResults(results, title) { - const section = document.getElementById('result-section'); - const content = document.getElementById('result-content'); - - section.style.display = 'block'; - - content.innerHTML = ` -

    ${title}

    - - - - - - - - - - ${results.map(r => ` - - - - - - `).join('')} - -
    서버명상태메시지
    ${r.server_name} - - ${r.success ? '✓ 성공' : '✗ 실패'} - - ${r.message}${r.job_id ? ` (Job: ${r.job_id})` : ''}
    - `; -} - -// ======================================== -// 재부팅 -// ======================================== - -async function rebootSelected() { - const serverIds = getSelectedServerIds(); - - if (serverIds.length === 0) { - showMessage('서버를 선택하세요', 'warning'); - return; - } - - if (!confirm(`선택한 ${serverIds.length}대 서버를 재부팅하시겠습니까?\n\n⚠️ 업로드된 펌웨어가 적용됩니다!`)) { - return; - } - - try { - const response = await fetchWithCSRF('/idrac/api/servers/reboot-multi', { - method: 'POST', - headers: { - 'Content-Type': 'application/json' - }, - body: JSON.stringify({ - server_ids: serverIds, - type: 'GracefulRestart' - }) - }); - - const data = await response.json(); - - if (data.success) { - const summary = data.summary; - showMessage(`재부팅 시작: 성공 ${summary.success}대, 실패 ${summary.failed}대`, 'success'); - showResults(data.results, '재부팅 결과'); - } else { - showMessage(data.message, 'error'); - } - - refreshServers(); - } catch (error) { - showMessage('재부팅 실패: ' + error, 'error'); - } -} - -// ======================================== -// Excel 가져오기 (추후 구현) -// ======================================== - -function importExcel() { - showMessage('Excel 가져오기 기능은 개발 중입니다', 'info'); -} - -// ======================================== -// 유틸리티 -// ======================================== - -function showMessage(message, type = 'info') { - // 토스트 알림으로 변경 - showToast(message, type); - console.log(`[${type}] ${message}`); -} - -// ======================================== -// 토스트 알림 시스템 -// ======================================== - -function showToast(message, type = 'info') { - // 기존 토스트 제거 - const existingToast = document.querySelector('.toast'); - if (existingToast) { - existingToast.remove(); - } - - // 새 토스트 생성 - const toast = document.createElement('div'); - toast.className = `toast toast-${type}`; - toast.textContent = message; - document.body.appendChild(toast); - - // 애니메이션 - setTimeout(() => toast.classList.add('show'), 100); - - // 3초 후 제거 - setTimeout(() => { - toast.classList.remove('show'); - setTimeout(() => toast.remove(), 300); - }, 3000); -} - -// 편의 함수들 -function editServer(serverId) { - showMessage('서버 수정 기능은 개발 중입니다', 'info'); -} - -function getSelectedFirmware() { - const serverIds = getSelectedServerIds(); - - if (serverIds.length === 0) { - showMessage('서버를 선택하세요', 'warning'); - return; - } - - showMessage('선택한 서버의 펌웨어 조회 중...', 'info'); - - // 각 서버별로 펌웨어 조회 - serverIds.forEach(async (serverId) => { - try { - const response = await fetchWithCSRF(`/idrac/api/servers/${serverId}/firmware`); - const data = await response.json(); - - if (data.success) { - console.log(`Server ${serverId} firmware:`, data.data); - } - } catch (error) { - console.error(`Server ${serverId} firmware query failed:`, error); - } - }); - - // 새로고침 - setTimeout(() => { - refreshServers(); - }, 2000); -} - -// ======================================== -// 다중 연결 테스트 -// ======================================== async function testSelectedConnections() { const serverIds = getSelectedServerIds(); @@ -593,7 +338,6 @@ async function testSelectedConnections() { if (data.success) { const summary = data.summary; showMessage(`연결 성공: ${summary.success}대 / 실패: ${summary.failed}대`, 'success'); - showResults(data.results, '연결 테스트 결과'); } else { showMessage(data.message, 'error'); } @@ -603,398 +347,39 @@ async function testSelectedConnections() { } } -// ======================================== -// 다중 펌웨어 버전 비교 -// ======================================== -async function compareSelectedFirmware() { +async function rebootSelected() { const serverIds = getSelectedServerIds(); if (serverIds.length === 0) { - showToast('서버를 선택하세요', 'warning'); + showMessage('서버를 선택하세요', 'warning'); return; } - // 비교 탭으로 전환 - showTab('comparison'); - - // 로딩 표시 - const loadingEl = document.getElementById('comparison-loading'); - const resultEl = document.getElementById('comparison-result'); - - if (loadingEl) loadingEl.style.display = 'block'; - if (resultEl) resultEl.innerHTML = ''; - - try { - const res = await fetchWithCSRF('/idrac/api/servers/firmware/compare-multi', { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ server_ids: serverIds }) - }); - - const data = await res.json(); - - // 로딩 숨기기 - if (loadingEl) loadingEl.style.display = 'none'; - - if (data.success) { - displayComparisonResults(data.results); - showToast(`${serverIds.length}대 서버 비교 완료`, 'success'); - } else { - if (resultEl) { - resultEl.innerHTML = `
    ⚠️ ${data.message}
    `; - } - showToast(data.message, 'error'); - } - } catch (error) { - if (loadingEl) loadingEl.style.display = 'none'; - if (resultEl) { - resultEl.innerHTML = `
    ⚠️ 버전 비교 실패: ${error}
    `; - } - showToast('버전 비교 실패: ' + error, 'error'); - } -} - -// ======================================== -// 비교 결과 표시 (개선된 버전) -// ======================================== - -function displayComparisonResults(results) { - const resultEl = document.getElementById('comparison-result'); - if (!resultEl) return; - - if (!results || results.length === 0) { - resultEl.innerHTML = '
    비교 결과가 없습니다
    '; - return; - } - - let html = '
    '; - - results.forEach(serverResult => { - html += ` -
    -

    - 🖥️ ${serverResult.server_name} - (${serverResult.server_ip || ''}) -

    - `; - - if (serverResult.success && serverResult.comparisons) { - serverResult.comparisons.forEach(comp => { - const statusClass = comp.status === 'outdated' ? 'outdated' : - comp.status === 'latest' ? 'latest' : 'unknown'; - const statusIcon = comp.status === 'outdated' ? '⚠️' : - comp.status === 'latest' ? '✅' : '❓'; - - html += ` -
    -
    - ${comp.component_name} - ${statusIcon} -
    -
    - 현재: - ${comp.current_version} -
    -
    - 최신: - ${comp.latest_version || 'N/A'} -
    -
    - ${comp.recommendation} -
    -
    - `; - }); - } else { - html += `
    ⚠️ ${serverResult.message || '비교 실패'}
    `; - } - - html += '
    '; - }); - - html += '
    '; - resultEl.innerHTML = html; -} - -// ======================================== -// 펌웨어 버전 추가 모달 -// ======================================== -function showAddVersionModal() { - const modal = document.getElementById('add-version-modal'); - if (modal) modal.style.display = 'flex'; -} - -function closeAddVersionModal() { - const modal = document.getElementById('add-version-modal'); - if (modal) modal.style.display = 'none'; -} - -async function addFirmwareVersion() { - const data = { - component_name: document.getElementById('version-component').value, - latest_version: document.getElementById('version-latest').value, - server_model: document.getElementById('version-model').value, - vendor: document.getElementById('version-vendor').value, - release_date: document.getElementById('version-release-date').value, - download_url: document.getElementById('version-download-url').value, - notes: document.getElementById('version-notes').value, - is_critical: document.getElementById('version-critical').checked - }; - - if (!data.component_name || !data.latest_version) { - showMessage('컴포넌트명과 버전을 입력하세요', 'warning'); + if (!confirm(`선택한 ${serverIds.length}대 서버를 재부팅하시겠습니까?`)) { return; } try { - const response = await fetchWithCSRF('/idrac/api/firmware-versions', { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify(data) - }); - - const result = await response.json(); - if (result.success) { - showMessage(result.message, 'success'); - closeAddVersionModal(); - refreshFirmwareVersionList(); - } else { - showMessage(result.message, 'error'); - } - } catch (error) { - showMessage('버전 추가 실패: ' + error, 'error'); - } -} - -async function refreshFirmwareVersionList() { - try { - const response = await fetchWithCSRF('/idrac/api/firmware-versions'); - const data = await response.json(); - - if (data.success) { - const tbody = document.getElementById('version-list'); - tbody.innerHTML = data.versions.map(v => ` - - ${v.component_name} - ${v.latest_version} - ${v.server_model || '-'} - ${v.release_date || '-'} - ${v.is_critical ? '⚠️' : ''} - - - `).join(''); - } - } catch (error) { - showMessage('버전 목록 로드 실패: ' + error, 'error'); - } -} - -// ======================================== -// Dell Catalog에서 최신 버전 자동 가져오기 -// ======================================== -async function syncDellCatalog(model = "PowerEdge R750") { - showToast(`${model} 최신 버전 정보를 Dell에서 가져오는 중...`, "info"); - - try { - const response = await fetchWithCSRF("/catalog/sync", { - method: "POST", - body: { model } - }); - - const data = await response.json(); - - if (data.success) { - showToast(data.message, "success"); - await refreshFirmwareVersionList(); - } else { - showToast(data.message, "error"); - } - } catch (error) { - showToast("버전 정보 동기화 실패: " + error, "error"); - } -} - -// ======================================== -// DRM 리포지토리 동기화 -// ======================================== - -async function syncFromDRM() { - // DRM 리포지토리 경로 입력 받기 - const repositoryPath = prompt( - 'DRM 리포지토리 경로를 입력하세요:\n예: C:\\Dell\\Repository 또는 \\\\network\\share\\DellRepo', - 'C:\\Dell\\Repository' - ); - - if (!repositoryPath) return; - - const model = prompt('서버 모델을 입력하세요:', 'PowerEdge R750'); - if (!model) return; - - showToast('DRM 리포지토리에서 펌웨어 정보 가져오는 중...', 'info'); - - try { - const response = await fetchWithCSRF('/drm/sync', { + const response = await fetchWithCSRF('/idrac/api/servers/reboot-multi', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ - repository_path: repositoryPath, - model: model + server_ids: serverIds, + type: 'GracefulRestart' }) }); const data = await response.json(); if (data.success) { - showToast(`${data.message}`, 'success'); - await refreshFirmwareVersionList(); + const summary = data.summary; + showMessage(`재부팅 시작: 성공 ${summary.success}대, 실패 ${summary.failed}대`, 'success'); } else { - showToast(data.message, 'error'); + showMessage(data.message, 'error'); } + + refreshServers(); } catch (error) { - showToast('DRM 동기화 실패: ' + error, 'error'); - } -} - -async function checkDRMRepository() { - const repositoryPath = prompt( - 'DRM 리포지토리 경로를 입력하세요:', - 'C:\\Dell\\Repository' - ); - - if (!repositoryPath) return; - - try { - const response = await fetchWithCSRF('/drm/check', { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ repository_path: repositoryPath }) - }); - - const data = await response.json(); - - if (data.success && data.info) { - const info = data.info; - let message = `DRM 리포지토리 정보:\n\n`; - message += `경로: ${info.path}\n`; - message += `카탈로그 파일: ${info.catalog_file || '없음'}\n`; - message += `총 패키지 수: ${info.total_packages || 0}\n`; - - if (info.available_models && info.available_models.length > 0) { - message += `\n사용 가능한 모델 (${info.available_models.length}개):\n`; - message += info.available_models.slice(0, 10).join(', '); - if (info.available_models.length > 10) { - message += ` ... 외 ${info.available_models.length - 10}개`; - } - } - - alert(message); - } else { - showToast('DRM 리포지토리를 찾을 수 없습니다', 'error'); - } - } catch (error) { - showToast('DRM 확인 실패: ' + error, 'error'); - } -} - -// ======================================== -// 펌웨어 버전 목록 새로고침 -// ======================================== -async function refreshFirmwareVersionList() { - try { - const response = await fetchWithCSRF("/idrac/api/firmware-versions"); - const data = await response.json(); - - if (data.success) { - const tbody = document.getElementById("version-list"); - if (!tbody) return; - - tbody.innerHTML = data.versions.length - ? data.versions - .map( - (v) => ` - - ${v.component_name} - ${v.latest_version} - ${v.server_model || "-"} - ${v.release_date || "-"} - ${v.is_critical ? "⚠️" : ""} - - - - ` - ) - .join("") - : `등록된 버전 정보가 없습니다`; - } else { - showToast(data.message, "error"); - } - } catch (error) { - showToast("버전 목록 로드 실패: " + error, "error"); - } -} - -// ======================================== -// 탭 전환 기능 -// ======================================== - -function showTab(tabName) { - // 모든 탭 콘텐츠 숨기기 - document.querySelectorAll('.tab-content').forEach(tab => { - tab.classList.remove('active'); - }); - - // 모든 탭 버튼 비활성화 - document.querySelectorAll('.tab-button').forEach(btn => { - btn.classList.remove('active'); - }); - - // 선택된 탭 표시 - const selectedTab = document.getElementById(tabName + '-tab'); - if (selectedTab) { - selectedTab.classList.add('active'); - } - - // 클릭된 버튼 활성화 (이벤트에서 호출된 경우) - if (event && event.target) { - event.target.classList.add('active'); - } else { - // 직접 호출된 경우 해당 버튼 찾아서 활성화 - const buttons = document.querySelectorAll('.tab-button'); - buttons.forEach((btn, index) => { - if ((tabName === 'servers' && index === 0) || - (tabName === 'versions' && index === 1) || - (tabName === 'comparison' && index === 2)) { - btn.classList.add('active'); - } - }); - } - - // 버전 탭 선택 시 목록 로드 - if (tabName === 'versions') { - refreshFirmwareVersionList(); - } -} - -// ======================================== -// 펌웨어 버전 삭제 -// ======================================== - -async function deleteFirmwareVersion(versionId) { - if (!confirm('이 펌웨어 버전 정보를 삭제하시겠습니까?')) return; - - try { - const response = await fetchWithCSRF(`/idrac/api/firmware-versions/${versionId}`, { - method: 'DELETE' - }); - const data = await response.json(); - - if (data.success) { - showToast(data.message, 'success'); - refreshFirmwareVersionList(); - } else { - showToast(data.message, 'error'); - } - } catch (error) { - showToast('삭제 실패: ' + error, 'error'); + showMessage('재부팅 실패: ' + error, 'error'); } } diff --git a/backend/static/js/server_config.js b/backend/static/js/server_config.js new file mode 100644 index 0000000..9e648b3 --- /dev/null +++ b/backend/static/js/server_config.js @@ -0,0 +1,324 @@ +let allServers = []; +let analysisData = {}; + +document.addEventListener('DOMContentLoaded', () => { + loadServers(); + + document.getElementById('check-all').addEventListener('change', (e) => { + const checked = e.target.checked; + document.querySelectorAll('.server-checkbox').forEach(cb => cb.checked = checked); + }); +}); + +async function loadServers() { + try { + const res = await axios.get('/idrac/api/servers'); + if (res.data.success) { + allServers = res.data.servers; + renderServerList(allServers); + } else { + alert('서버 목록 로드 실패: ' + res.data.message); + } + } catch (e) { + console.error(e); + alert('서버 목록 로드 중 오류가 발생했습니다.'); + } +} + +function renderServerList(servers) { + const tbody = document.querySelector('#selection-table tbody'); + tbody.innerHTML = ''; + + if (servers.length === 0) { + tbody.innerHTML = '등록된 서버가 없습니다.'; + return; + } + + servers.forEach(server => { + const tr = document.createElement('tr'); + tr.innerHTML = ` + + ${server.name} + ${server.ip_address} + ${server.model || '-'} + ${server.status || 'Unknown'} + `; + tbody.appendChild(tr); + }); +} + + +// 시작: 서버 선택 후 동기화 (iDRAC -> DB) +async function syncSelectedServers() { + const selectedIds = Array.from(document.querySelectorAll('.server-checkbox:checked')).map(cb => parseInt(cb.value)); + + if (selectedIds.length === 0) { + alert('동기화할 서버를 하나 이상 선택해주세요.'); + return; + } + + if (!confirm(`선택한 ${selectedIds.length}대 서버의 설정을 iDRAC에서 가져와 DB에 저장하시겠습니까?`)) { + return; + } + + document.getElementById('loading').style.display = 'flex'; + updateLoadingMessage('설정 데이터 동기화 중...'); + + try { + const res = await axios.post('/server-config/api/sync', { + server_ids: selectedIds, + categories: ['bios', 'system', 'idrac'] + }); + + if (res.data.success) { + const failed = res.data.results.failed; + if (failed.length > 0) { + const failedNames = failed.map(f => f.name || f.id).join(', '); + alert(`일부 서버 동기화 실패:\n${failedNames}\n\n성공한 서버는 DB에 저장되었습니다.`); + } else { + alert('모든 서버 동기화가 완료되었습니다. 이제 분석을 수행할 수 있습니다.'); + } + + // 만약 이미 결과 화면이 보이고 있다면 자동 갱신 + if (document.getElementById('result-card').style.display !== 'none') { + startAnalysis(); + } + } else { + alert('동기화 실패: ' + res.data.message); + } + } catch (e) { + console.error(e); + alert('동기화 요청 중 오류가 발생했습니다: ' + e.message); + } finally { + document.getElementById('loading').style.display = 'none'; + } +} + +// 시작: DB 데이터 기반 분석 (DB -> Web) +async function startAnalysis() { + const selectedIds = Array.from(document.querySelectorAll('.server-checkbox:checked')).map(cb => parseInt(cb.value)); + + if (selectedIds.length === 0) { + alert('분석할 서버를 하나 이상 선택해주세요.'); + return; + } + + document.getElementById('loading').style.display = 'flex'; + document.getElementById('result-card').style.display = 'none'; + updateLoadingMessage('데이터 분석 중...'); + + try { + const res = await axios.post('/server-config/api/fetch', { + server_ids: selectedIds, + categories: ['bios', 'system', 'idrac'] + }); + + if (res.data.success) { + analysisData = res.data.results; + renderComparison(); + document.getElementById('result-card').style.display = 'block'; + } else { + alert('데이터 조회 실패: ' + res.data.message); + } + } catch (e) { + console.error(e); + alert('데이터 조회 중 오류가 발생했습니다.'); + } finally { + document.getElementById('loading').style.display = 'none'; + } +} + +function updateLoadingMessage(msg) { + const loadingText = document.getElementById('loading-text'); + if (loadingText) loadingText.textContent = msg; +} + +function renderComparison() { + const container = document.getElementById('result-container'); + const showDiffOnly = document.getElementById('show-diff-only').checked; + + container.innerHTML = ''; + + const serverIds = Object.keys(analysisData); + if (serverIds.length === 0) { + container.innerHTML = '

    데이터가 없습니다.

    '; + return; + } + + // 통합된 모든 키(Attribute Name) 수집 + const allKeys = new Set(); + const serverNames = {}; + const serverUpdated = {}; // 마지막 업데이트 시간 + + serverIds.forEach(id => { + const data = analysisData[id]; + serverNames[id] = data.name; + + // 가장 최근 업데이트 시간 찾기 + const times = [data.bios_updated, data.idrac_updated, data.system_updated].filter(t => t); + if (times.length > 0) { + times.sort(); + serverUpdated[id] = times[times.length - 1]; // 가장 최신 + } else { + serverUpdated[id] = 'N/A'; + } + + // BIOS + if (data.bios) Object.keys(data.bios).forEach(k => allKeys.add('BIOS: ' + k)); + // iDRAC + if (data.idrac) Object.keys(data.idrac).forEach(k => allKeys.add('iDRAC: ' + k)); + // System + if (data.system) Object.keys(flattenObject(data.system)).forEach(k => allKeys.add('System: ' + k)); + }); + + const sortedKeys = Array.from(allKeys).sort(); + + // 테이블 생성 + const table = document.createElement('table'); + table.className = 'comparison-table'; + + // 헤더 + const thead = document.createElement('thead'); + let headerHtml = 'Attribute'; + serverIds.forEach(id => { + headerHtml += `${serverNames[id]}`; + }); + headerHtml += ''; + + // 업데이트 시간 행 추가 + headerHtml += 'Local DB Updated'; + serverIds.forEach(id => { + const timeStr = serverUpdated[id] !== 'N/A' ? new Date(serverUpdated[id]).toLocaleString() : 'Never'; + headerHtml += `${timeStr}`; + }); + headerHtml += ''; + + thead.innerHTML = headerHtml; + table.appendChild(thead); + + // 바디 + const tbody = document.createElement('tbody'); + let hasDiff = false; + + sortedKeys.forEach(key => { + const row = document.createElement('tr'); + let rowHtml = `${key}`; + + // 값 비교를 위한 배열 + const values = []; + + serverIds.forEach(id => { + const val = getValueByKey(analysisData[id], key); + values.push(val); + }); + + // 값들이 모두 같은지 확인 + const firstVal = values[0]; + const isDiff = !values.every(v => v === firstVal); + + if (isDiff) { + row.classList.add('diff-row'); + hasDiff = true; + } + + if (showDiffOnly && !isDiff) { + return; // Diff Only 모드이고 차이가 없으면 건너뜀 + } + + values.forEach(val => { + const displayVal = (val === undefined || val === null) ? 'N/A' : val; + const cellClass = (isDiff && val !== firstVal) ? 'diff-highlight' : ''; // 첫번째 서버(기준)와 다르면 강조 + rowHtml += `${displayVal}`; + }); + + row.innerHTML = rowHtml; + tbody.appendChild(row); + }); + + if (showDiffOnly && !hasDiff) { + // 차이점이 하나도 없는데 차이점만 보기 체크된 경우 빈 row가 아니라 메시지 표시가 나을지 고민 + // tbody가 비어있음 + } + + if (tbody.children.length === 0) { + tbody.innerHTML = '표시할 항목이 없습니다.'; + } + + table.appendChild(tbody); + container.appendChild(table); +} + +// 헬퍼: 키(Category: Name)로 값 추출 +function getValueByKey(data, compositeKey) { + if (!data) return undefined; + + const [category, ...rest] = compositeKey.split(': '); + const realKey = rest.join(': '); // 혹시 키 안에 콜론이 있을 경우 복구 + + if (category === 'BIOS') return data.bios ? data.bios[realKey] : undefined; + if (category === 'iDRAC') return data.idrac ? data.idrac[realKey] : undefined; + if (category === 'System') { + const flatSys = flattenObject(data.system); + return flatSys ? flatSys[realKey] : undefined; + } + return undefined; +} + +// 객체 평탄화 (Nested Object -> Flat Key) +function flattenObject(obj, prefix = '') { + if (!obj) return {}; + return Object.keys(obj).reduce((acc, k) => { + const pre = prefix.length ? prefix + '.' : ''; + if (typeof obj[k] === 'object' && obj[k] !== null) { + Object.assign(acc, flattenObject(obj[k], pre + k)); + } else { + acc[pre + k] = obj[k]; + } + return acc; + }, {}); +} + +function downloadReport() { + const table = document.querySelector('.comparison-table'); + if (!table) { + alert('다운로드할 데이터가 없습니다. 먼저 분석을 진행해주세요.'); + return; + } + + let csvContent = "\uFEFF"; // BOM for Excel UTF-8 + const rows = table.querySelectorAll('tr'); + + rows.forEach(row => { + const cols = row.querySelectorAll('th, td'); + const rowData = []; + + cols.forEach(col => { + // 따옴표 처리 및 텍스트 추출 + let text = col.innerText || col.textContent; + text = text.replace(/"/g, '""'); // 따옴표 이스케이프 + + // 줄바꿈 제거 + text = text.replace(/(\r\n|\n|\r)/gm, " "); + + if (text.includes(',') || text.includes('"')) { + text = `"${text}"`; + } + rowData.push(text); + }); + + csvContent += rowData.join(',') + "\r\n"; + }); + + const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' }); + const link = document.createElement('a'); + const url = URL.createObjectURL(blob); + + const timestamp = new Date().toISOString().slice(0, 19).replace(/[:T]/g, '-'); + link.setAttribute('href', url); + link.setAttribute('download', `server_config_comparison_${timestamp}.csv`); + link.style.visibility = 'hidden'; + + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); +} diff --git a/backend/templates/admin_logs.html b/backend/templates/admin_logs.html index f2979eb..1546e65 100644 --- a/backend/templates/admin_logs.html +++ b/backend/templates/admin_logs.html @@ -12,8 +12,7 @@ /* 초기 높이 */ min-height: 300px; /* 최소 높이 */ - max-height: 1200px; - /* 최대 높이 (선택 사항) */ + /* max-height 제거하여 제한 없이 확장 가능하게 함 */ background: #1e1e1e; border: 1px solid #333; border-radius: 6px; @@ -21,7 +20,7 @@ overflow: hidden; /* resize를 위해 필수 */ resize: vertical; - /* 수직 리사이징 활성화 */ + /* 수직 리사이징만 활성화 (수평 고정) */ position: relative; /* 자식 요소 relative 기준 */ } diff --git a/backend/templates/base.html b/backend/templates/base.html index 49a1421..f77b91c 100644 --- a/backend/templates/base.html +++ b/backend/templates/base.html @@ -86,6 +86,16 @@ Job Monitor
    - - - - {# 헤더 섹션 #} -
    -
    -

    - - 서버 관리 대시보드 -

    -

    IP 처리 및 파일 관리를 위한 통합 관리 도구

    -
    -
    - - {# 메인 작업 영역 #} -
    - {# IP 처리 카드 #} -
    -
    -
    -
    - - IP 처리 -
    -
    -
    -
    - - - {# 스크립트 선택 #} -
    - -
    - - {# XML 파일 선택 (조건부) #} - - - {# IP 주소 입력 #} -
    - - -
    - -
    - -
    -
    -
    -
    -
    - - {# 공유 작업 카드 #} -
    -
    -
    -
    - - 공유 작업 -
    -
    -
    -
    - - -
    - - -
    - -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    -
    -
    -
    -
    - - {# 진행바 #} -
    -
    -
    -
    -
    - - 처리 진행률 -
    -
    -
    - 0% -
    -
    -
    -
    -
    -
    - - {# 파일 관리 도구 #} -
    -
    -
    -
    -
    - - 파일 관리 도구 -
    -
    - -
    -
    - - -
    - -
    -
    -
    -
    - ZIP -
    -
    - -
    - - -
    -
    -
    -
    -
    - - -
    -
    -
    -
    - 백업 -
    -
    - -
    - - -
    -
    -
    -
    -
    -
    - - -
    -
    - - 파일 정리 (Quick Move) - -
    - -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - {# 처리된 파일 목록 #} -
    -
    -
    -
    -
    - - 처리된 파일 목록 -
    -
    -
    - {% if files_to_display and files_to_display|length > 0 %} - - - - {% if total_pages > 1 %} - - {% endif %} - - - {% else %} -
    - -

    표시할 파일이 없습니다.

    -
    - {% endif %} -
    -
    -
    -
    - - {# 백업된 파일 목록 #} -
    -
    -
    -
    -
    - - 백업된 파일 목록 -
    -
    -
    - {% if backup_files and backup_files|length > 0 %} -
    - {% for date, info in backup_files.items() %} -
    -
    -
    - - {{ date }} - {{ info.count }} 파일 -
    - -
    -
    -
    -
    - {% for file in info.files %} -
    - -
    - {% endfor %} -
    -
    -
    -
    - {% endfor %} -
    - - - {% if total_backup_pages > 1 %} - - {% endif %} - {% else %} -
    - -

    백업된 파일이 없습니다.

    -
    - {% endif %} -
    -
    -
    -
    - -
  • + + {% if current_user.is_admin %} + {# 탭 2: 백업 및 저장소 (드롭다운으로 할지, 서브탭으로 할지 결정. 여기서는 메인 탭 내부 서브탭 방식 채택) #} + + - - - - {# 백업된 파일 목록 #} -
    -
    -
    -
    -
    - - 백업된 파일 목록 -
    -
    - {% if backup_files and backup_files|length > 0 %} -
    - {% for date, info in backup_files.items() %} -
    -
    -
    - - {{ date }} - {{ info.count }} 파일 +
    + + {# ===================== [TAB 1] 처리된 파일 ===================== #} +
    +
    +
    현재 스테이징 폴더(data/temp/staging)에 + 있는 파일들입니다.
    +
    + +
    -
    -
    -
    -
    - {% for file in info.files %} -
    -
    - - {{ file.rsplit('.', 1)[0] }} - -
    -
    + + {# ===================== [TAB 2] 백업 및 저장소 ===================== #} +
    + + {# 서브 탭 (Pills) #} + + +
    + + {# ----- 서브탭 1: 일별 백업 (기존 아코디언 스타일 유지 + 파일 목록 테이블화) ----- #} +
    + {% if server_info_files and server_info_files|length > 0 %} +
    + {% for folder_name, info in server_info_files.items() %} +
    +

    +
    + + + {# 폴더 액션 버튼 (버튼 밖으로 이동하여 HTML 표준 준수) #} +
    +
    + + +
    +
    + + +
    +
    +
    +

    +
    +
    + {# 백업 파일 테이블 (내부 검색/정렬은 생략하거나 필요시 추가) #} +
    + + + + + + + + + {% for file in info.files %} + + + + + {% endfor %} + +
    파일명보기
    + + {{ file }} + + + +
    +
    {% endfor %}
    + + {# 백업 페이지네이션 #} + {% if total_backup_pages > 1 %} + + {% endif %} + + {% else %} +
    백업된 파일이 없습니다.
    + {% endif %}
    + + {# ----- 서브탭 2: MAC ----- #} +
    + {% with table_id="tableMac", files=mac_files, folder="mac", empty_msg="MAC 파일이 없습니다." %} + {% include "snippets/repo_file_table.html" %} + {% endwith %} +
    + + {# ----- 서브탭 3: GUID ----- #} +
    + {% with table_id="tableGuid", files=guid_files, folder="guid", empty_msg="GUID 파일이 없습니다." %} + {% include "snippets/repo_file_table.html" %} + {% endwith %} +
    + + {# ----- 서브탭 4: GPU ----- #} +
    + {% with table_id="tableGpu", files=gpu_files, folder="gpu", empty_msg="GPU 파일이 없습니다." %} + {% include "snippets/repo_file_table.html" %} + {% endwith %} +
    +
    -
    - {% endfor %} +
    +
    - - - {% if total_backup_pages > 1 %} - - {% endif %} - {% else %} -
    - -

    백업된 파일이 없습니다.

    -
    - {% endif %}
    +
    {# 파일 보기 모달 #} @@ -547,11 +802,53 @@ window.APP_CONFIG = { moveBackupUrl: "{{ url_for('main.move_backup_files') }}", csrfToken: "{{ csrf_token() }}", - downloadBaseUrl: "{{ url_for('main.download_backup_file', date='PLACEHOLDER_DATE', filename='PLACEHOLDER_FILE') }}" + downloadBaseUrl: "{{ url_for('main.download_backup_file', date='PLACEHOLDER_DATE', filename='PLACEHOLDER_FILE') }}", + systemControlUrl: "{{ url_for('utils.system_control') }}" }; + + diff --git a/backend/templates/manage_xml.html b/backend/templates/manage_xml.html index 0ee1c41..6695cad 100644 --- a/backend/templates/manage_xml.html +++ b/backend/templates/manage_xml.html @@ -98,6 +98,26 @@ margin-bottom: 1rem; } + /* 테이블 뷰 스타일 */ + #xmlFileTable { + font-size: 0.85rem; + } + + .table-hover tbody tr:hover { + background-color: #f8fafc; + } + + .file-icon-wrapper-sm { + width: 32px; + height: 32px; + display: flex; + align-items: center; + justify-content: center; + background-color: #eff6ff; + color: #3b82f6; + border-radius: 6px; + } + .card-actions { display: flex; gap: 0.5rem; @@ -215,58 +235,56 @@
    {% if xml_files %} -
    - {% for xml_file in xml_files %} -
    -
    -
    - -
    - -
    -
    - -
    -
    - {{ xml_file }} -
    -
    - -
    -
    - - - - - - 편집 - - - -
    - - +
    + + + + + +
    + +
    +
    + +
    +
    + + +
    +
    + +
    +
    + + +
    +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Racadm Command Tester
    +
    +
    +
    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + +
    +
    + +
    + racadm + +
    +
    Note: 'racadm' is automatically prepended. Just enter the + arguments (e.g. 'getsysinfo' or 'get NIC.NICConfig.1').
    +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    
    +                                
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + +{% endblock %} \ No newline at end of file diff --git a/backend/templates/snippets/repo_file_table.html b/backend/templates/snippets/repo_file_table.html new file mode 100644 index 0000000..7c0318c --- /dev/null +++ b/backend/templates/snippets/repo_file_table.html @@ -0,0 +1,48 @@ +
    +
    + + +
    +
    + +
    + + + + + + + + + + + {% if files and files|length > 0 %} + {% for file in files %} + + + + + + + {% endfor %} + {% else %} + + + + {% endif %} + +
    파일명 크기 날짜 보기
    + {{ file.name }} + {{ (file.size / 1024)|round(1) }} KB{{ file.date }} + +
    {{ empty_msg }}
    +
    \ No newline at end of file diff --git a/backend/validate_divs.py b/backend/validate_divs.py new file mode 100644 index 0000000..a377d8b --- /dev/null +++ b/backend/validate_divs.py @@ -0,0 +1,69 @@ +from html.parser import HTMLParser +import sys + +class DetailedDivValidator(HTMLParser): + def __init__(self): + super().__init__() + self.stack = [] + self.errors = [] + self.important_divs = ['fileTabsContent', 'processed', 'repository', 'repoTabsContent', 'pills-backup'] + + def handle_starttag(self, tag, attrs): + if tag == 'div': + attr_dict = dict(attrs) + div_id = attr_dict.get('id', '') + div_class = attr_dict.get('class', '') + + line_no = self.getpos()[0] + self.stack.append({ + 'tag': 'div', + 'id': div_id, + 'class': div_class, + 'line': line_no + }) + + if div_id in self.important_divs: + print(f"Line {line_no:4d}: OPEN
    (depth: {len(self.stack)})") + + def handle_endtag(self, tag): + if tag == 'div': + if not self.stack: + line_no = self.getpos()[0] + self.errors.append(f"Line {line_no}: Unexpected
    - no matching opening tag") + print(f"Line {line_no:4d}: ERROR - Unexpected
    ") + return + + opened = self.stack.pop() + line_no = self.getpos()[0] + + if opened['id'] in self.important_divs: + print(f"Line {line_no:4d}: CLOSE
    (was id=\"{opened['id']}\", opened at line {opened['line']}, depth: {len(self.stack)+1})") + + def validate(self, html_content): + self.feed(html_content) + + if self.stack: + print("\n=== UNCLOSED DIVS ===") + for item in self.stack: + print(f"Line {item['line']}: Unclosed
    ") + self.errors.append(f"Line {item['line']}: Unclosed
    ") + + return self.errors + +# Read the file +file_path = r"d:\Code\iDRAC_Info\idrac_info\backend\templates\index.html" +with open(file_path, "r", encoding="utf-8") as f: + content = f.read() + +print("=== IMPORTANT DIV STRUCTURE ===\n") +validator = DetailedDivValidator() +errors = validator.validate(content) + +if errors: + print("\n=== ERRORS FOUND ===") + for error in errors: + print(error) + sys.exit(1) +else: + print("\n=== NO ERRORS FOUND ===") + sys.exit(0) diff --git a/backend/validate_html.py b/backend/validate_html.py new file mode 100644 index 0000000..1411d6d --- /dev/null +++ b/backend/validate_html.py @@ -0,0 +1,55 @@ + +from html.parser import HTMLParser + +class DivValidator(HTMLParser): + def __init__(self): + super().__init__() + self.stack = [] + self.errors = [] + self.indent_level = 0 + + def handle_starttag(self, tag, attrs): + if tag == 'div': + # Create a simplified representation of the div with id/class for identification + attr_dict = dict(attrs) + ident = "" + if 'id' in attr_dict: + ident += f"#{attr_dict['id']}" + if 'class' in attr_dict: + ident += f".{attr_dict['class'].replace(' ', '.')}" + + self.stack.append((self.getpos(), ident)) + # print(f"{' ' * len(self.stack)}
    ") + + def handle_endtag(self, tag): + if tag == 'div': + if not self.stack: + self.errors.append(f"Unexpected
    at {self.getpos()}") + else: + pos, ident = self.stack.pop() + # print(f"{' ' * (len(self.stack) + 1)}
    ({ident})") + + def validate(self, html_content): + # Allow Jinja2 template tags to pass through, but we might have issues if they contain divs + # For this specific case, we assume simple Jinja usage that doesn't split divs across blocks strangely + self.feed(html_content) + + if self.stack: + for pos, ident in self.stack: + self.errors.append(f"Unclosed
    starting at {pos}") + + return self.errors + +# Read the file +with open(r"d:\Code\iDRAC_Info\idrac_info\backend\templates\index.html", "r", encoding="utf-8") as f: + content = f.read() + +validator = DivValidator() +errors = validator.validate(content) + +if errors: + print("Found HTML Structure Errors:") + for error in errors: + print(error) +else: + print("No div nesting errors found.") diff --git a/check_telegram.py b/check_telegram.py deleted file mode 100644 index 2dbf2e5..0000000 --- a/check_telegram.py +++ /dev/null @@ -1,10 +0,0 @@ -import sys -try: - import telegram - print(f"Telegram library found. Version: {telegram.__version__}") - from telegram import Bot - print("Bot class imported successfully.") -except ImportError as e: - print(f"ImportError: {e}") -except Exception as e: - print(f"Error during import: {e}") diff --git a/config.py b/config.py index ae03ee6..e21aa73 100644 --- a/config.py +++ b/config.py @@ -17,18 +17,22 @@ INSTANCE_DIR = BASE_DIR / "backend" / "instance" INSTANCE_DIR.mkdir(parents=True, exist_ok=True) # data/ 하위 보조 디렉토리 -(DATA_DIR / "logs").mkdir(parents=True, exist_ok=True) -(DATA_DIR / "uploads").mkdir(parents=True, exist_ok=True) -(DATA_DIR / "temp_zips").mkdir(parents=True, exist_ok=True) -(DATA_DIR / "xml").mkdir(parents=True, exist_ok=True) +(DATA_DIR / "system" / "logs").mkdir(parents=True, exist_ok=True) +(DATA_DIR / "system" / "backup").mkdir(parents=True, exist_ok=True) +(DATA_DIR / "system" / "archive").mkdir(parents=True, exist_ok=True) +(DATA_DIR / "system" / "mac_backup").mkdir(parents=True, exist_ok=True) + +(DATA_DIR / "temp" / "uploads").mkdir(parents=True, exist_ok=True) +(DATA_DIR / "temp" / "zips").mkdir(parents=True, exist_ok=True) +(DATA_DIR / "temp" / "staging").mkdir(parents=True, exist_ok=True) + +(DATA_DIR / "repository" / "xml").mkdir(parents=True, exist_ok=True) +(DATA_DIR / "repository" / "mac").mkdir(parents=True, exist_ok=True) +(DATA_DIR / "repository" / "guid_file").mkdir(parents=True, exist_ok=True) +(DATA_DIR / "repository" / "gpu_serial").mkdir(parents=True, exist_ok=True) + (DATA_DIR / "scripts").mkdir(parents=True, exist_ok=True) -(DATA_DIR / "idrac_info").mkdir(parents=True, exist_ok=True) -(DATA_DIR / "mac").mkdir(parents=True, exist_ok=True) -(DATA_DIR / "guid_file").mkdir(parents=True, exist_ok=True) -(DATA_DIR / "gpu_serial").mkdir(parents=True, exist_ok=True) -(DATA_DIR / "mac_backup").mkdir(parents=True, exist_ok=True) (DATA_DIR / "server_list").mkdir(parents=True, exist_ok=True) -(DATA_DIR / "temp_ip").mkdir(parents=True, exist_ok=True) class Config: @@ -63,18 +67,26 @@ class Config: TELEGRAM_CHAT_ID = os.environ.get("TELEGRAM_CHAT_ID", "") # ── 앱 폴더 경로 (문자열) - UPLOAD_FOLDER = (DATA_DIR / "temp_ip").as_posix() - BACKUP_FOLDER = (DATA_DIR / "backup").as_posix() - TEMP_ZIP_FOLDER = (DATA_DIR / "temp_zips").as_posix() - XML_FOLDER = (DATA_DIR / "xml").as_posix() + # [Restructured] + UPLOAD_FOLDER = (DATA_DIR / "temp" / "uploads").as_posix() + BACKUP_FOLDER = (DATA_DIR / "system" / "backup").as_posix() + TEMP_ZIP_FOLDER = (DATA_DIR / "temp" / "zips").as_posix() + + XML_FOLDER = (DATA_DIR / "repository" / "xml").as_posix() # Assuming xml fits in repository SCRIPT_FOLDER = (DATA_DIR / "scripts").as_posix() - IDRAC_INFO_FOLDER = (DATA_DIR / "idrac_info").as_posix() - MAC_FOLDER = (DATA_DIR / "mac").as_posix() - GUID_FOLDER = (DATA_DIR / "guid_file").as_posix() - GPU_FOLDER = (DATA_DIR / "gpu_serial").as_posix() - MAC_BACKUP_FOLDER = (DATA_DIR / "mac_backup").as_posix() - SERVER_LIST_FOLDER = (DATA_DIR / "server_list").as_posix() - LOG_FOLDER = (DATA_DIR / "logs").as_posix() + + # Staging area for collection results + IDRAC_INFO_FOLDER = (DATA_DIR / "temp" / "staging").as_posix() + + # Final repositories + MAC_FOLDER = (DATA_DIR / "repository" / "mac").as_posix() + GUID_FOLDER = (DATA_DIR / "repository" / "guid_file").as_posix() + GPU_FOLDER = (DATA_DIR / "repository" / "gpu_serial").as_posix() + MAC_BACKUP_FOLDER = (DATA_DIR / "system" / "mac_backup").as_posix() + ARCHIVE_FOLDER = (DATA_DIR / "system" / "archive").as_posix() + + SERVER_LIST_FOLDER = (DATA_DIR / "server_list").as_posix() # Keep as is for now or move to repo? + LOG_FOLDER = (DATA_DIR / "system" / "logs").as_posix() # ── 업로드/파일 ALLOWED_EXTENSIONS = {"xml"} @@ -82,7 +94,7 @@ class Config: # ── 페이지네이션/병렬 FILES_PER_PAGE = int(os.getenv("FILES_PER_PAGE", 35)) - BACKUP_FILES_PER_PAGE = int(os.getenv("BACKUP_FILES_PER_PAGE", 5)) + BACKUP_FILES_PER_PAGE = int(os.getenv("BACKUP_FILES_PER_PAGE", 10)) MAX_WORKERS = int(os.getenv("MAX_WORKERS", 60)) # ── 세션 diff --git a/data/backend/instance/site.db b/data/backend/instance/site.db deleted file mode 100644 index a82f97c062e7c54f00ddf556b4085fe88f96b68b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24576 zcmeI(J#X7a7zc1tk{!#atPU~U%>-f~791En9(g>vXlun#T_ds_$#P+LQSQiNLfDcV zNlu+iwX=2a)}ULb4jsJoQ*_N2$PzR|(IsP!PAphzn+^>!1pfn$FZV(|&yQS4QQP%u zGEi3B?X|_gqQ=LDX&S4RWf(?I*GXM3N=9#_Z5PG7*m%o2XDokzwNQL%Occ(HnV*Wk z7k@6C&D?p*40J&N0uX=z1Rwwb2tWV=5P-l?;G~qhGPks3p5_Na9w>33+A;}S4^*$8 zbUS0a6Kjo1xmmHA<(t)tHP&e@PUqiDYjuv=*4O36+E?YqB6UhuZL4Y3cB<7I)^vVt ztG3;2ls9V4@guYj_e1M;V`H=2*t2d`_N>KA$16>jKAV`Ft1p>G(uve@|Nen~*ldZT zLHB&WH5N{bj5SQ2=FBT|v$N*o{qt0h`l^@K%t%scOPWa%SvtbXdZjTEeA?X+Z8gl! zu}8C0ZIK)dd&zkBq3HL&?e?PK2sSo9>9<7GPCC}jt*vUMTua5$ws4RRO);I?a?)k)dgea|l5}8J-%L~K4OP%JGjn7V zzt9U52tWV=5P$##AOHafKmY;|fWW&HI9bn38S~z0J)eL6+jq}@{o%!vU+#*|-Fr%{ zK2rU|UUxa{F7NmHVejGLV1+t9<12iHEU1SLq2BiPEw{b%=>F#3Lg++-(vbVoCALF7 zpEKb&j>|~QmGU;>MiI@l#Qc8SV3g#2yg)9oFEn=!%8goYMlg~|^$+gq^)RfNT#p56UcycCWxT>p8q5Zc6 zy7zX!+1y)i9N&(Q%e!ChE^ww#Cp_QwJv)rz*dY9GJLHk0 z0w<(V7)6dt6?3_3OVxZ^tK`a^LjImhyR43_sZWJ?Zz+CBulEfqyO2sbcB91*l zY%#5`Yo_?jC_XFx^)4?ljs*b-KmY;|fB*y_009U<00IzzzIsldNa{(~ne4Uv zr7slH@Bj6m{!t(R0SG_<0uX=z1Rwwb2tWV=5cq%v(%=8_{Qm)8V59~C2tWV=5P$## PAOHafKmY;|&;qXju18ii diff --git a/data/backup/새 폴더/1BZ7HG4.txt b/data/backup/새 폴더/1BZ7HG4.txt deleted file mode 100644 index 3b8a6ca..0000000 --- a/data/backup/새 폴더/1BZ7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -1BZ7HG4 -Slot.38: 3825:F303:0085:07A6 -Slot.39: 3825:F303:0084:FDBA -Slot.37: 3825:F303:0085:07EE -Slot.36: 3825:F303:0085:1E66 -Slot.32: 3825:F303:0084:FABE -Slot.33: 3825:F303:0084:FE76 -Slot.34: 3825:F303:0084:FE5E -Slot.35: 3825:F303:0085:07EA -Slot.31: 3825:F303:0084:FC26 -Slot.40: 3825:F303:0084:FBCA -GUID: 0x3825F303008507A6;0x3825F3030084FDBA;0x3825F303008507EE;0x3825F30300851E66;0x3825F3030084FABE;0x3825F3030084FE76;0x3825F3030084FE5E;0x3825F303008507EA;0x3825F3030084FC26;0x3825F3030084FBCA diff --git a/data/backup/새 폴더/1T48HG4.txt b/data/backup/새 폴더/1T48HG4.txt deleted file mode 100644 index 818e8f2..0000000 --- a/data/backup/새 폴더/1T48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -1T48HG4 -Slot.38: B45C:B503:000D:C3FA -Slot.39: B45C:B503:000D:C3AA -Slot.37: B45C:B503:000D:C3B6 -Slot.36: B45C:B503:000D:C3AE -Slot.32: B45C:B503:000D:C3DE -Slot.33: 605E:6503:00EE:1FC8 -Slot.34: 605E:6503:00EE:1FEC -Slot.35: 605E:6503:00EE:1F40 -Slot.31: 605E:6503:00EE:1FC4 -Slot.40: B45C:B503:000D:C3CE -GUID: 0xB45CB503000DC3FA;0xB45CB503000DC3AA;0xB45CB503000DC3B6;0xB45CB503000DC3AE;0xB45CB503000DC3DE;0x605E650300EE1FC8;0x605E650300EE1FEC;0x605E650300EE1F40;0x605E650300EE1FC4;0xB45CB503000DC3CE diff --git a/data/backup/새 폴더/1V48HG4.txt b/data/backup/새 폴더/1V48HG4.txt deleted file mode 100644 index 71d0bbc..0000000 --- a/data/backup/새 폴더/1V48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -1V48HG4 -Slot.38: B45C:B503:000D:C602 -Slot.39: B45C:B503:000D:C61E -Slot.37: 605E:6503:00EE:1DF0 -Slot.36: B45C:B503:000D:C616 -Slot.32: B45C:B503:000D:C60A -Slot.33: B45C:B503:000D:C5EE -Slot.34: 605E:6503:00EE:1D70 -Slot.35: 605E:6503:00EE:1E3C -Slot.31: 605E:6503:00EE:1B6C -Slot.40: B45C:B503:000D:C5C2 -GUID: 0xB45CB503000DC602;0xB45CB503000DC61E;0x605E650300EE1DF0;0xB45CB503000DC616;0xB45CB503000DC60A;0xB45CB503000DC5EE;0x605E650300EE1D70;0x605E650300EE1E3C;0x605E650300EE1B6C;0xB45CB503000DC5C2 diff --git a/data/gpu_serial/152F7G4.txt b/data/gpu_serial/152F7G4.txt deleted file mode 100644 index 117fe92..0000000 --- a/data/gpu_serial/152F7G4.txt +++ /dev/null @@ -1,12 +0,0 @@ -152F7G4 -Slot.38: B45C:B503:000D:CE2A -Slot.39: B45C:B503:000D:CDBE -Slot.37: B45C:B503:000D:CE32 -Slot.36: B45C:B503:000D:CE66 -Slot.32: B45C:B503:000D:CE2E -Slot.33: B45C:B503:000D:CE1A -Slot.34: B45C:B503:000D:CE56 -Slot.35: B45C:B503:000D:CE76 -Slot.31: B45C:B503:000D:CE3E -Slot.40: B45C:B503:000D:CE12 -GUID: 0xB45CB503000DCE2A;0xB45CB503000DCDBE;0xB45CB503000DCE32;0xB45CB503000DCE66;0xB45CB503000DCE2E;0xB45CB503000DCE1A;0xB45CB503000DCE56;0xB45CB503000DCE76;0xB45CB503000DCE3E;0xB45CB503000DCE12 diff --git a/data/gpu_serial/17Z7HG4.txt b/data/gpu_serial/17Z7HG4.txt deleted file mode 100644 index 6ddd82e..0000000 --- a/data/gpu_serial/17Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -17Z7HG4 -Slot.38: 3825:F303:0085:04AE -Slot.39: 3825:F303:0085:0576 -Slot.37: 3825:F303:0085:04A2 -Slot.36: 3825:F303:0085:054E -Slot.32: 3825:F303:0085:0546 -Slot.33: 3825:F303:0085:0572 -Slot.34: 3825:F303:0085:04FA -Slot.35: 3825:F303:0085:049A -Slot.31: 3825:F303:0085:0516 -Slot.40: 3825:F303:0085:051A -GUID: 0x3825F303008504AE;0x3825F30300850576;0x3825F303008504A2;0x3825F3030085054E;0x3825F30300850546;0x3825F30300850572;0x3825F303008504FA;0x3825F3030085049A;0x3825F30300850516;0x3825F3030085051A diff --git a/data/gpu_serial/18Z7HG4.txt b/data/gpu_serial/18Z7HG4.txt deleted file mode 100644 index f766390..0000000 --- a/data/gpu_serial/18Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -18Z7HG4 -Slot.38: B45C:B503:000D:E44E -Slot.39: B45C:B503:000D:E53A -Slot.37: B45C:B503:000D:E452 -Slot.36: B45C:B503:000D:E42A -Slot.32: B45C:B503:000D:E4C6 -Slot.33: B45C:B503:000D:E502 -Slot.34: B45C:B503:000D:E506 -Slot.35: B45C:B503:000D:E53E -Slot.31: B45C:B503:000D:E436 -Slot.40: B45C:B503:000D:E43A -GUID: 0xB45CB503000DE44E;0xB45CB503000DE53A;0xB45CB503000DE452;0xB45CB503000DE42A;0xB45CB503000DE4C6;0xB45CB503000DE502;0xB45CB503000DE506;0xB45CB503000DE53E;0xB45CB503000DE436;0xB45CB503000DE43A diff --git a/data/gpu_serial/19Z7HG4.txt b/data/gpu_serial/19Z7HG4.txt deleted file mode 100644 index 3090a5d..0000000 --- a/data/gpu_serial/19Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -19Z7HG4 -Slot.38: 3825:F303:0085:04E6 -Slot.39: 3825:F303:0085:0596 -Slot.37: 3825:F303:0085:05BA -Slot.36: 3825:F303:0085:05B2 -Slot.32: 3825:F303:0085:05A2 -Slot.33: 3825:F303:0085:04B6 -Slot.34: 3825:F303:0085:05B6 -Slot.35: 3825:F303:0085:05AE -Slot.31: 3825:F303:0085:058E -Slot.40: 3825:F303:0085:0552 -GUID: 0x3825F303008504E6;0x3825F30300850596;0x3825F303008505BA;0x3825F303008505B2;0x3825F303008505A2;0x3825F303008504B6;0x3825F303008505B6;0x3825F303008505AE;0x3825F3030085058E;0x3825F30300850552 diff --git a/data/gpu_serial/1BZ7HG4.txt b/data/gpu_serial/1BZ7HG4.txt deleted file mode 100644 index 3b8a6ca..0000000 --- a/data/gpu_serial/1BZ7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -1BZ7HG4 -Slot.38: 3825:F303:0085:07A6 -Slot.39: 3825:F303:0084:FDBA -Slot.37: 3825:F303:0085:07EE -Slot.36: 3825:F303:0085:1E66 -Slot.32: 3825:F303:0084:FABE -Slot.33: 3825:F303:0084:FE76 -Slot.34: 3825:F303:0084:FE5E -Slot.35: 3825:F303:0085:07EA -Slot.31: 3825:F303:0084:FC26 -Slot.40: 3825:F303:0084:FBCA -GUID: 0x3825F303008507A6;0x3825F3030084FDBA;0x3825F303008507EE;0x3825F30300851E66;0x3825F3030084FABE;0x3825F3030084FE76;0x3825F3030084FE5E;0x3825F303008507EA;0x3825F3030084FC26;0x3825F3030084FBCA diff --git a/data/gpu_serial/1T48HG4.txt b/data/gpu_serial/1T48HG4.txt deleted file mode 100644 index 818e8f2..0000000 --- a/data/gpu_serial/1T48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -1T48HG4 -Slot.38: B45C:B503:000D:C3FA -Slot.39: B45C:B503:000D:C3AA -Slot.37: B45C:B503:000D:C3B6 -Slot.36: B45C:B503:000D:C3AE -Slot.32: B45C:B503:000D:C3DE -Slot.33: 605E:6503:00EE:1FC8 -Slot.34: 605E:6503:00EE:1FEC -Slot.35: 605E:6503:00EE:1F40 -Slot.31: 605E:6503:00EE:1FC4 -Slot.40: B45C:B503:000D:C3CE -GUID: 0xB45CB503000DC3FA;0xB45CB503000DC3AA;0xB45CB503000DC3B6;0xB45CB503000DC3AE;0xB45CB503000DC3DE;0x605E650300EE1FC8;0x605E650300EE1FEC;0x605E650300EE1F40;0x605E650300EE1FC4;0xB45CB503000DC3CE diff --git a/data/gpu_serial/1V48HG4.txt b/data/gpu_serial/1V48HG4.txt deleted file mode 100644 index 71d0bbc..0000000 --- a/data/gpu_serial/1V48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -1V48HG4 -Slot.38: B45C:B503:000D:C602 -Slot.39: B45C:B503:000D:C61E -Slot.37: 605E:6503:00EE:1DF0 -Slot.36: B45C:B503:000D:C616 -Slot.32: B45C:B503:000D:C60A -Slot.33: B45C:B503:000D:C5EE -Slot.34: 605E:6503:00EE:1D70 -Slot.35: 605E:6503:00EE:1E3C -Slot.31: 605E:6503:00EE:1B6C -Slot.40: B45C:B503:000D:C5C2 -GUID: 0xB45CB503000DC602;0xB45CB503000DC61E;0x605E650300EE1DF0;0xB45CB503000DC616;0xB45CB503000DC60A;0xB45CB503000DC5EE;0x605E650300EE1D70;0x605E650300EE1E3C;0x605E650300EE1B6C;0xB45CB503000DC5C2 diff --git a/data/gpu_serial/1XZCZC4.txt b/data/gpu_serial/1XZCZC4.txt deleted file mode 100644 index 8928b07..0000000 --- a/data/gpu_serial/1XZCZC4.txt +++ /dev/null @@ -1,12 +0,0 @@ -1XZCZC4 -Slot.38: 3825:F303:00C4:15EC -Slot.39: 3825:F303:00C4:15F8 -Slot.37: 3825:F303:00C4:15E8 -Slot.36: 3825:F303:00C4:15E4 -Slot.32: 3825:F303:00C4:1564 -Slot.33: 3825:F303:00C4:1560 -Slot.34: 3825:F303:00C4:0AF4 -Slot.35: 3825:F303:00C4:1600 -Slot.31: 3825:F303:00C4:0910 -Slot.40: 3825:F303:00C4:1608 -GUID: 0x3825F30300C415EC;0x3825F30300C415F8;0x3825F30300C415E8;0x3825F30300C415E4;0x3825F30300C41564;0x3825F30300C41560;0x3825F30300C40AF4;0x3825F30300C41600;0x3825F30300C40910;0x3825F30300C41608 diff --git a/data/gpu_serial/2058HG4.txt b/data/gpu_serial/2058HG4.txt deleted file mode 100644 index ddf3f2e..0000000 --- a/data/gpu_serial/2058HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -2058HG4 -Slot.38: B45C:B503:000D:C41E -Slot.39: 605E:6503:00EE:20B0 -Slot.37: 605E:6503:0075:307C -Slot.36: 605E:6503:0075:30CC -Slot.32: 605E:6503:00EE:20A8 -Slot.33: 605E:6503:0075:3028 -Slot.34: 605E:6503:0075:2F80 -Slot.35: 605E:6503:0075:3218 -Slot.31: 605E:6503:0075:3260 -Slot.40: 605E:6503:00EE:204C -GUID: 0xB45CB503000DC41E;0x605E650300EE20B0;0x605E65030075307C;0x605E6503007530CC;0x605E650300EE20A8;0x605E650300753028;0x605E650300752F80;0x605E650300753218;0x605E650300753260;0x605E650300EE204C diff --git a/data/gpu_serial/26Z7HG4.txt b/data/gpu_serial/26Z7HG4.txt deleted file mode 100644 index 9fc68bc..0000000 --- a/data/gpu_serial/26Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -26Z7HG4 -Slot.38: B45C:B503:0039:DE8E -Slot.39: B45C:B503:0039:DF22 -Slot.37: B45C:B503:0039:DF36 -Slot.36: B45C:B503:0039:DF06 -Slot.32: B45C:B503:0039:DF6E -Slot.33: B45C:B503:0039:DF2A -Slot.34: B45C:B503:0039:DF72 -Slot.35: B45C:B503:0039:DF32 -Slot.31: B45C:B503:0039:DF42 -Slot.40: B45C:B503:0039:DEAA -GUID: 0xB45CB5030039DE8E;0xB45CB5030039DF22;0xB45CB5030039DF36;0xB45CB5030039DF06;0xB45CB5030039DF6E;0xB45CB5030039DF2A;0xB45CB5030039DF72;0xB45CB5030039DF32;0xB45CB5030039DF42;0xB45CB5030039DEAA diff --git a/data/gpu_serial/273HZC4.txt b/data/gpu_serial/273HZC4.txt deleted file mode 100644 index dc921b1..0000000 --- a/data/gpu_serial/273HZC4.txt +++ /dev/null @@ -1,12 +0,0 @@ -273HZC4 -Slot.38: 5C25:7303:000C:386A -Slot.39: 5C25:7303:000C:3932 -Slot.37: 5C25:7303:000C:388A -Slot.36: 5C25:7303:000C:3A7A -Slot.32: 5C25:7303:000C:3A82 -Slot.33: 5C25:7303:000C:3AC2 -Slot.34: 5C25:7303:000C:3B22 -Slot.35: 5C25:7303:000C:3886 -Slot.31: 5C25:7303:000C:3AFA -Slot.40: 5C25:7303:000C:3B1E -GUID: 0x5C257303000C386A;0x5C257303000C3932;0x5C257303000C388A;0x5C257303000C3A7A;0x5C257303000C3A82;0x5C257303000C3AC2;0x5C257303000C3B22;0x5C257303000C3886;0x5C257303000C3AFA;0x5C257303000C3B1E diff --git a/data/gpu_serial/28Z7HG4.txt b/data/gpu_serial/28Z7HG4.txt deleted file mode 100644 index 0874a1f..0000000 --- a/data/gpu_serial/28Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -28Z7HG4 -Slot.38: 3825:F303:0085:0696 -Slot.39: 3825:F303:0085:06CE -Slot.37: 3825:F303:0085:06BE -Slot.36: 3825:F303:0085:03FE -Slot.32: 3825:F303:0085:051E -Slot.33: 3825:F303:0085:058A -Slot.34: 3825:F303:0085:06A6 -Slot.35: 3825:F303:0085:06C6 -Slot.31: 3825:F303:0085:06C2 -Slot.40: 3825:F303:0085:0726 -GUID: 0x3825F30300850696;0x3825F303008506CE;0x3825F303008506BE;0x3825F303008503FE;0x3825F3030085051E;0x3825F3030085058A;0x3825F303008506A6;0x3825F303008506C6;0x3825F303008506C2;0x3825F30300850726 diff --git a/data/gpu_serial/2NYCZC4.txt b/data/gpu_serial/2NYCZC4.txt deleted file mode 100644 index d2cd94c..0000000 --- a/data/gpu_serial/2NYCZC4.txt +++ /dev/null @@ -1,12 +0,0 @@ -2NYCZC4 -Slot.38: 3825:F303:00C4:042C -Slot.39: 3825:F303:00C4:04A8 -Slot.37: 3825:F303:00C4:0420 -Slot.36: 3825:F303:00C4:0418 -Slot.32: 3825:F303:00C4:0508 -Slot.33: 3825:F303:00C4:12B4 -Slot.34: 3825:F303:00C4:12EC -Slot.35: 3825:F303:00C4:122C -Slot.31: 3825:F303:00C4:0484 -Slot.40: 3825:F303:00C4:048C -GUID: 0x3825F30300C4042C;0x3825F30300C404A8;0x3825F30300C40420;0x3825F30300C40418;0x3825F30300C40508;0x3825F30300C412B4;0x3825F30300C412EC;0x3825F30300C4122C;0x3825F30300C40484;0x3825F30300C4048C diff --git a/data/gpu_serial/2T48HG4.txt b/data/gpu_serial/2T48HG4.txt deleted file mode 100644 index 5261592..0000000 --- a/data/gpu_serial/2T48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -2T48HG4 -Slot.38: B45C:B503:000D:C402 -Slot.39: 605E:6503:00EE:2038 -Slot.37: 605E:6503:00EE:1FE0 -Slot.36: 605E:6503:00EE:1FD8 -Slot.32: B45C:B503:000D:C40E -Slot.33: 605E:6503:00EE:2080 -Slot.34: B45C:B503:000D:C406 -Slot.35: 605E:6503:00EE:2054 -Slot.31: B45C:B503:000D:C45A -Slot.40: 605E:6503:00EE:20C8 -GUID: 0xB45CB503000DC402;0x605E650300EE2038;0x605E650300EE1FE0;0x605E650300EE1FD8;0xB45CB503000DC40E;0x605E650300EE2080;0xB45CB503000DC406;0x605E650300EE2054;0xB45CB503000DC45A;0x605E650300EE20C8 diff --git a/data/gpu_serial/2V48HG4.txt b/data/gpu_serial/2V48HG4.txt deleted file mode 100644 index 67bacdf..0000000 --- a/data/gpu_serial/2V48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -2V48HG4 -Slot.38: 605E:6503:00EE:1AA8 -Slot.39: 605E:6503:00EE:1A5C -Slot.37: 605E:6503:00EE:1A1C -Slot.36: 605E:6503:00EE:1AD8 -Slot.32: 605E:6503:00EE:1A98 -Slot.33: 605E:6503:00EE:1A54 -Slot.34: 605E:6503:00EE:1A70 -Slot.35: 605E:6503:00EE:1AA4 -Slot.31: 605E:6503:00EE:1A58 -Slot.40: 605E:6503:00EE:1A18 -GUID: 0x605E650300EE1AA8;0x605E650300EE1A5C;0x605E650300EE1A1C;0x605E650300EE1AD8;0x605E650300EE1A98;0x605E650300EE1A54;0x605E650300EE1A70;0x605E650300EE1AA4;0x605E650300EE1A58;0x605E650300EE1A18 diff --git a/data/gpu_serial/2XZCZC4.txt b/data/gpu_serial/2XZCZC4.txt deleted file mode 100644 index 2f31006..0000000 --- a/data/gpu_serial/2XZCZC4.txt +++ /dev/null @@ -1,12 +0,0 @@ -2XZCZC4 -Slot.38: 3825:F303:00C4:0AEC -Slot.39: 3825:F303:00C4:0AD8 -Slot.37: 3825:F303:00C4:0AC8 -Slot.36: 3825:F303:00C4:15F4 -Slot.32: 3825:F303:00C4:0AD0 -Slot.33: 3825:F303:00C4:0AE0 -Slot.34: 3825:F303:00C4:0ADC -Slot.35: 3825:F303:00C4:1568 -Slot.31: 3825:F303:00C4:0AE8 -Slot.40: 3825:F303:00C4:0AD4 -GUID: 0x3825F30300C40AEC;0x3825F30300C40AD8;0x3825F30300C40AC8;0x3825F30300C415F4;0x3825F30300C40AD0;0x3825F30300C40AE0;0x3825F30300C40ADC;0x3825F30300C41568;0x3825F30300C40AE8;0x3825F30300C40AD4 diff --git a/data/gpu_serial/3058HG4.txt b/data/gpu_serial/3058HG4.txt deleted file mode 100644 index d948e1a..0000000 --- a/data/gpu_serial/3058HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -3058HG4 -Slot.38: 605E:6503:00EE:1F58 -Slot.39: 605E:6503:00EE:1FBC -Slot.37: 605E:6503:00EE:2090 -Slot.36: B45C:B503:000D:C502 -Slot.32: 605E:6503:00EE:1FB8 -Slot.33: 605E:6503:00EE:2084 -Slot.34: 605E:6503:00EE:1F70 -Slot.35: 605E:6503:00EE:1F80 -Slot.31: B45C:B503:000D:C4BA -Slot.40: B45C:B503:000D:C4B2 -GUID: 0x605E650300EE1F58;0x605E650300EE1FBC;0x605E650300EE2090;0xB45CB503000DC502;0x605E650300EE1FB8;0x605E650300EE2084;0x605E650300EE1F70;0x605E650300EE1F80;0xB45CB503000DC4BA;0xB45CB503000DC4B2 diff --git a/data/gpu_serial/332F7G4.txt b/data/gpu_serial/332F7G4.txt deleted file mode 100644 index f3a698c..0000000 --- a/data/gpu_serial/332F7G4.txt +++ /dev/null @@ -1,12 +0,0 @@ -332F7G4 -Slot.38: B45C:B503:000D:CF5A -Slot.39: B45C:B503:000D:D5AE -Slot.37: B45C:B503:000D:D51E -Slot.36: B45C:B503:000D:D67E -Slot.32: B45C:B503:000D:D502 -Slot.33: B45C:B503:000D:D5C6 -Slot.34: B45C:B503:000D:D4FE -Slot.35: B45C:B503:000D:D646 -Slot.31: B45C:B503:000D:CF8E -Slot.40: B45C:B503:000D:CF96 -GUID: 0xB45CB503000DCF5A;0xB45CB503000DD5AE;0xB45CB503000DD51E;0xB45CB503000DD67E;0xB45CB503000DD502;0xB45CB503000DD5C6;0xB45CB503000DD4FE;0xB45CB503000DD646;0xB45CB503000DCF8E;0xB45CB503000DCF96 diff --git a/data/gpu_serial/38Z7HG4.txt b/data/gpu_serial/38Z7HG4.txt deleted file mode 100644 index 10ea413..0000000 --- a/data/gpu_serial/38Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -38Z7HG4 -Slot.38: B45C:B503:000D:DB7A -Slot.39: B45C:B503:000D:DB5E -Slot.37: 3825:F303:0084:FE56 -Slot.36: B45C:B503:000D:DB9A -Slot.32: B45C:B503:000D:DB66 -Slot.33: B45C:B503:000D:DB76 -Slot.34: B45C:B503:000D:DAE2 -Slot.35: 3825:F303:0084:FE6E -Slot.31: B45C:B503:000D:DB5A -Slot.40: 3825:F303:0084:FE72 -GUID: 0xB45CB503000DDB7A;0xB45CB503000DDB5E;0x3825F3030084FE56;0xB45CB503000DDB9A;0xB45CB503000DDB66;0xB45CB503000DDB76;0xB45CB503000DDAE2;0x3825F3030084FE6E;0xB45CB503000DDB5A;0x3825F3030084FE72 diff --git a/data/gpu_serial/39Z7HG4.txt b/data/gpu_serial/39Z7HG4.txt deleted file mode 100644 index 6a463ff..0000000 --- a/data/gpu_serial/39Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -39Z7HG4 -Slot.38: B45C:B503:0039:DF1A -Slot.39: 3825:F303:0085:0262 -Slot.37: B45C:B503:000D:E48A -Slot.36: B45C:B503:000D:E4A6 -Slot.32: B45C:B503:000D:E37A -Slot.33: B45C:B503:000D:E4B6 -Slot.34: 3825:F303:0085:0202 -Slot.35: B45C:B503:000D:E432 -Slot.31: B45C:B503:000D:E49E -Slot.40: 3825:F303:0085:025A -GUID: 0xB45CB5030039DF1A;0x3825F30300850262;0xB45CB503000DE48A;0xB45CB503000DE4A6;0xB45CB503000DE37A;0xB45CB503000DE4B6;0x3825F30300850202;0xB45CB503000DE432;0xB45CB503000DE49E;0x3825F3030085025A diff --git a/data/gpu_serial/3LYCZC4.txt b/data/gpu_serial/3LYCZC4.txt deleted file mode 100644 index a8600a7..0000000 --- a/data/gpu_serial/3LYCZC4.txt +++ /dev/null @@ -1,12 +0,0 @@ -3LYCZC4 -Slot.38: 5000:E603:0068:F204 -Slot.39: 5000:E603:0068:F464 -Slot.37: 5000:E603:0068:F2B8 -Slot.36: 5000:E603:0068:F2FC -Slot.32: 5000:E603:0068:F294 -Slot.33: 5000:E603:0068:F504 -Slot.34: 5000:E603:0068:F450 -Slot.35: 5000:E603:0068:F2C4 -Slot.31: 5000:E603:0068:F50C -Slot.40: 5000:E603:0068:F4FC -GUID: 0x5000E6030068F204;0x5000E6030068F464;0x5000E6030068F2B8;0x5000E6030068F2FC;0x5000E6030068F294;0x5000E6030068F504;0x5000E6030068F450;0x5000E6030068F2C4;0x5000E6030068F50C;0x5000E6030068F4FC diff --git a/data/gpu_serial/3MYCZC4.txt b/data/gpu_serial/3MYCZC4.txt deleted file mode 100644 index a2fd8d0..0000000 --- a/data/gpu_serial/3MYCZC4.txt +++ /dev/null @@ -1,12 +0,0 @@ -3MYCZC4 -Slot.38: 5000:E603:0068:F480 -Slot.39: 5000:E603:0068:F254 -Slot.37: 5000:E603:0068:F408 -Slot.36: 5000:E603:0068:F33C -Slot.32: 5000:E603:0068:F40C -Slot.33: 5000:E603:0068:F4AC -Slot.34: 5000:E603:0068:F4C8 -Slot.35: 5000:E603:0068:F410 -Slot.31: 5000:E603:0068:F490 -Slot.40: 5000:E603:0068:F3A0 -GUID: 0x5000E6030068F480;0x5000E6030068F254;0x5000E6030068F408;0x5000E6030068F33C;0x5000E6030068F40C;0x5000E6030068F4AC;0x5000E6030068F4C8;0x5000E6030068F410;0x5000E6030068F490;0x5000E6030068F3A0 diff --git a/data/gpu_serial/3PYCZC4.txt b/data/gpu_serial/3PYCZC4.txt deleted file mode 100644 index 8ef6ad7..0000000 --- a/data/gpu_serial/3PYCZC4.txt +++ /dev/null @@ -1,12 +0,0 @@ -3PYCZC4 -Slot.38: 5000:E603:0068:F460 -Slot.39: 5000:E603:0068:F44C -Slot.37: 5000:E603:0068:F380 -Slot.36: 5000:E603:0068:F2BC -Slot.32: 5000:E603:0068:F4EC -Slot.33: 5000:E603:0068:F274 -Slot.34: 5000:E603:0068:F4E4 -Slot.35: 5000:E603:0068:F284 -Slot.31: 5000:E603:0068:F3DC -Slot.40: 5000:E603:0068:F354 -GUID: 0x5000E6030068F460;0x5000E6030068F44C;0x5000E6030068F380;0x5000E6030068F2BC;0x5000E6030068F4EC;0x5000E6030068F274;0x5000E6030068F4E4;0x5000E6030068F284;0x5000E6030068F3DC;0x5000E6030068F354 diff --git a/data/gpu_serial/3SJCZC4.txt b/data/gpu_serial/3SJCZC4.txt deleted file mode 100644 index 8262100..0000000 --- a/data/gpu_serial/3SJCZC4.txt +++ /dev/null @@ -1,12 +0,0 @@ -3SJCZC4 -Slot.38: 7C8C:0903:00AE:614C -Slot.39: 7C8C:0903:00AE:6158 -Slot.37: 7C8C:0903:00AE:615C -Slot.36: 7C8C:0903:00B6:A96A -Slot.32: 7C8C:0903:00AE:6124 -Slot.33: 7C8C:0903:00B6:A976 -Slot.34: 7C8C:0903:00AE:6204 -Slot.35: 7C8C:0903:00AE:6208 -Slot.31: 7C8C:0903:00AE:61C0 -Slot.40: 7C8C:0903:00B6:A972 -GUID: 0x7C8C090300AE614C;0x7C8C090300AE6158;0x7C8C090300AE615C;0x7C8C090300B6A96A;0x7C8C090300AE6124;0x7C8C090300B6A976;0x7C8C090300AE6204;0x7C8C090300AE6208;0x7C8C090300AE61C0;0x7C8C090300B6A972 diff --git a/data/gpu_serial/3Y48HG4.txt b/data/gpu_serial/3Y48HG4.txt deleted file mode 100644 index f5b1423..0000000 --- a/data/gpu_serial/3Y48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -3Y48HG4 -Slot.38: B45C:B503:000D:C4B6 -Slot.39: B45C:B503:000D:C6EA -Slot.37: B45C:B503:000D:C4CA -Slot.36: B45C:B503:000D:C49E -Slot.32: B45C:B503:000D:C49A -Slot.33: B45C:B503:000D:C6D2 -Slot.34: B45C:B503:000D:C6BA -Slot.35: B45C:B503:000D:C4AE -Slot.31: B45C:B503:000D:C4DA -Slot.40: B45C:B503:000D:C4D2 -GUID: 0xB45CB503000DC4B6;0xB45CB503000DC6EA;0xB45CB503000DC4CA;0xB45CB503000DC49E;0xB45CB503000DC49A;0xB45CB503000DC6D2;0xB45CB503000DC6BA;0xB45CB503000DC4AE;0xB45CB503000DC4DA;0xB45CB503000DC4D2 diff --git a/data/gpu_serial/4058HG4.txt b/data/gpu_serial/4058HG4.txt deleted file mode 100644 index 1db70cd..0000000 --- a/data/gpu_serial/4058HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -4058HG4 -Slot.38: 605E:6503:00EE:1FA8 -Slot.39: 605E:6503:00EE:1F88 -Slot.37: 605E:6503:00EE:208C -Slot.36: 605E:6503:00EE:2010 -Slot.32: 605E:6503:00EE:1E30 -Slot.33: 605E:6503:00EE:1DEC -Slot.34: 605E:6503:00EE:1FA0 -Slot.35: 605E:6503:00EE:1F9C -Slot.31: 605E:6503:00EE:1EC8 -Slot.40: 605E:6503:00EE:1EA4 -GUID: 0x605E650300EE1FA8;0x605E650300EE1F88;0x605E650300EE208C;0x605E650300EE2010;0x605E650300EE1E30;0x605E650300EE1DEC;0x605E650300EE1FA0;0x605E650300EE1F9C;0x605E650300EE1EC8;0x605E650300EE1EA4 diff --git a/data/gpu_serial/442F7G4.txt b/data/gpu_serial/442F7G4.txt deleted file mode 100644 index 493ef12..0000000 --- a/data/gpu_serial/442F7G4.txt +++ /dev/null @@ -1,12 +0,0 @@ -442F7G4 -Slot.38: B45C:B503:000D:CFC6 -Slot.39: B45C:B503:000D:CFB6 -Slot.37: B45C:B503:000D:D6D2 -Slot.36: B45C:B503:000D:D6DE -Slot.32: B45C:B503:000D:C57E -Slot.33: B45C:B503:000D:CE36 -Slot.34: B45C:B503:000D:C59A -Slot.35: B45C:B503:000D:C5CA -Slot.31: B45C:B503:000D:D6CE -Slot.40: B45C:B503:000D:D00A -GUID: 0xB45CB503000DCFC6;0xB45CB503000DCFB6;0xB45CB503000DD6D2;0xB45CB503000DD6DE;0xB45CB503000DC57E;0xB45CB503000DCE36;0xB45CB503000DC59A;0xB45CB503000DC5CA;0xB45CB503000DD6CE;0xB45CB503000DD00A diff --git a/data/gpu_serial/472B7G4.txt b/data/gpu_serial/472B7G4.txt deleted file mode 100644 index 0e31ebd..0000000 --- a/data/gpu_serial/472B7G4.txt +++ /dev/null @@ -1,12 +0,0 @@ -472B7G4 -Slot.38: B45C:B503:000D:D60E -Slot.39: 605E:6503:00EE:1C00 -Slot.37: B45C:B503:000D:D612 -Slot.36: 605E:6503:00EE:1C1C -Slot.32: B45C:B503:000D:D69E -Slot.33: B45C:B503:000D:CF1A -Slot.34: 605E:6503:00EE:1C7C -Slot.35: B45C:B503:000D:CF16 -Slot.31: B45C:B503:000D:D56E -Slot.40: B45C:B503:000D:D582 -GUID: 0xB45CB503000DD60E;0x605E650300EE1C00;0xB45CB503000DD612;0x605E650300EE1C1C;0xB45CB503000DD69E;0xB45CB503000DCF1A;0x605E650300EE1C7C;0xB45CB503000DCF16;0xB45CB503000DD56E;0xB45CB503000DD582 diff --git a/data/gpu_serial/48Z7HG4.txt b/data/gpu_serial/48Z7HG4.txt deleted file mode 100644 index d2a33d9..0000000 --- a/data/gpu_serial/48Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -48Z7HG4 -Slot.38: B45C:B503:000D:E4BE -Slot.39: B45C:B503:000D:E4AA -Slot.37: B45C:B503:000D:E476 -Slot.36: B45C:B503:000D:E47A -Slot.32: B45C:B503:000D:E46E -Slot.33: B45C:B503:000D:E48E -Slot.34: B45C:B503:000D:E4AE -Slot.35: B45C:B503:000D:E4E6 -Slot.31: B45C:B503:000D:E482 -Slot.40: B45C:B503:000D:E4B2 -GUID: 0xB45CB503000DE4BE;0xB45CB503000DE4AA;0xB45CB503000DE476;0xB45CB503000DE47A;0xB45CB503000DE46E;0xB45CB503000DE48E;0xB45CB503000DE4AE;0xB45CB503000DE4E6;0xB45CB503000DE482;0xB45CB503000DE4B2 diff --git a/data/gpu_serial/49Z7HG4.txt b/data/gpu_serial/49Z7HG4.txt deleted file mode 100644 index e2914ba..0000000 --- a/data/gpu_serial/49Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -49Z7HG4 -Slot.38: 3825:F303:0085:02DA -Slot.39: 3825:F303:0085:075A -Slot.37: 3825:F303:0085:086A -Slot.36: 3825:F303:0085:075E -Slot.32: 3825:F303:0085:074A -Slot.33: 3825:F303:0085:07F2 -Slot.34: 3825:F303:0085:070A -Slot.35: 3825:F303:0085:086E -Slot.31: 3825:F303:0085:0786 -Slot.40: 3825:F303:0085:0662 -GUID: 0x3825F303008502DA;0x3825F3030085075A;0x3825F3030085086A;0x3825F3030085075E;0x3825F3030085074A;0x3825F303008507F2;0x3825F3030085070A;0x3825F3030085086E;0x3825F30300850786;0x3825F30300850662 diff --git a/data/gpu_serial/4K8XHG4.txt b/data/gpu_serial/4K8XHG4.txt deleted file mode 100644 index 30fde6d..0000000 --- a/data/gpu_serial/4K8XHG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -4K8XHG4 -Slot.38: 605E:6503:00EE:1104 -Slot.39: 605E:6503:00EE:111C -Slot.37: 605E:6503:00EE:10EC -Slot.36: 605E:6503:00EE:1110 -Slot.32: 605E:6503:00EE:114C -Slot.33: 605E:6503:00EE:1128 -Slot.34: 605E:6503:00EE:1114 -Slot.35: 605E:6503:00EE:1140 -Slot.31: 605E:6503:00EE:113C -Slot.40: 605E:6503:00EE:1134 -GUID: 0x605E650300EE1104;0x605E650300EE111C;0x605E650300EE10EC;0x605E650300EE1110;0x605E650300EE114C;0x605E650300EE1128;0x605E650300EE1114;0x605E650300EE1140;0x605E650300EE113C;0x605E650300EE1134 diff --git a/data/gpu_serial/4T48HG4.txt b/data/gpu_serial/4T48HG4.txt deleted file mode 100644 index 08b8e75..0000000 --- a/data/gpu_serial/4T48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -4T48HG4 -Slot.38: 605E:6503:00EE:1D80 -Slot.39: 605E:6503:00EE:1AC8 -Slot.37: 605E:6503:00EE:192C -Slot.36: 605E:6503:00EE:1AD4 -Slot.32: 605E:6503:00EE:1DA0 -Slot.33: 605E:6503:00EE:1B08 -Slot.34: 605E:6503:00EE:1988 -Slot.35: 605E:6503:00EE:1D9C -Slot.31: 605E:6503:00EE:1DBC -Slot.40: 605E:6503:00EE:1D88 -GUID: 0x605E650300EE1D80;0x605E650300EE1AC8;0x605E650300EE192C;0x605E650300EE1AD4;0x605E650300EE1DA0;0x605E650300EE1B08;0x605E650300EE1988;0x605E650300EE1D9C;0x605E650300EE1DBC;0x605E650300EE1D88 diff --git a/data/gpu_serial/4XZCZC4.txt b/data/gpu_serial/4XZCZC4.txt deleted file mode 100644 index e6b02ba..0000000 --- a/data/gpu_serial/4XZCZC4.txt +++ /dev/null @@ -1,12 +0,0 @@ -4XZCZC4 -Slot.38: 5000:E603:0068:F318 -Slot.39: 5000:E603:0068:F458 -Slot.37: 5000:E603:0068:F23C -Slot.36: 5000:E603:0068:F090 -Slot.32: 5000:E603:0068:F448 -Slot.33: 5000:E603:0068:F440 -Slot.34: 5000:E603:0068:F310 -Slot.35: 5000:E603:0068:F430 -Slot.31: 5000:E603:0068:F3C8 -Slot.40: 5000:E603:0068:F438 -GUID: 0x5000E6030068F318;0x5000E6030068F458;0x5000E6030068F23C;0x5000E6030068F090;0x5000E6030068F448;0x5000E6030068F440;0x5000E6030068F310;0x5000E6030068F430;0x5000E6030068F3C8;0x5000E6030068F438 diff --git a/data/gpu_serial/552F7G4.txt b/data/gpu_serial/552F7G4.txt deleted file mode 100644 index 1d25566..0000000 --- a/data/gpu_serial/552F7G4.txt +++ /dev/null @@ -1,12 +0,0 @@ -552F7G4 -Slot.38: B45C:B503:000D:DA6E -Slot.39: B45C:B503:000D:D972 -Slot.37: B45C:B503:000D:DCEA -Slot.36: B45C:B503:000D:DD1A -Slot.32: B45C:B503:000D:DBAA -Slot.33: B45C:B503:000D:DBAE -Slot.34: B45C:B503:000D:DC5E -Slot.35: B45C:B503:000D:DC22 -Slot.31: B45C:B503:000D:DCD2 -Slot.40: B45C:B503:000D:DC5A -GUID: 0xB45CB503000DDA6E;0xB45CB503000DD972;0xB45CB503000DDCEA;0xB45CB503000DDD1A;0xB45CB503000DDBAA;0xB45CB503000DDBAE;0xB45CB503000DDC5E;0xB45CB503000DDC22;0xB45CB503000DDCD2;0xB45CB503000DDC5A diff --git a/data/gpu_serial/572B7G4.txt b/data/gpu_serial/572B7G4.txt deleted file mode 100644 index 61058b4..0000000 --- a/data/gpu_serial/572B7G4.txt +++ /dev/null @@ -1,12 +0,0 @@ -572B7G4 -Slot.38: B45C:B503:000D:D576 -Slot.39: B45C:B503:000D:D61E -Slot.37: B45C:B503:000D:CF72 -Slot.36: B45C:B503:000D:D632 -Slot.32: B45C:B503:000D:C55A -Slot.33: B45C:B503:000D:D4B2 -Slot.34: B45C:B503:000D:D046 -Slot.35: B45C:B503:000D:CF46 -Slot.31: B45C:B503:000D:D60A -Slot.40: B45C:B503:000D:C562 -GUID: 0xB45CB503000DD576;0xB45CB503000DD61E;0xB45CB503000DCF72;0xB45CB503000DD632;0xB45CB503000DC55A;0xB45CB503000DD4B2;0xB45CB503000DD046;0xB45CB503000DCF46;0xB45CB503000DD60A;0xB45CB503000DC562 diff --git a/data/gpu_serial/5BZ7HG4.txt b/data/gpu_serial/5BZ7HG4.txt deleted file mode 100644 index 918203d..0000000 --- a/data/gpu_serial/5BZ7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -5BZ7HG4 -Slot.38: 3825:F303:0084:FE62 -Slot.39: 3825:F303:0084:FDD6 -Slot.37: 3825:F303:0084:FDB2 -Slot.36: 3825:F303:0084:FDCE -Slot.32: 3825:F303:0084:FE5A -Slot.33: 3825:F303:0084:FE66 -Slot.34: 3825:F303:0084:FE6A -Slot.35: 3825:F303:0084:FDC2 -Slot.31: 3825:F303:0084:FE7A -Slot.40: 3825:F303:0084:FE52 -GUID: 0x3825F3030084FE62;0x3825F3030084FDD6;0x3825F3030084FDB2;0x3825F3030084FDCE;0x3825F3030084FE5A;0x3825F3030084FE66;0x3825F3030084FE6A;0x3825F3030084FDC2;0x3825F3030084FE7A;0x3825F3030084FE52 diff --git a/data/gpu_serial/5GZ7HG4.txt b/data/gpu_serial/5GZ7HG4.txt deleted file mode 100644 index b4d25f2..0000000 --- a/data/gpu_serial/5GZ7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -5GZ7HG4 -Slot.38: 3825:F303:0084:FA52 -Slot.39: 3825:F303:0084:FB46 -Slot.37: 3825:F303:0084:FB7A -Slot.36: 3825:F303:0084:FB86 -Slot.32: 3825:F303:0084:FB4E -Slot.33: 3825:F303:0084:FB52 -Slot.34: 3825:F303:0084:F6B6 -Slot.35: 3825:F303:0084:F796 -Slot.31: 3825:F303:0084:F832 -Slot.40: 3825:F303:0084:F8EE -GUID: 0x3825F3030084FA52;0x3825F3030084FB46;0x3825F3030084FB7A;0x3825F3030084FB86;0x3825F3030084FB4E;0x3825F3030084FB52;0x3825F3030084F6B6;0x3825F3030084F796;0x3825F3030084F832;0x3825F3030084F8EE diff --git a/data/gpu_serial/5MYCZC4.txt b/data/gpu_serial/5MYCZC4.txt deleted file mode 100644 index afbd146..0000000 --- a/data/gpu_serial/5MYCZC4.txt +++ /dev/null @@ -1,12 +0,0 @@ -5MYCZC4 -Slot.38: 7C8C:0903:00E4:DE9E -Slot.39: 7C8C:0903:00E4:DEDE -Slot.37: 7C8C:0903:00E4:DE96 -Slot.36: 7C8C:0903:00E4:DF42 -Slot.32: 7C8C:0903:00E4:DE86 -Slot.33: 7C8C:0903:00E4:DED2 -Slot.34: 7C8C:0903:00E4:ED06 -Slot.35: 7C8C:0903:00E4:DF3E -Slot.31: 7C8C:0903:00E4:DEEA -Slot.40: 7C8C:0903:00E4:DED6 -GUID: 0x7C8C090300E4DE9E;0x7C8C090300E4DEDE;0x7C8C090300E4DE96;0x7C8C090300E4DF42;0x7C8C090300E4DE86;0x7C8C090300E4DED2;0x7C8C090300E4ED06;0x7C8C090300E4DF3E;0x7C8C090300E4DEEA;0x7C8C090300E4DED6 diff --git a/data/gpu_serial/5NYCZC4.txt b/data/gpu_serial/5NYCZC4.txt deleted file mode 100644 index 511b165..0000000 --- a/data/gpu_serial/5NYCZC4.txt +++ /dev/null @@ -1,12 +0,0 @@ -5NYCZC4 -Slot.38: 3825:F303:00C4:0230 -Slot.39: 3825:F303:00C4:0FA4 -Slot.37: 3825:F303:00C4:023C -Slot.36: 3825:F303:00C4:0EB4 -Slot.32: 3825:F303:00C4:0FB0 -Slot.33: 3825:F303:00C4:0244 -Slot.34: 3825:F303:00C4:0FA0 -Slot.35: 3825:F303:00C4:0F90 -Slot.31: 3825:F303:00C4:0FA8 -Slot.40: 3825:F303:00C4:0F78 -GUID: 0x3825F30300C40230;0x3825F30300C40FA4;0x3825F30300C4023C;0x3825F30300C40EB4;0x3825F30300C40FB0;0x3825F30300C40244;0x3825F30300C40FA0;0x3825F30300C40F90;0x3825F30300C40FA8;0x3825F30300C40F78 diff --git a/data/gpu_serial/5PRS3H4.txt b/data/gpu_serial/5PRS3H4.txt deleted file mode 100644 index c303ea5..0000000 --- a/data/gpu_serial/5PRS3H4.txt +++ /dev/null @@ -1,12 +0,0 @@ -5PRS3H4 -Slot.38: 605E:6503:00EE:17D4 -Slot.39: 605E:6503:00EE:17B0 -Slot.37: 605E:6503:00EE:1764 -Slot.36: 605E:6503:00EE:1808 -Slot.32: 605E:6503:00EE:1738 -Slot.33: 605E:6503:00EE:17F8 -Slot.34: 605E:6503:00EE:1790 -Slot.35: 605E:6503:00EE:17CC -Slot.31: 605E:6503:00EE:17E4 -Slot.40: 605E:6503:00EE:17C8 -GUID: 0x605E650300EE17D4;0x605E650300EE17B0;0x605E650300EE1764;0x605E650300EE1808;0x605E650300EE1738;0x605E650300EE17F8;0x605E650300EE1790;0x605E650300EE17CC;0x605E650300EE17E4;0x605E650300EE17C8 diff --git a/data/gpu_serial/5V48HG4.txt b/data/gpu_serial/5V48HG4.txt deleted file mode 100644 index 21fb784..0000000 --- a/data/gpu_serial/5V48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -5V48HG4 -Slot.38: 605E:6503:00EE:2068 -Slot.39: 605E:6503:00EE:2070 -Slot.37: B45C:B503:000D:C4C2 -Slot.36: B45C:B503:000D:C4C6 -Slot.32: B45C:B503:000D:C4DE -Slot.33: B45C:B503:000D:C4A6 -Slot.34: 605E:6503:00EE:1F2C -Slot.35: B45C:B503:000D:C4EA -Slot.31: 605E:6503:00EE:1F84 -Slot.40: 605E:6503:00EE:207C -GUID: 0x605E650300EE2068;0x605E650300EE2070;0xB45CB503000DC4C2;0xB45CB503000DC4C6;0xB45CB503000DC4DE;0xB45CB503000DC4A6;0x605E650300EE1F2C;0xB45CB503000DC4EA;0x605E650300EE1F84;0x605E650300EE207C diff --git a/data/gpu_serial/5Y48HG4.txt b/data/gpu_serial/5Y48HG4.txt deleted file mode 100644 index 5e55d0f..0000000 --- a/data/gpu_serial/5Y48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -5Y48HG4 -Slot.38: B45C:B503:000D:C426 -Slot.39: 605E:6503:00EE:209C -Slot.37: B45C:B503:000D:C416 -Slot.36: 605E:6503:00EE:2004 -Slot.32: 605E:6503:00EE:20A4 -Slot.33: 605E:6503:00EE:2030 -Slot.34: 605E:6503:00EE:20A0 -Slot.35: 605E:6503:00EE:203C -Slot.31: 605E:6503:00EE:2098 -Slot.40: 605E:6503:00EE:1F08 -GUID: 0xB45CB503000DC426;0x605E650300EE209C;0xB45CB503000DC416;0x605E650300EE2004;0x605E650300EE20A4;0x605E650300EE2030;0x605E650300EE20A0;0x605E650300EE203C;0x605E650300EE2098;0x605E650300EE1F08 diff --git a/data/gpu_serial/66Z7HG4.txt b/data/gpu_serial/66Z7HG4.txt deleted file mode 100644 index a2f70eb..0000000 --- a/data/gpu_serial/66Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -66Z7HG4 -Slot.38: B45C:B503:000D:CC2E -Slot.39: B45C:B503:000D:CBFA -Slot.37: B45C:B503:000D:CE22 -Slot.36: B45C:B503:000D:CE1E -Slot.32: B45C:B503:000D:CC06 -Slot.33: B45C:B503:000D:CC12 -Slot.34: B45C:B503:000D:CD52 -Slot.35: B45C:B503:000D:CDF6 -Slot.31: B45C:B503:000D:CDE6 -Slot.40: B45C:B503:000D:CD3A -GUID: 0xB45CB503000DCC2E;0xB45CB503000DCBFA;0xB45CB503000DCE22;0xB45CB503000DCE1E;0xB45CB503000DCC06;0xB45CB503000DCC12;0xB45CB503000DCD52;0xB45CB503000DCDF6;0xB45CB503000DCDE6;0xB45CB503000DCD3A diff --git a/data/gpu_serial/68Z7HG4.txt b/data/gpu_serial/68Z7HG4.txt deleted file mode 100644 index e78e72e..0000000 --- a/data/gpu_serial/68Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -68Z7HG4 -Slot.38: B45C:B503:000D:D7F2 -Slot.39: B45C:B503:000D:D7DE -Slot.37: B45C:B503:000D:D852 -Slot.36: B45C:B503:000D:D812 -Slot.32: B45C:B503:000D:D76A -Slot.33: B45C:B503:000D:D75A -Slot.34: B45C:B503:000D:D856 -Slot.35: B45C:B503:000D:D82E -Slot.31: B45C:B503:000D:D7FA -Slot.40: B45C:B503:000D:D81A -GUID: 0xB45CB503000DD7F2;0xB45CB503000DD7DE;0xB45CB503000DD852;0xB45CB503000DD812;0xB45CB503000DD76A;0xB45CB503000DD75A;0xB45CB503000DD856;0xB45CB503000DD82E;0xB45CB503000DD7FA;0xB45CB503000DD81A diff --git a/data/gpu_serial/69Z7HG4.txt b/data/gpu_serial/69Z7HG4.txt deleted file mode 100644 index 7142405..0000000 --- a/data/gpu_serial/69Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -69Z7HG4 -Slot.38: 3825:F303:0085:00AE -Slot.39: 3825:F303:0085:037A -Slot.37: 3825:F303:0085:03C2 -Slot.36: 3825:F303:0085:03E2 -Slot.32: 3825:F303:0085:037E -Slot.33: 3825:F303:0085:038A -Slot.34: 3825:F303:0085:0386 -Slot.35: 3825:F303:0085:03B6 -Slot.31: 3825:F303:0085:03DE -Slot.40: 3825:F303:0085:03E6 -GUID: 0x3825F303008500AE;0x3825F3030085037A;0x3825F303008503C2;0x3825F303008503E2;0x3825F3030085037E;0x3825F3030085038A;0x3825F30300850386;0x3825F303008503B6;0x3825F303008503DE;0x3825F303008503E6 diff --git a/data/gpu_serial/6GZ7HG4.txt b/data/gpu_serial/6GZ7HG4.txt deleted file mode 100644 index a52a7df..0000000 --- a/data/gpu_serial/6GZ7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -6GZ7HG4 -Slot.38: 3825:F303:0085:0116 -Slot.39: 3825:F303:0085:0222 -Slot.37: 3825:F303:0085:0106 -Slot.36: 3825:F303:0085:01AA -Slot.32: 3825:F303:0085:010E -Slot.33: 3825:F303:0085:026E -Slot.34: 3825:F303:0085:026A -Slot.35: 3825:F303:0085:01B2 -Slot.31: 3825:F303:0085:021E -Slot.40: 3825:F303:0085:011E -GUID: 0x3825F30300850116;0x3825F30300850222;0x3825F30300850106;0x3825F303008501AA;0x3825F3030085010E;0x3825F3030085026E;0x3825F3030085026A;0x3825F303008501B2;0x3825F3030085021E;0x3825F3030085011E diff --git a/data/gpu_serial/6T48HG4.txt b/data/gpu_serial/6T48HG4.txt deleted file mode 100644 index 21b147d..0000000 --- a/data/gpu_serial/6T48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -6T48HG4 -Slot.38: B45C:B503:000D:C5E2 -Slot.39: B45C:B503:000D:C622 -Slot.37: 605E:6503:00EE:1C0C -Slot.36: 605E:6503:00EE:1A4C -Slot.32: 605E:6503:00EE:1A88 -Slot.33: 605E:6503:00EE:1C58 -Slot.34: 605E:6503:00EE:1DCC -Slot.35: 605E:6503:00EE:1F98 -Slot.31: B45C:B503:000D:C612 -Slot.40: 605E:6503:00EE:1C54 -GUID: 0xB45CB503000DC5E2;0xB45CB503000DC622;0x605E650300EE1C0C;0x605E650300EE1A4C;0x605E650300EE1A88;0x605E650300EE1C58;0x605E650300EE1DCC;0x605E650300EE1F98;0xB45CB503000DC612;0x605E650300EE1C54 diff --git a/data/gpu_serial/6XZCZC4.txt b/data/gpu_serial/6XZCZC4.txt deleted file mode 100644 index a4f8f01..0000000 --- a/data/gpu_serial/6XZCZC4.txt +++ /dev/null @@ -1,12 +0,0 @@ -6XZCZC4 -Slot.38: 3825:F303:00C4:0874 -Slot.39: 3825:F303:00C4:035C -Slot.37: 3825:F303:00C4:1450 -Slot.36: 3825:F303:00C4:08DC -Slot.32: 3825:F303:00C4:086C -Slot.33: 3825:F303:00C4:0884 -Slot.34: 3825:F303:00C4:153C -Slot.35: 3825:F303:00C4:0688 -Slot.31: 3825:F303:00C4:096C -Slot.40: 3825:F303:00C4:0870 -GUID: 0x3825F30300C40874;0x3825F30300C4035C;0x3825F30300C41450;0x3825F30300C408DC;0x3825F30300C4086C;0x3825F30300C40884;0x3825F30300C4153C;0x3825F30300C40688;0x3825F30300C4096C;0x3825F30300C40870 diff --git a/data/gpu_serial/76Z7HG4.txt b/data/gpu_serial/76Z7HG4.txt deleted file mode 100644 index 0b86caf..0000000 --- a/data/gpu_serial/76Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -76Z7HG4 -Slot.38: 3825:F303:0084:FAD2 -Slot.39: 3825:F303:0084:FA5A -Slot.37: 3825:F303:0084:FA6A -Slot.36: 3825:F303:0084:FA4A -Slot.32: 3825:F303:0084:FACE -Slot.33: 3825:F303:0084:FA56 -Slot.34: 3825:F303:0084:F77E -Slot.35: 3825:F303:0084:FAEE -Slot.31: 3825:F303:0084:FAC6 -Slot.40: 3825:F303:0084:F722 -GUID: 0x3825F3030084FAD2;0x3825F3030084FA5A;0x3825F3030084FA6A;0x3825F3030084FA4A;0x3825F3030084FACE;0x3825F3030084FA56;0x3825F3030084F77E;0x3825F3030084FAEE;0x3825F3030084FAC6;0x3825F3030084F722 diff --git a/data/gpu_serial/77Z7HG4.txt b/data/gpu_serial/77Z7HG4.txt deleted file mode 100644 index 1c9ceae..0000000 --- a/data/gpu_serial/77Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -77Z7HG4 -Slot.38: 3825:F303:0085:0472 -Slot.39: 3825:F303:0085:05D2 -Slot.37: 3825:F303:0085:049E -Slot.36: 3825:F303:0085:048E -Slot.32: 3825:F303:0085:05EA -Slot.33: 3825:F303:0085:035A -Slot.34: 3825:F303:0085:034A -Slot.35: 3825:F303:0085:047A -Slot.31: 3825:F303:0085:0602 -Slot.40: 3825:F303:0085:0622 -GUID: 0x3825F30300850472;0x3825F303008505D2;0x3825F3030085049E;0x3825F3030085048E;0x3825F303008505EA;0x3825F3030085035A;0x3825F3030085034A;0x3825F3030085047A;0x3825F30300850602;0x3825F30300850622 diff --git a/data/gpu_serial/78Z7HG4.txt b/data/gpu_serial/78Z7HG4.txt deleted file mode 100644 index 53fd15d..0000000 --- a/data/gpu_serial/78Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -78Z7HG4 -Slot.38: B45C:B503:000D:D7A6 -Slot.39: B45C:B503:000D:CF76 -Slot.37: B45C:B503:000D:DB72 -Slot.36: B45C:B503:000D:DB4E -Slot.32: B45C:B503:000D:D7B6 -Slot.33: B45C:B503:000D:D71A -Slot.34: B45C:B503:000D:CF7E -Slot.35: B45C:B503:000D:CF66 -Slot.31: B45C:B503:000D:CF2A -Slot.40: B45C:B503:000D:DB4A -GUID: 0xB45CB503000DD7A6;0xB45CB503000DCF76;0xB45CB503000DDB72;0xB45CB503000DDB4E;0xB45CB503000DD7B6;0xB45CB503000DD71A;0xB45CB503000DCF7E;0xB45CB503000DCF66;0xB45CB503000DCF2A;0xB45CB503000DDB4A diff --git a/data/gpu_serial/79Z7HG4.txt b/data/gpu_serial/79Z7HG4.txt deleted file mode 100644 index 2e6d9e8..0000000 --- a/data/gpu_serial/79Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -79Z7HG4 -Slot.38: B45C:B503:000D:C5AE -Slot.39: B45C:B503:000D:D9BE -Slot.37: B45C:B503:000D:D836 -Slot.36: B45C:B503:000D:D83E -Slot.32: B45C:B503:000D:D8B6 -Slot.33: B45C:B503:000D:D8BE -Slot.34: B45C:B503:000D:D9C6 -Slot.35: B45C:B503:000D:D9FA -Slot.31: B45C:B503:000D:D9EA -Slot.40: B45C:B503:000D:D9DA -GUID: 0xB45CB503000DC5AE;0xB45CB503000DD9BE;0xB45CB503000DD836;0xB45CB503000DD83E;0xB45CB503000DD8B6;0xB45CB503000DD8BE;0xB45CB503000DD9C6;0xB45CB503000DD9FA;0xB45CB503000DD9EA;0xB45CB503000DD9DA diff --git a/data/gpu_serial/7BZ7HG4.txt b/data/gpu_serial/7BZ7HG4.txt deleted file mode 100644 index 969d182..0000000 --- a/data/gpu_serial/7BZ7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -7BZ7HG4 -Slot.38: B45C:B503:000D:DACE -Slot.39: B45C:B503:0039:DEDA -Slot.37: B45C:B503:000D:DAA2 -Slot.36: B45C:B503:000D:DAF6 -Slot.32: B45C:B503:000D:DAAE -Slot.33: B45C:B503:000D:DACA -Slot.34: B45C:B503:000D:DA66 -Slot.35: B45C:B503:0039:DEC2 -Slot.31: B45C:B503:0039:DECA -Slot.40: B45C:B503:000D:DAB2 -GUID: 0xB45CB503000DDACE;0xB45CB5030039DEDA;0xB45CB503000DDAA2;0xB45CB503000DDAF6;0xB45CB503000DDAAE;0xB45CB503000DDACA;0xB45CB503000DDA66;0xB45CB5030039DEC2;0xB45CB5030039DECA;0xB45CB503000DDAB2 diff --git a/data/gpu_serial/7F8XHG4.txt b/data/gpu_serial/7F8XHG4.txt deleted file mode 100644 index 606152f..0000000 --- a/data/gpu_serial/7F8XHG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -7F8XHG4 -Slot.38: 605E:6503:00EE:1500 -Slot.39: 605E:6503:00EE:14F0 -Slot.37: 605E:6503:00EE:14CC -Slot.36: 605E:6503:00EE:1494 -Slot.32: 605E:6503:00EE:14E8 -Slot.33: 605E:6503:00EE:142C -Slot.34: 605E:6503:00EE:1470 -Slot.35: 605E:6503:00EE:1478 -Slot.31: 605E:6503:00EE:14E0 -Slot.40: 605E:6503:00EE:147C -GUID: 0x605E650300EE1500;0x605E650300EE14F0;0x605E650300EE14CC;0x605E650300EE1494;0x605E650300EE14E8;0x605E650300EE142C;0x605E650300EE1470;0x605E650300EE1478;0x605E650300EE14E0;0x605E650300EE147C diff --git a/data/gpu_serial/7G4F7G4.txt b/data/gpu_serial/7G4F7G4.txt deleted file mode 100644 index c2cb70f..0000000 --- a/data/gpu_serial/7G4F7G4.txt +++ /dev/null @@ -1,12 +0,0 @@ -7G4F7G4 -Slot.38: B45C:B503:000D:CD66 -Slot.39: B45C:B503:000D:CD6A -Slot.37: B45C:B503:000D:CD7A -Slot.36: B45C:B503:000D:CD72 -Slot.32: B45C:B503:000D:CD1E -Slot.33: B45C:B503:000D:CCFE -Slot.34: B45C:B503:000D:CD6E -Slot.35: B45C:B503:000D:CD2A -Slot.31: B45C:B503:000D:CD5E -Slot.40: B45C:B503:000D:CD56 -GUID: 0xB45CB503000DCD66;0xB45CB503000DCD6A;0xB45CB503000DCD7A;0xB45CB503000DCD72;0xB45CB503000DCD1E;0xB45CB503000DCCFE;0xB45CB503000DCD6E;0xB45CB503000DCD2A;0xB45CB503000DCD5E;0xB45CB503000DCD56 diff --git a/data/gpu_serial/7MYCZC4.txt b/data/gpu_serial/7MYCZC4.txt deleted file mode 100644 index 2881d8b..0000000 --- a/data/gpu_serial/7MYCZC4.txt +++ /dev/null @@ -1,12 +0,0 @@ -7MYCZC4 -Slot.38: 7C8C:0903:00E4:DE62 -Slot.39: 7C8C:0903:00E4:DE4A -Slot.37: 7C8C:0903:00E4:DE4E -Slot.36: 7C8C:0903:00E4:ECFA -Slot.32: 7C8C:0903:00E4:ECE2 -Slot.33: 7C8C:0903:00E4:DE52 -Slot.34: 7C8C:0903:00E4:DE76 -Slot.35: 7C8C:0903:00E4:ECDE -Slot.31: 7C8C:0903:00E4:DE5A -Slot.40: 7C8C:0903:00E4:ED2E -GUID: 0x7C8C090300E4DE62;0x7C8C090300E4DE4A;0x7C8C090300E4DE4E;0x7C8C090300E4ECFA;0x7C8C090300E4ECE2;0x7C8C090300E4DE52;0x7C8C090300E4DE76;0x7C8C090300E4ECDE;0x7C8C090300E4DE5A;0x7C8C090300E4ED2E diff --git a/data/gpu_serial/7S48HG4.txt b/data/gpu_serial/7S48HG4.txt deleted file mode 100644 index 9172d73..0000000 --- a/data/gpu_serial/7S48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -7S48HG4 -Slot.38: B45C:B503:000D:C6E6 -Slot.39: B45C:B503:000D:C6CA -Slot.37: 605E:6503:00EE:16D8 -Slot.36: 605E:6503:00EE:160C -Slot.32: B45C:B503:000D:C4E6 -Slot.33: 605E:6503:00EE:161C -Slot.34: 605E:6503:00EE:1384 -Slot.35: 605E:6503:00EE:15F8 -Slot.31: B45C:B503:000D:C4FE -Slot.40: 605E:6503:00EE:132C -GUID: 0xB45CB503000DC6E6;0xB45CB503000DC6CA;0x605E650300EE16D8;0x605E650300EE160C;0xB45CB503000DC4E6;0x605E650300EE161C;0x605E650300EE1384;0x605E650300EE15F8;0xB45CB503000DC4FE;0x605E650300EE132C diff --git a/data/gpu_serial/7T48HG4.txt b/data/gpu_serial/7T48HG4.txt deleted file mode 100644 index 19aeec5..0000000 --- a/data/gpu_serial/7T48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -7T48HG4 -Slot.38: 605E:6503:0075:2D64 -Slot.39: 605E:6503:00EE:1924 -Slot.37: 605E:6503:00EE:19D0 -Slot.36: 605E:6503:00EE:1AFC -Slot.32: 605E:6503:00EE:1A24 -Slot.33: 605E:6503:00EE:18B0 -Slot.34: 605E:6503:0075:2EC4 -Slot.35: 605E:6503:0075:2D30 -Slot.31: 605E:6503:00EE:1C4C -Slot.40: 605E:6503:0075:2B78 -GUID: 0x605E650300752D64;0x605E650300EE1924;0x605E650300EE19D0;0x605E650300EE1AFC;0x605E650300EE1A24;0x605E650300EE18B0;0x605E650300752EC4;0x605E650300752D30;0x605E650300EE1C4C;0x605E650300752B78 diff --git a/data/gpu_serial/7XZCZC4.txt b/data/gpu_serial/7XZCZC4.txt deleted file mode 100644 index 15b1a05..0000000 --- a/data/gpu_serial/7XZCZC4.txt +++ /dev/null @@ -1,12 +0,0 @@ -7XZCZC4 -Slot.38: 5000:E603:0068:F498 -Slot.39: 5000:E603:0068:F37C -Slot.37: 5000:E603:0068:F2B0 -Slot.36: 5000:E603:0068:F418 -Slot.32: 5000:E603:0068:F478 -Slot.33: 5000:E603:0068:F488 -Slot.34: 5000:E603:0068:F3F4 -Slot.35: 5000:E603:0068:F474 -Slot.31: 5000:E603:0068:F2A8 -Slot.40: 5000:E603:0068:F2AC -GUID: 0x5000E6030068F498;0x5000E6030068F37C;0x5000E6030068F2B0;0x5000E6030068F418;0x5000E6030068F478;0x5000E6030068F488;0x5000E6030068F3F4;0x5000E6030068F474;0x5000E6030068F2A8;0x5000E6030068F2AC diff --git a/data/gpu_serial/87Z7HG4.txt b/data/gpu_serial/87Z7HG4.txt deleted file mode 100644 index 0c808cb..0000000 --- a/data/gpu_serial/87Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -87Z7HG4 -Slot.38: B45C:B503:000D:DBCE -Slot.39: B45C:B503:000D:DCBA -Slot.37: B45C:B503:000D:DC8E -Slot.36: B45C:B503:000D:DBBE -Slot.32: B45C:B503:000D:DC96 -Slot.33: B45C:B503:000D:DD46 -Slot.34: B45C:B503:000D:DC9E -Slot.35: B45C:B503:000D:DC9A -Slot.31: B45C:B503:000D:DD4A -Slot.40: B45C:B503:000D:DAAA -GUID: 0xB45CB503000DDBCE;0xB45CB503000DDCBA;0xB45CB503000DDC8E;0xB45CB503000DDBBE;0xB45CB503000DDC96;0xB45CB503000DDD46;0xB45CB503000DDC9E;0xB45CB503000DDC9A;0xB45CB503000DDD4A;0xB45CB503000DDAAA diff --git a/data/gpu_serial/88Z7HG4.txt b/data/gpu_serial/88Z7HG4.txt deleted file mode 100644 index ee35a16..0000000 --- a/data/gpu_serial/88Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -88Z7HG4 -Slot.38: 3825:F303:0085:032A -Slot.39: 3825:F303:0085:042A -Slot.37: 3825:F303:0085:029A -Slot.36: 3825:F303:0085:057A -Slot.32: 3825:F303:0085:0476 -Slot.33: 3825:F303:0085:047E -Slot.34: 3825:F303:0085:0342 -Slot.35: 3825:F303:0085:0336 -Slot.31: 3825:F303:0085:0412 -Slot.40: 3825:F303:0085:050A -GUID: 0x3825F3030085032A;0x3825F3030085042A;0x3825F3030085029A;0x3825F3030085057A;0x3825F30300850476;0x3825F3030085047E;0x3825F30300850342;0x3825F30300850336;0x3825F30300850412;0x3825F3030085050A diff --git a/data/gpu_serial/89Z7HG4.txt b/data/gpu_serial/89Z7HG4.txt deleted file mode 100644 index f9c02a8..0000000 --- a/data/gpu_serial/89Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -89Z7HG4 -Slot.38: B45C:B503:000D:DB62 -Slot.39: B45C:B503:000D:DB42 -Slot.37: B45C:B503:000D:DB56 -Slot.36: B45C:B503:000D:DB46 -Slot.32: B45C:B503:000D:D9CE -Slot.33: B45C:B503:000D:DB6E -Slot.34: B45C:B503:000D:DB86 -Slot.35: B45C:B503:000D:DB9E -Slot.31: B45C:B503:000D:D822 -Slot.40: B45C:B503:000D:DB3E -GUID: 0xB45CB503000DDB62;0xB45CB503000DDB42;0xB45CB503000DDB56;0xB45CB503000DDB46;0xB45CB503000DD9CE;0xB45CB503000DDB6E;0xB45CB503000DDB86;0xB45CB503000DDB9E;0xB45CB503000DD822;0xB45CB503000DDB3E diff --git a/data/gpu_serial/8BZ7HG4.txt b/data/gpu_serial/8BZ7HG4.txt deleted file mode 100644 index 9abf8f5..0000000 --- a/data/gpu_serial/8BZ7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -8BZ7HG4 -Slot.38: B45C:B503:000D:DAEA -Slot.39: B45C:B503:000D:DA2A -Slot.37: B45C:B503:000D:DA22 -Slot.36: B45C:B503:000D:DB02 -Slot.32: B45C:B503:000D:DADE -Slot.33: B45C:B503:000D:DA3E -Slot.34: B45C:B503:000D:DA32 -Slot.35: B45C:B503:000D:DA36 -Slot.31: B45C:B503:000D:DAF2 -Slot.40: B45C:B503:000D:DB0A -GUID: 0xB45CB503000DDAEA;0xB45CB503000DDA2A;0xB45CB503000DDA22;0xB45CB503000DDB02;0xB45CB503000DDADE;0xB45CB503000DDA3E;0xB45CB503000DDA32;0xB45CB503000DDA36;0xB45CB503000DDAF2;0xB45CB503000DDB0A diff --git a/data/gpu_serial/8F8XHG4.txt b/data/gpu_serial/8F8XHG4.txt deleted file mode 100644 index e45fda2..0000000 --- a/data/gpu_serial/8F8XHG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -8F8XHG4 -Slot.38: 605E:6503:0093:51BC -Slot.39: B45C:B503:000D:C412 -Slot.37: 605E:6503:00EE:20C4 -Slot.36: B45C:B503:000D:C3A6 -Slot.32: 605E:6503:0093:5100 -Slot.33: 605E:6503:0093:5198 -Slot.34: 605E:6503:0093:510C -Slot.35: 605E:6503:0093:5120 -Slot.31: B45C:B503:000D:C3CA -Slot.40: B45C:B503:000D:C39E -GUID: 0x605E6503009351BC;0xB45CB503000DC412;0x605E650300EE20C4;0xB45CB503000DC3A6;0x605E650300935100;0x605E650300935198;0x605E65030093510C;0x605E650300935120;0xB45CB503000DC3CA;0xB45CB503000DC39E diff --git a/data/gpu_serial/8GZ7HG4.txt b/data/gpu_serial/8GZ7HG4.txt deleted file mode 100644 index 5a0b995..0000000 --- a/data/gpu_serial/8GZ7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -8GZ7HG4 -Slot.38: B45C:B503:000D:DCA6 -Slot.39: B45C:B503:000D:DC1A -Slot.37: B45C:B503:000D:DD3A -Slot.36: B45C:B503:000D:DCBE -Slot.32: B45C:B503:000D:DC16 -Slot.33: B45C:B503:000D:DC0A -Slot.34: B45C:B503:000D:E1B2 -Slot.35: B45C:B503:000D:DC82 -Slot.31: B45C:B503:000D:DCA2 -Slot.40: B45C:B503:000D:DCDA -GUID: 0xB45CB503000DDCA6;0xB45CB503000DDC1A;0xB45CB503000DDD3A;0xB45CB503000DDCBE;0xB45CB503000DDC16;0xB45CB503000DDC0A;0xB45CB503000DE1B2;0xB45CB503000DDC82;0xB45CB503000DDCA2;0xB45CB503000DDCDA diff --git a/data/gpu_serial/8T48HG4.txt b/data/gpu_serial/8T48HG4.txt deleted file mode 100644 index f1c2292..0000000 --- a/data/gpu_serial/8T48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -8T48HG4 -Slot.38: B45C:B503:000D:E36A -Slot.39: 605E:6503:00EE:201C -Slot.37: B45C:B503:000D:C43E -Slot.36: B45C:B503:000D:C536 -Slot.32: 605E:6503:00EE:2008 -Slot.33: B45C:B503:0039:DEF2 -Slot.34: 605E:6503:00EE:1FF8 -Slot.35: B45C:B503:000D:E356 -Slot.31: B45C:B503:0039:DEBA -Slot.40: B45C:B503:000D:C432 -GUID: 0xB45CB503000DE36A;0x605E650300EE201C;0xB45CB503000DC43E;0xB45CB503000DC536;0x605E650300EE2008;0xB45CB5030039DEF2;0x605E650300EE1FF8;0xB45CB503000DE356;0xB45CB5030039DEBA;0xB45CB503000DC432 diff --git a/data/gpu_serial/8V48HG4.txt b/data/gpu_serial/8V48HG4.txt deleted file mode 100644 index 28f42e4..0000000 --- a/data/gpu_serial/8V48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -8V48HG4 -Slot.38: 605E:6503:0075:2D9C -Slot.39: 605E:6503:0075:2934 -Slot.37: 605E:6503:0075:2DC8 -Slot.36: 605E:6503:0075:2EB8 -Slot.32: 605E:6503:00EE:1AB8 -Slot.33: 605E:6503:0075:2CEC -Slot.34: 605E:6503:0075:2DA0 -Slot.35: 605E:6503:00EE:1AD0 -Slot.31: 605E:6503:00EE:1A78 -Slot.40: 605E:6503:00EE:1A6C -GUID: 0x605E650300752D9C;0x605E650300752934;0x605E650300752DC8;0x605E650300752EB8;0x605E650300EE1AB8;0x605E650300752CEC;0x605E650300752DA0;0x605E650300EE1AD0;0x605E650300EE1A78;0x605E650300EE1A6C diff --git a/data/gpu_serial/8WZCZC4.txt b/data/gpu_serial/8WZCZC4.txt deleted file mode 100644 index ef250c3..0000000 --- a/data/gpu_serial/8WZCZC4.txt +++ /dev/null @@ -1,12 +0,0 @@ -8WZCZC4 -Slot.38: 7C8C:0903:00A5:06B0 -Slot.39: 7C8C:0903:00A5:0874 -Slot.37: 7C8C:0903:00A5:0894 -Slot.36: 7C8C:0903:00A5:089C -Slot.32: 7C8C:0903:00A5:0884 -Slot.33: 7C8C:0903:00A5:08A4 -Slot.34: 7C8C:0903:00A4:E5C4 -Slot.35: 7C8C:0903:00A5:0820 -Slot.31: 7C8C:0903:00A5:08B8 -Slot.40: 7C8C:0903:00A5:0880 -GUID: 0x7C8C090300A506B0;0x7C8C090300A50874;0x7C8C090300A50894;0x7C8C090300A5089C;0x7C8C090300A50884;0x7C8C090300A508A4;0x7C8C090300A4E5C4;0x7C8C090300A50820;0x7C8C090300A508B8;0x7C8C090300A50880 diff --git a/data/gpu_serial/96Z7HG4.txt b/data/gpu_serial/96Z7HG4.txt deleted file mode 100644 index 73778be..0000000 --- a/data/gpu_serial/96Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -96Z7HG4 -Slot.38: B45C:B503:000D:E3F2 -Slot.39: B45C:B503:000D:E406 -Slot.37: B45C:B503:000D:E2FE -Slot.36: B45C:B503:000D:E426 -Slot.32: B45C:B503:000D:E31A -Slot.33: B45C:B503:000D:E32E -Slot.34: B45C:B503:000D:E2F2 -Slot.35: B45C:B503:000D:E3EE -Slot.31: B45C:B503:000D:E326 -Slot.40: B45C:B503:000D:E3A6 -GUID: 0xB45CB503000DE3F2;0xB45CB503000DE406;0xB45CB503000DE2FE;0xB45CB503000DE426;0xB45CB503000DE31A;0xB45CB503000DE32E;0xB45CB503000DE2F2;0xB45CB503000DE3EE;0xB45CB503000DE326;0xB45CB503000DE3A6 diff --git a/data/gpu_serial/972B7G4.txt b/data/gpu_serial/972B7G4.txt deleted file mode 100644 index d6911b4..0000000 --- a/data/gpu_serial/972B7G4.txt +++ /dev/null @@ -1,12 +0,0 @@ -972B7G4 -Slot.38: B45C:B503:000D:E1F6 -Slot.39: B45C:B503:000D:E1FE -Slot.37: B45C:B503:000D:E282 -Slot.36: B45C:B503:000D:E1D6 -Slot.32: B45C:B503:000D:DC86 -Slot.33: B45C:B503:000D:E1DE -Slot.34: B45C:B503:000D:DC2E -Slot.35: B45C:B503:000D:E25E -Slot.31: B45C:B503:000D:E27E -Slot.40: B45C:B503:000D:DBFE -GUID: 0xB45CB503000DE1F6;0xB45CB503000DE1FE;0xB45CB503000DE282;0xB45CB503000DE1D6;0xB45CB503000DDC86;0xB45CB503000DE1DE;0xB45CB503000DDC2E;0xB45CB503000DE25E;0xB45CB503000DE27E;0xB45CB503000DDBFE diff --git a/data/gpu_serial/98Z7HG4.txt b/data/gpu_serial/98Z7HG4.txt deleted file mode 100644 index becaa45..0000000 --- a/data/gpu_serial/98Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -98Z7HG4 -Slot.38: 3825:F303:0085:044A -Slot.39: 3825:F303:0085:0752 -Slot.37: 3825:F303:0085:074E -Slot.36: B45C:B503:000D:D762 -Slot.32: B45C:B503:000D:D78E -Slot.33: B45C:B503:000D:D77A -Slot.34: 3825:F303:0085:0746 -Slot.35: 3825:F303:0085:06DE -Slot.31: 3825:F303:0085:034E -Slot.40: 3825:F303:0085:0732 -GUID: 0x3825F3030085044A;0x3825F30300850752;0x3825F3030085074E;0xB45CB503000DD762;0xB45CB503000DD78E;0xB45CB503000DD77A;0x3825F30300850746;0x3825F303008506DE;0x3825F3030085034E;0x3825F30300850732 diff --git a/data/gpu_serial/992B7G4.txt b/data/gpu_serial/992B7G4.txt deleted file mode 100644 index 10f6087..0000000 --- a/data/gpu_serial/992B7G4.txt +++ /dev/null @@ -1,12 +0,0 @@ -992B7G4 -Slot.38: B45C:B503:000D:D7C6 -Slot.39: B45C:B503:000D:D7BE -Slot.37: B45C:B503:000D:D89E -Slot.36: B45C:B503:000D:D7A2 -Slot.32: B45C:B503:000D:D7BA -Slot.33: B45C:B503:000D:D566 -Slot.34: B45C:B503:000D:D872 -Slot.35: B45C:B503:000D:D7CA -Slot.31: B45C:B503:000D:D4F2 -Slot.40: B45C:B503:000D:D7B2 -GUID: 0xB45CB503000DD7C6;0xB45CB503000DD7BE;0xB45CB503000DD89E;0xB45CB503000DD7A2;0xB45CB503000DD7BA;0xB45CB503000DD566;0xB45CB503000DD872;0xB45CB503000DD7CA;0xB45CB503000DD4F2;0xB45CB503000DD7B2 diff --git a/data/gpu_serial/99Z7HG4.txt b/data/gpu_serial/99Z7HG4.txt deleted file mode 100644 index f6d4027..0000000 --- a/data/gpu_serial/99Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -99Z7HG4 -Slot.38: B45C:B503:000D:D7CE -Slot.39: B45C:B503:000D:D5CE -Slot.37: B45C:B503:000D:D602 -Slot.36: B45C:B503:000D:D04E -Slot.32: B45C:B503:000D:DA06 -Slot.33: B45C:B503:000D:DA02 -Slot.34: B45C:B503:000D:D88E -Slot.35: B45C:B503:000D:D4A6 -Slot.31: B45C:B503:000D:D8A2 -Slot.40: B45C:B503:000D:D7AE -GUID: 0xB45CB503000DD7CE;0xB45CB503000DD5CE;0xB45CB503000DD602;0xB45CB503000DD04E;0xB45CB503000DDA06;0xB45CB503000DDA02;0xB45CB503000DD88E;0xB45CB503000DD4A6;0xB45CB503000DD8A2;0xB45CB503000DD7AE diff --git a/data/gpu_serial/9NYCZC4.txt b/data/gpu_serial/9NYCZC4.txt deleted file mode 100644 index 2694aff..0000000 --- a/data/gpu_serial/9NYCZC4.txt +++ /dev/null @@ -1,12 +0,0 @@ -9NYCZC4 -Slot.38: 5000:E603:0068:F3E0 -Slot.39: 5000:E603:0068:F3B4 -Slot.37: 5000:E603:0068:F3E4 -Slot.36: 5000:E603:0068:F404 -Slot.32: 5000:E603:0068:F358 -Slot.33: 5000:E603:0068:F3E8 -Slot.34: 5000:E603:0068:F3B8 -Slot.35: 5000:E603:0068:F394 -Slot.31: 5000:E603:0068:F370 -Slot.40: 5000:E603:0068:F364 -GUID: 0x5000E6030068F3E0;0x5000E6030068F3B4;0x5000E6030068F3E4;0x5000E6030068F404;0x5000E6030068F358;0x5000E6030068F3E8;0x5000E6030068F3B8;0x5000E6030068F394;0x5000E6030068F370;0x5000E6030068F364 diff --git a/data/gpu_serial/9V48HG4.txt b/data/gpu_serial/9V48HG4.txt deleted file mode 100644 index 82e4dc6..0000000 --- a/data/gpu_serial/9V48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -9V48HG4 -Slot.38: 605E:6503:00EE:1EB0 -Slot.39: 605E:6503:00EE:1EC0 -Slot.37: 605E:6503:00EE:1E7C -Slot.36: 605E:6503:00EE:1EB4 -Slot.32: 605E:6503:00EE:1E08 -Slot.33: 605E:6503:00EE:1E34 -Slot.34: 605E:6503:00EE:1E24 -Slot.35: 605E:6503:00EE:1E18 -Slot.31: 605E:6503:00EE:1E00 -Slot.40: 605E:6503:00EE:1DF4 -GUID: 0x605E650300EE1EB0;0x605E650300EE1EC0;0x605E650300EE1E7C;0x605E650300EE1EB4;0x605E650300EE1E08;0x605E650300EE1E34;0x605E650300EE1E24;0x605E650300EE1E18;0x605E650300EE1E00;0x605E650300EE1DF4 diff --git a/data/gpu_serial/B63HZC4.txt b/data/gpu_serial/B63HZC4.txt deleted file mode 100644 index 62722bd..0000000 --- a/data/gpu_serial/B63HZC4.txt +++ /dev/null @@ -1,12 +0,0 @@ -B63HZC4 -Slot.38: 5C25:7303:000C:66CA -Slot.39: 5C25:7303:000C:3736 -Slot.37: 5C25:7303:000C:6672 -Slot.36: 5C25:7303:000C:680E -Slot.32: 5C25:7303:000C:6906 -Slot.33: 5C25:7303:000C:185E -Slot.34: 5C25:7303:000C:36CA -Slot.35: 5C25:7303:000C:34EA -Slot.31: 5C25:7303:000C:3622 -Slot.40: 5C25:7303:000C:6676 -GUID: 0x5C257303000C66CA;0x5C257303000C3736;0x5C257303000C6672;0x5C257303000C680E;0x5C257303000C6906;0x5C257303000C185E;0x5C257303000C36CA;0x5C257303000C34EA;0x5C257303000C3622;0x5C257303000C6676 diff --git a/data/gpu_serial/B6Z7HG4.txt b/data/gpu_serial/B6Z7HG4.txt deleted file mode 100644 index 761cf90..0000000 --- a/data/gpu_serial/B6Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -B6Z7HG4 -Slot.38: B45C:B503:000D:E292 -Slot.39: B45C:B503:000D:E212 -Slot.37: B45C:B503:000D:E252 -Slot.36: B45C:B503:000D:E22E -Slot.32: B45C:B503:000D:E266 -Slot.33: B45C:B503:000D:E21A -Slot.34: B45C:B503:000D:E2B2 -Slot.35: B45C:B503:000D:DD5E -Slot.31: B45C:B503:000D:E25A -Slot.40: B45C:B503:000D:E26A -GUID: 0xB45CB503000DE292;0xB45CB503000DE212;0xB45CB503000DE252;0xB45CB503000DE22E;0xB45CB503000DE266;0xB45CB503000DE21A;0xB45CB503000DE2B2;0xB45CB503000DDD5E;0xB45CB503000DE25A;0xB45CB503000DE26A diff --git a/data/gpu_serial/B7Z7HG4.txt b/data/gpu_serial/B7Z7HG4.txt deleted file mode 100644 index 43463d7..0000000 --- a/data/gpu_serial/B7Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -B7Z7HG4 -Slot.38: 3825:F303:0085:055E -Slot.39: 3825:F303:0085:0512 -Slot.37: 3825:F303:0085:06E2 -Slot.36: 3825:F303:0085:0502 -Slot.32: 3825:F303:0085:04AA -Slot.33: 3825:F303:0085:0506 -Slot.34: 3825:F303:0085:050E -Slot.35: 3825:F303:0085:046E -Slot.31: 3825:F303:0085:0756 -Slot.40: 3825:F303:0085:0716 -GUID: 0x3825F3030085055E;0x3825F30300850512;0x3825F303008506E2;0x3825F30300850502;0x3825F303008504AA;0x3825F30300850506;0x3825F3030085050E;0x3825F3030085046E;0x3825F30300850756;0x3825F30300850716 diff --git a/data/gpu_serial/BBZ7HG4.txt b/data/gpu_serial/BBZ7HG4.txt deleted file mode 100644 index bbc101d..0000000 --- a/data/gpu_serial/BBZ7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -BBZ7HG4 -Slot.38: B45C:B503:000D:D592 -Slot.39: B45C:B503:000D:CFAE -Slot.37: B45C:B503:000D:CFC2 -Slot.36: B45C:B503:000D:D64E -Slot.32: 3825:F303:0085:07DA -Slot.33: 3825:F303:0085:07E6 -Slot.34: 3825:F303:0085:0736 -Slot.35: 3825:F303:0085:073E -Slot.31: 3825:F303:0085:07AA -Slot.40: 3825:F303:0085:0852 -GUID: 0xB45CB503000DD592;0xB45CB503000DCFAE;0xB45CB503000DCFC2;0xB45CB503000DD64E;0x3825F303008507DA;0x3825F303008507E6;0x3825F30300850736;0x3825F3030085073E;0x3825F303008507AA;0x3825F30300850852 diff --git a/data/gpu_serial/BGZ7HG4.txt b/data/gpu_serial/BGZ7HG4.txt deleted file mode 100644 index 0e67276..0000000 --- a/data/gpu_serial/BGZ7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -BGZ7HG4 -Slot.38: 3825:F303:0084:FB26 -Slot.39: 3825:F303:0084:FB42 -Slot.37: 3825:F303:0084:FB96 -Slot.36: 3825:F303:0084:FB92 -Slot.32: 3825:F303:0084:FD02 -Slot.33: 3825:F303:0084:FCFA -Slot.34: 3825:F303:0084:FD0A -Slot.35: 3825:F303:0084:FBEE -Slot.31: 3825:F303:0084:FBE6 -Slot.40: 3825:F303:0084:FBEA -GUID: 0x3825F3030084FB26;0x3825F3030084FB42;0x3825F3030084FB96;0x3825F3030084FB92;0x3825F3030084FD02;0x3825F3030084FCFA;0x3825F3030084FD0A;0x3825F3030084FBEE;0x3825F3030084FBE6;0x3825F3030084FBEA diff --git a/data/gpu_serial/BH4F7G4.txt b/data/gpu_serial/BH4F7G4.txt deleted file mode 100644 index e7f55a4..0000000 --- a/data/gpu_serial/BH4F7G4.txt +++ /dev/null @@ -1,12 +0,0 @@ -BH4F7G4 -Slot.38: B45C:B503:000D:E3E6 -Slot.39: B45C:B503:000D:E3AE -Slot.37: B45C:B503:000D:E3A2 -Slot.36: B45C:B503:000D:E3D2 -Slot.32: B45C:B503:000D:E38A -Slot.33: B45C:B503:000D:E392 -Slot.34: B45C:B503:000D:E37E -Slot.35: B45C:B503:000D:E396 -Slot.31: B45C:B503:000D:E3B2 -Slot.40: B45C:B503:000D:E39E -GUID: 0xB45CB503000DE3E6;0xB45CB503000DE3AE;0xB45CB503000DE3A2;0xB45CB503000DE3D2;0xB45CB503000DE38A;0xB45CB503000DE392;0xB45CB503000DE37E;0xB45CB503000DE396;0xB45CB503000DE3B2;0xB45CB503000DE39E diff --git a/data/gpu_serial/BNYCZC4.txt b/data/gpu_serial/BNYCZC4.txt deleted file mode 100644 index 04d61b5..0000000 --- a/data/gpu_serial/BNYCZC4.txt +++ /dev/null @@ -1,12 +0,0 @@ -BNYCZC4 -Slot.38: 5000:E603:0068:F248 -Slot.39: 5000:E603:0068:F428 -Slot.37: 5000:E603:0068:F260 -Slot.36: 5000:E603:0068:F200 -Slot.32: 5000:E603:0068:F288 -Slot.33: 5000:E603:0068:F24C -Slot.34: 5000:E603:0068:F338 -Slot.35: 5000:E603:0068:F43C -Slot.31: 5000:E603:0068:F250 -Slot.40: 5000:E603:0068:F41C -GUID: 0x5000E6030068F248;0x5000E6030068F428;0x5000E6030068F260;0x5000E6030068F200;0x5000E6030068F288;0x5000E6030068F24C;0x5000E6030068F338;0x5000E6030068F43C;0x5000E6030068F250;0x5000E6030068F41C diff --git a/data/gpu_serial/BT48HG4.txt b/data/gpu_serial/BT48HG4.txt deleted file mode 100644 index 64f9a6f..0000000 --- a/data/gpu_serial/BT48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -BT48HG4 -Slot.38: 605E:6503:00EE:19F4 -Slot.39: 605E:6503:00EE:1AE4 -Slot.37: 605E:6503:00EE:19E8 -Slot.36: 605E:6503:00EE:1DD8 -Slot.32: 605E:6503:00EE:19FC -Slot.33: 605E:6503:00EE:19A8 -Slot.34: 605E:6503:00EE:1BD8 -Slot.35: 605E:6503:00EE:1A74 -Slot.31: 605E:6503:00EE:1D24 -Slot.40: 605E:6503:00EE:1D2C -GUID: 0x605E650300EE19F4;0x605E650300EE1AE4;0x605E650300EE19E8;0x605E650300EE1DD8;0x605E650300EE19FC;0x605E650300EE19A8;0x605E650300EE1BD8;0x605E650300EE1A74;0x605E650300EE1D24;0x605E650300EE1D2C diff --git a/data/gpu_serial/C6Z7HG4.txt b/data/gpu_serial/C6Z7HG4.txt deleted file mode 100644 index 3eb118e..0000000 --- a/data/gpu_serial/C6Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -C6Z7HG4 -Slot.38: 3825:F303:0084:FB9A -Slot.39: 3825:F303:0084:FB6E -Slot.37: 3825:F303:0084:FB3E -Slot.36: 3825:F303:0084:FD06 -Slot.32: 3825:F303:0084:FD3E -Slot.33: 3825:F303:0084:FB76 -Slot.34: 3825:F303:0084:F91E -Slot.35: 3825:F303:0084:FB36 -Slot.31: 3825:F303:0084:FD36 -Slot.40: 3825:F303:0084:FBF2 -GUID: 0x3825F3030084FB9A;0x3825F3030084FB6E;0x3825F3030084FB3E;0x3825F3030084FD06;0x3825F3030084FD3E;0x3825F3030084FB76;0x3825F3030084F91E;0x3825F3030084FB36;0x3825F3030084FD36;0x3825F3030084FBF2 diff --git a/data/gpu_serial/C72B7G4.txt b/data/gpu_serial/C72B7G4.txt deleted file mode 100644 index 9b97501..0000000 --- a/data/gpu_serial/C72B7G4.txt +++ /dev/null @@ -1,12 +0,0 @@ -C72B7G4 -Slot.38: B45C:B503:000D:D5DA -Slot.39: B45C:B503:000D:C59E -Slot.37: B45C:B503:000D:D686 -Slot.36: B45C:B503:000D:D026 -Slot.32: B45C:B503:000D:D50A -Slot.33: B45C:B503:000D:CFD2 -Slot.34: B45C:B503:000D:C586 -Slot.35: B45C:B503:000D:D5A2 -Slot.31: B45C:B503:000D:D54E -Slot.40: B45C:B503:000D:D562 -GUID: 0xB45CB503000DD5DA;0xB45CB503000DC59E;0xB45CB503000DD686;0xB45CB503000DD026;0xB45CB503000DD50A;0xB45CB503000DCFD2;0xB45CB503000DC586;0xB45CB503000DD5A2;0xB45CB503000DD54E;0xB45CB503000DD562 diff --git a/data/gpu_serial/C7Z7HG4.txt b/data/gpu_serial/C7Z7HG4.txt deleted file mode 100644 index 6aa5911..0000000 --- a/data/gpu_serial/C7Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -C7Z7HG4 -Slot.38: 3825:F303:0085:01E2 -Slot.39: 3825:F303:0085:01F2 -Slot.37: 3825:F303:0085:017E -Slot.36: 3825:F303:0085:00C2 -Slot.32: 3825:F303:0085:01C6 -Slot.33: 3825:F303:0085:024A -Slot.34: 3825:F303:0085:01EE -Slot.35: 3825:F303:0085:0276 -Slot.31: 3825:F303:0085:00BE -Slot.40: 3825:F303:0085:016E -GUID: 0x3825F303008501E2;0x3825F303008501F2;0x3825F3030085017E;0x3825F303008500C2;0x3825F303008501C6;0x3825F3030085024A;0x3825F303008501EE;0x3825F30300850276;0x3825F303008500BE;0x3825F3030085016E diff --git a/data/gpu_serial/C9Z7HG4.txt b/data/gpu_serial/C9Z7HG4.txt deleted file mode 100644 index d485c36..0000000 --- a/data/gpu_serial/C9Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -C9Z7HG4 -Slot.38: 3825:F303:0085:06EA -Slot.39: 3825:F303:0085:0352 -Slot.37: 3825:F303:0085:06B2 -Slot.36: 3825:F303:0085:0866 -Slot.32: 3825:F303:0085:0876 -Slot.33: 3825:F303:0085:0712 -Slot.34: 3825:F303:0085:0372 -Slot.35: 3825:F303:0085:069A -Slot.31: 3825:F303:0085:0872 -Slot.40: 3825:F303:0085:0882 -GUID: 0x3825F303008506EA;0x3825F30300850352;0x3825F303008506B2;0x3825F30300850866;0x3825F30300850876;0x3825F30300850712;0x3825F30300850372;0x3825F3030085069A;0x3825F30300850872;0x3825F30300850882 diff --git a/data/gpu_serial/CF8XHG4.txt b/data/gpu_serial/CF8XHG4.txt deleted file mode 100644 index cb5f097..0000000 --- a/data/gpu_serial/CF8XHG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -CF8XHG4 -Slot.38: 605E:6503:00EE:1E70 -Slot.39: 605E:6503:00EE:1F18 -Slot.37: B45C:B503:000D:C476 -Slot.36: B45C:B503:000D:C46A -Slot.32: B45C:B503:000D:C496 -Slot.33: B45C:B503:000D:C48E -Slot.34: B45C:B503:000D:C48A -Slot.35: B45C:B503:000D:C44A -Slot.31: 605E:6503:00EE:1E54 -Slot.40: 605E:6503:00EE:1E68 -GUID: 0x605E650300EE1E70;0x605E650300EE1F18;0xB45CB503000DC476;0xB45CB503000DC46A;0xB45CB503000DC496;0xB45CB503000DC48E;0xB45CB503000DC48A;0xB45CB503000DC44A;0x605E650300EE1E54;0x605E650300EE1E68 diff --git a/data/gpu_serial/CG4F7G4.txt b/data/gpu_serial/CG4F7G4.txt deleted file mode 100644 index c3e9f83..0000000 --- a/data/gpu_serial/CG4F7G4.txt +++ /dev/null @@ -1,12 +0,0 @@ -CG4F7G4 -Slot.38: B45C:B503:000D:E296 -Slot.39: B45C:B503:000D:E2DE -Slot.37: B45C:B503:000D:E2DA -Slot.36: B45C:B503:000D:E2EA -Slot.32: B45C:B503:000D:E332 -Slot.33: B45C:B503:000D:E2D6 -Slot.34: B45C:B503:000D:E272 -Slot.35: B45C:B503:000D:E2CA -Slot.31: B45C:B503:000D:E34A -Slot.40: B45C:B503:000D:E2CE -GUID: 0xB45CB503000DE296;0xB45CB503000DE2DE;0xB45CB503000DE2DA;0xB45CB503000DE2EA;0xB45CB503000DE332;0xB45CB503000DE2D6;0xB45CB503000DE272;0xB45CB503000DE2CA;0xB45CB503000DE34A;0xB45CB503000DE2CE diff --git a/data/gpu_serial/CGZ7HG4.txt b/data/gpu_serial/CGZ7HG4.txt deleted file mode 100644 index fbd5d50..0000000 --- a/data/gpu_serial/CGZ7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -CGZ7HG4 -Slot.38: B45C:B503:000D:CFA6 -Slot.39: B45C:B503:000D:D6AA -Slot.37: B45C:B503:000D:CF9E -Slot.36: B45C:B503:000D:CF42 -Slot.32: B45C:B503:000D:D57A -Slot.33: B45C:B503:000D:D4C2 -Slot.34: B45C:B503:000D:D58A -Slot.35: B45C:B503:000D:CF6A -Slot.31: B45C:B503:000D:D58E -Slot.40: B45C:B503:000D:D586 -GUID: 0xB45CB503000DCFA6;0xB45CB503000DD6AA;0xB45CB503000DCF9E;0xB45CB503000DCF42;0xB45CB503000DD57A;0xB45CB503000DD4C2;0xB45CB503000DD58A;0xB45CB503000DCF6A;0xB45CB503000DD58E;0xB45CB503000DD586 diff --git a/data/gpu_serial/CS48HG4.txt b/data/gpu_serial/CS48HG4.txt deleted file mode 100644 index 8e6d435..0000000 --- a/data/gpu_serial/CS48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -CS48HG4 -Slot.38: B45C:B503:0039:DECE -Slot.39: B45C:B503:0039:DEBE -Slot.37: B45C:B503:0039:DEE2 -Slot.36: B45C:B503:0039:DED2 -Slot.32: B45C:B503:0039:DEC6 -Slot.33: B45C:B503:0039:DEEE -Slot.34: B45C:B503:0039:DED6 -Slot.35: B45C:B503:000D:DC3A -Slot.31: B45C:B503:000D:E35A -Slot.40: B45C:B503:0039:DEB6 -GUID: 0xB45CB5030039DECE;0xB45CB5030039DEBE;0xB45CB5030039DEE2;0xB45CB5030039DED2;0xB45CB5030039DEC6;0xB45CB5030039DEEE;0xB45CB5030039DED6;0xB45CB503000DDC3A;0xB45CB503000DE35A;0xB45CB5030039DEB6 diff --git a/data/gpu_serial/CV48HG4.txt b/data/gpu_serial/CV48HG4.txt deleted file mode 100644 index 6caaef3..0000000 --- a/data/gpu_serial/CV48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -CV48HG4 -Slot.38: 605E:6503:00EE:1824 -Slot.39: 605E:6503:00EE:1F34 -Slot.37: 605E:6503:00EE:16F8 -Slot.36: 605E:6503:00EE:1EDC -Slot.32: 605E:6503:00EE:1EF0 -Slot.33: 605E:6503:00EE:137C -Slot.34: 605E:6503:00EE:162C -Slot.35: 605E:6503:00EE:1EF8 -Slot.31: 605E:6503:00EE:1E14 -Slot.40: 605E:6503:00EE:1F28 -GUID: 0x605E650300EE1824;0x605E650300EE1F34;0x605E650300EE16F8;0x605E650300EE1EDC;0x605E650300EE1EF0;0x605E650300EE137C;0x605E650300EE162C;0x605E650300EE1EF8;0x605E650300EE1E14;0x605E650300EE1F28 diff --git a/data/gpu_serial/CXZCZC4.txt b/data/gpu_serial/CXZCZC4.txt deleted file mode 100644 index bec1f88..0000000 --- a/data/gpu_serial/CXZCZC4.txt +++ /dev/null @@ -1,12 +0,0 @@ -CXZCZC4 -Slot.38: 3825:F303:0016:62FA -Slot.39: 3825:F303:0016:7D02 -Slot.37: 3825:F303:0016:7E26 -Slot.36: 3825:F303:0016:6AEE -Slot.32: 3825:F303:0016:7DAE -Slot.33: 3825:F303:0016:6BBA -Slot.34: 3825:F303:0016:7DC2 -Slot.35: 3825:F303:0016:7DD2 -Slot.31: 3825:F303:0016:6B7E -Slot.40: 3825:F303:0016:7DD6 -GUID: 0x3825F303001662FA;0x3825F30300167D02;0x3825F30300167E26;0x3825F30300166AEE;0x3825F30300167DAE;0x3825F30300166BBA;0x3825F30300167DC2;0x3825F30300167DD2;0x3825F30300166B7E;0x3825F30300167DD6 diff --git a/data/gpu_serial/D6Z7HG4.txt b/data/gpu_serial/D6Z7HG4.txt deleted file mode 100644 index b78f94f..0000000 --- a/data/gpu_serial/D6Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -D6Z7HG4 -Slot.38: 3825:F303:0084:F712 -Slot.39: 3825:F303:0084:F776 -Slot.37: 3825:F303:0084:FA62 -Slot.36: 3825:F303:0084:F762 -Slot.32: 3825:F303:0084:FA8A -Slot.33: 3825:F303:0084:F6FE -Slot.34: 3825:F303:0084:FA5E -Slot.35: 3825:F303:0084:FA72 -Slot.31: 3825:F303:0084:FAEA -Slot.40: 3825:F303:0084:FAAA -GUID: 0x3825F3030084F712;0x3825F3030084F776;0x3825F3030084FA62;0x3825F3030084F762;0x3825F3030084FA8A;0x3825F3030084F6FE;0x3825F3030084FA5E;0x3825F3030084FA72;0x3825F3030084FAEA;0x3825F3030084FAAA diff --git a/data/gpu_serial/D7Z7HG4.txt b/data/gpu_serial/D7Z7HG4.txt deleted file mode 100644 index caa2931..0000000 --- a/data/gpu_serial/D7Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -D7Z7HG4 -Slot.38: B45C:B503:000D:E21E -Slot.39: B45C:B503:000D:E1EA -Slot.37: B45C:B503:000D:D89A -Slot.36: B45C:B503:000D:E22A -Slot.32: B45C:B503:000D:E236 -Slot.33: B45C:B503:000D:E222 -Slot.34: B45C:B503:000D:D7AA -Slot.35: B45C:B503:000D:E1F2 -Slot.31: B45C:B503:000D:CEAE -Slot.40: B45C:B503:000D:D04A -GUID: 0xB45CB503000DE21E;0xB45CB503000DE1EA;0xB45CB503000DD89A;0xB45CB503000DE22A;0xB45CB503000DE236;0xB45CB503000DE222;0xB45CB503000DD7AA;0xB45CB503000DE1F2;0xB45CB503000DCEAE;0xB45CB503000DD04A diff --git a/data/gpu_serial/D8Z7HG4.txt b/data/gpu_serial/D8Z7HG4.txt deleted file mode 100644 index 9975b1c..0000000 --- a/data/gpu_serial/D8Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -D8Z7HG4 -Slot.38: 3825:F303:0085:041A -Slot.39: 3825:F303:0085:03BA -Slot.37: 3825:F303:0085:010A -Slot.36: 3825:F303:0085:03AE -Slot.32: 3825:F303:0085:03EE -Slot.33: 3825:F303:0085:03EA -Slot.34: 3825:F303:0085:03A2 -Slot.35: 3825:F303:0085:03F6 -Slot.31: 3825:F303:0085:03BE -Slot.40: 3825:F303:0085:0392 -GUID: 0x3825F3030085041A;0x3825F303008503BA;0x3825F3030085010A;0x3825F303008503AE;0x3825F303008503EE;0x3825F303008503EA;0x3825F303008503A2;0x3825F303008503F6;0x3825F303008503BE;0x3825F30300850392 diff --git a/data/gpu_serial/D9Z7HG4.txt b/data/gpu_serial/D9Z7HG4.txt deleted file mode 100644 index 180ba07..0000000 --- a/data/gpu_serial/D9Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -D9Z7HG4 -Slot.38: 3825:F303:0085:0692 -Slot.39: 3825:F303:0085:06BA -Slot.37: 3825:F303:0085:06AE -Slot.36: 3825:F303:0085:06A2 -Slot.32: 3825:F303:0085:036E -Slot.33: 3825:F303:0085:054A -Slot.34: 3825:F303:0085:05EE -Slot.35: 3825:F303:0085:053A -Slot.31: 3825:F303:0085:0586 -Slot.40: 3825:F303:0085:0526 -GUID: 0x3825F30300850692;0x3825F303008506BA;0x3825F303008506AE;0x3825F303008506A2;0x3825F3030085036E;0x3825F3030085054A;0x3825F303008505EE;0x3825F3030085053A;0x3825F30300850586;0x3825F30300850526 diff --git a/data/gpu_serial/DF8XHG4.txt b/data/gpu_serial/DF8XHG4.txt deleted file mode 100644 index 8926607..0000000 --- a/data/gpu_serial/DF8XHG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -DF8XHG4 -Slot.38: 605E:6503:00EE:11B0 -Slot.39: 605E:6503:00EE:1E5C -Slot.37: 605E:6503:00EE:1E04 -Slot.36: 605E:6503:00EE:1E60 -Slot.32: 605E:6503:00EE:0E88 -Slot.33: B45C:B503:000D:C472 -Slot.34: B45C:B503:000D:C462 -Slot.35: 605E:6503:00EE:10F0 -Slot.31: 605E:6503:00EE:1158 -Slot.40: 605E:6503:00EE:10D4 -GUID: 0x605E650300EE11B0;0x605E650300EE1E5C;0x605E650300EE1E04;0x605E650300EE1E60;0x605E650300EE0E88;0xB45CB503000DC472;0xB45CB503000DC462;0x605E650300EE10F0;0x605E650300EE1158;0x605E650300EE10D4 diff --git a/data/gpu_serial/DLYCZC4.txt b/data/gpu_serial/DLYCZC4.txt deleted file mode 100644 index da3839b..0000000 --- a/data/gpu_serial/DLYCZC4.txt +++ /dev/null @@ -1,12 +0,0 @@ -DLYCZC4 -Slot.38: 5000:E603:0068:F48C -Slot.39: 5000:E603:0068:F3A8 -Slot.37: 5000:E603:0068:F400 -Slot.36: 5000:E603:0068:F414 -Slot.32: 5000:E603:0068:F49C -Slot.33: 5000:E603:0068:F34C -Slot.34: 5000:E603:0068:F348 -Slot.35: 5000:E603:0068:F484 -Slot.31: 5000:E603:0068:F39C -Slot.40: 5000:E603:0068:F3AC -GUID: 0x5000E6030068F48C;0x5000E6030068F3A8;0x5000E6030068F400;0x5000E6030068F414;0x5000E6030068F49C;0x5000E6030068F34C;0x5000E6030068F348;0x5000E6030068F484;0x5000E6030068F39C;0x5000E6030068F3AC diff --git a/data/gpu_serial/DS48HG4.txt b/data/gpu_serial/DS48HG4.txt deleted file mode 100644 index 3b138f5..0000000 --- a/data/gpu_serial/DS48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -DS48HG4 -Slot.38: 605E:6503:00EE:1FD0 -Slot.39: B45C:B503:000D:C3BE -Slot.37: B45C:B503:000D:C6A2 -Slot.36: B45C:B503:000D:C69E -Slot.32: 605E:6503:00EE:1FCC -Slot.33: B45C:B503:000D:C3D2 -Slot.34: B45C:B503:000D:C6E2 -Slot.35: B45C:B503:000D:C6D6 -Slot.31: B45C:B503:000D:C6C6 -Slot.40: B45C:B503:000D:C6BE -GUID: 0x605E650300EE1FD0;0xB45CB503000DC3BE;0xB45CB503000DC6A2;0xB45CB503000DC69E;0x605E650300EE1FCC;0xB45CB503000DC3D2;0xB45CB503000DC6E2;0xB45CB503000DC6D6;0xB45CB503000DC6C6;0xB45CB503000DC6BE diff --git a/data/gpu_serial/DT48HG4.txt b/data/gpu_serial/DT48HG4.txt deleted file mode 100644 index 447bd58..0000000 --- a/data/gpu_serial/DT48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -DT48HG4 -Slot.38: 605E:6503:00EE:1DF8 -Slot.39: 605E:6503:00EE:1C84 -Slot.37: 605E:6503:00EE:1CD4 -Slot.36: 605E:6503:00EE:1CE0 -Slot.32: 605E:6503:00EE:1DD0 -Slot.33: 605E:6503:00EE:1DE8 -Slot.34: 605E:6503:00EE:1DD4 -Slot.35: 605E:6503:00EE:1DA8 -Slot.31: 605E:6503:00EE:1DE4 -Slot.40: 605E:6503:00EE:1DB4 -GUID: 0x605E650300EE1DF8;0x605E650300EE1C84;0x605E650300EE1CD4;0x605E650300EE1CE0;0x605E650300EE1DD0;0x605E650300EE1DE8;0x605E650300EE1DD4;0x605E650300EE1DA8;0x605E650300EE1DE4;0x605E650300EE1DB4 diff --git a/data/gpu_serial/DXZCZC4.txt b/data/gpu_serial/DXZCZC4.txt deleted file mode 100644 index 51b6df3..0000000 --- a/data/gpu_serial/DXZCZC4.txt +++ /dev/null @@ -1,12 +0,0 @@ -DXZCZC4 -Slot.38: 3825:F303:00C4:0A6C -Slot.39: 3825:F303:00C4:166C -Slot.37: 3825:F303:00C4:0A3C -Slot.36: 3825:F303:00C4:0A48 -Slot.32: 3825:F303:00C4:1664 -Slot.33: 3825:F303:00C4:1628 -Slot.34: 3825:F303:00C4:1634 -Slot.35: 3825:F303:00C4:156C -Slot.31: 3825:F303:00C4:0A70 -Slot.40: 3825:F303:00C4:0A68 -GUID: 0x3825F30300C40A6C;0x3825F30300C4166C;0x3825F30300C40A3C;0x3825F30300C40A48;0x3825F30300C41664;0x3825F30300C41628;0x3825F30300C41634;0x3825F30300C4156C;0x3825F30300C40A70;0x3825F30300C40A68 diff --git a/data/gpu_serial/F42F7G4.txt b/data/gpu_serial/F42F7G4.txt deleted file mode 100644 index 30a649e..0000000 --- a/data/gpu_serial/F42F7G4.txt +++ /dev/null @@ -1,12 +0,0 @@ -F42F7G4 -Slot.38: B45C:B503:000D:E1BE -Slot.39: B45C:B503:000D:DC62 -Slot.37: B45C:B503:000D:DBB6 -Slot.36: B45C:B503:000D:E1CA -Slot.32: B45C:B503:000D:DC76 -Slot.33: B45C:B503:000D:DB92 -Slot.34: B45C:B503:000D:DB7E -Slot.35: B45C:B503:000D:E1C6 -Slot.31: B45C:B503:000D:DD22 -Slot.40: B45C:B503:000D:E1DA -GUID: 0xB45CB503000DE1BE;0xB45CB503000DDC62;0xB45CB503000DDBB6;0xB45CB503000DE1CA;0xB45CB503000DDC76;0xB45CB503000DDB92;0xB45CB503000DDB7E;0xB45CB503000DE1C6;0xB45CB503000DDD22;0xB45CB503000DE1DA diff --git a/data/gpu_serial/F7Z7HG4.txt b/data/gpu_serial/F7Z7HG4.txt deleted file mode 100644 index 7ee9801..0000000 --- a/data/gpu_serial/F7Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -F7Z7HG4 -Slot.38: 3825:F303:0084:FDCA -Slot.39: 3825:F303:0084:FD52 -Slot.37: 3825:F303:0084:FE96 -Slot.36: 3825:F303:0084:FB6A -Slot.32: 3825:F303:0084:FE9A -Slot.33: 3825:F303:0084:FB2A -Slot.34: 3825:F303:0084:FCD6 -Slot.35: 3825:F303:0090:86C8 -Slot.31: 3825:F303:0084:FEA2 -Slot.40: 3825:F303:0084:FAFE -GUID: 0x3825F3030084FDCA;0x3825F3030084FD52;0x3825F3030084FE96;0x3825F3030084FB6A;0x3825F3030084FE9A;0x3825F3030084FB2A;0x3825F3030084FCD6;0x3825F303009086C8;0x3825F3030084FEA2;0x3825F3030084FAFE diff --git a/data/gpu_serial/F9Z7HG4.txt b/data/gpu_serial/F9Z7HG4.txt deleted file mode 100644 index 0e7c71d..0000000 --- a/data/gpu_serial/F9Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -F9Z7HG4 -Slot.38: B45C:B503:000D:DAFE -Slot.39: B45C:B503:000D:DB0E -Slot.37: B45C:B503:000D:DABA -Slot.36: B45C:B503:000D:DA3A -Slot.32: B45C:B503:000D:DA2E -Slot.33: B45C:B503:000D:DADA -Slot.34: B45C:B503:000D:DAE6 -Slot.35: B45C:B503:000D:DAEE -Slot.31: B45C:B503:000D:DA42 -Slot.40: B45C:B503:000D:DA26 -GUID: 0xB45CB503000DDAFE;0xB45CB503000DDB0E;0xB45CB503000DDABA;0xB45CB503000DDA3A;0xB45CB503000DDA2E;0xB45CB503000DDADA;0xB45CB503000DDAE6;0xB45CB503000DDAEE;0xB45CB503000DDA42;0xB45CB503000DDA26 diff --git a/data/gpu_serial/FB2F7G4.txt b/data/gpu_serial/FB2F7G4.txt deleted file mode 100644 index c86ccf2..0000000 --- a/data/gpu_serial/FB2F7G4.txt +++ /dev/null @@ -1,12 +0,0 @@ -FB2F7G4 -Slot.38: B45C:B503:000D:DBD6 -Slot.39: B45C:B503:000D:DBF6 -Slot.37: B45C:B503:000D:DBE2 -Slot.36: B45C:B503:000D:DC26 -Slot.32: B45C:B503:000D:D70A -Slot.33: B45C:B503:000D:D702 -Slot.34: B45C:B503:000D:DCB6 -Slot.35: B45C:B503:000D:DCC2 -Slot.31: B45C:B503:000D:DC6A -Slot.40: B45C:B503:000D:DBF2 -GUID: 0xB45CB503000DDBD6;0xB45CB503000DDBF6;0xB45CB503000DDBE2;0xB45CB503000DDC26;0xB45CB503000DD70A;0xB45CB503000DD702;0xB45CB503000DDCB6;0xB45CB503000DDCC2;0xB45CB503000DDC6A;0xB45CB503000DDBF2 diff --git a/data/gpu_serial/FF8XHG4.txt b/data/gpu_serial/FF8XHG4.txt deleted file mode 100644 index 8b38514..0000000 --- a/data/gpu_serial/FF8XHG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -FF8XHG4 -Slot.38: 605E:6503:00EE:141C -Slot.39: 605E:6503:00EE:1108 -Slot.37: 605E:6503:00EE:10FC -Slot.36: 605E:6503:00EE:1490 -Slot.32: 605E:6503:00EE:14D0 -Slot.33: 605E:6503:00EE:14A0 -Slot.34: 605E:6503:00EE:144C -Slot.35: 605E:6503:00EE:110C -Slot.31: 605E:6503:00EE:1124 -Slot.40: 605E:6503:00EE:1130 -GUID: 0x605E650300EE141C;0x605E650300EE1108;0x605E650300EE10FC;0x605E650300EE1490;0x605E650300EE14D0;0x605E650300EE14A0;0x605E650300EE144C;0x605E650300EE110C;0x605E650300EE1124;0x605E650300EE1130 diff --git a/data/gpu_serial/FS48HG4.txt b/data/gpu_serial/FS48HG4.txt deleted file mode 100644 index f9dc6fc..0000000 --- a/data/gpu_serial/FS48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -FS48HG4 -Slot.38: 605E:6503:00EE:1F20 -Slot.39: 605E:6503:00EE:1F30 -Slot.37: 605E:6503:00EE:1F54 -Slot.36: 605E:6503:00EE:1F48 -Slot.32: 605E:6503:00EE:1F24 -Slot.33: 605E:6503:00EE:1F50 -Slot.34: 605E:6503:00EE:1F04 -Slot.35: 605E:6503:00EE:1EF4 -Slot.31: 605E:6503:00EE:1F0C -Slot.40: 605E:6503:00EE:1F44 -GUID: 0x605E650300EE1F20;0x605E650300EE1F30;0x605E650300EE1F54;0x605E650300EE1F48;0x605E650300EE1F24;0x605E650300EE1F50;0x605E650300EE1F04;0x605E650300EE1EF4;0x605E650300EE1F0C;0x605E650300EE1F44 diff --git a/data/gpu_serial/FT48HG4.txt b/data/gpu_serial/FT48HG4.txt deleted file mode 100644 index b5f535c..0000000 --- a/data/gpu_serial/FT48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -FT48HG4 -Slot.38: 605E:6503:00EE:1E4C -Slot.39: 605E:6503:00EE:1DFC -Slot.37: 605E:6503:00EE:1E38 -Slot.36: 605E:6503:00EE:1E1C -Slot.32: 605E:6503:00EE:1D90 -Slot.33: 605E:6503:00EE:1D6C -Slot.34: 605E:6503:00EE:1E50 -Slot.35: 605E:6503:00EE:1D84 -Slot.31: 605E:6503:00EE:1D8C -Slot.40: 605E:6503:00EE:1B3C -GUID: 0x605E650300EE1E4C;0x605E650300EE1DFC;0x605E650300EE1E38;0x605E650300EE1E1C;0x605E650300EE1D90;0x605E650300EE1D6C;0x605E650300EE1E50;0x605E650300EE1D84;0x605E650300EE1D8C;0x605E650300EE1B3C diff --git a/data/gpu_serial/FWZCZC4.txt b/data/gpu_serial/FWZCZC4.txt deleted file mode 100644 index 5b92c30..0000000 --- a/data/gpu_serial/FWZCZC4.txt +++ /dev/null @@ -1,12 +0,0 @@ -FWZCZC4 -Slot.38: 7C8C:0903:00A4:E46C -Slot.39: 7C8C:0903:00A5:0470 -Slot.37: 7C8C:0903:00A5:0430 -Slot.36: 7C8C:0903:00A5:0438 -Slot.32: 7C8C:0903:00A5:046C -Slot.33: 7C8C:0903:00A5:0478 -Slot.34: 7C8C:0903:00A5:04F4 -Slot.35: 7C8C:0903:00A5:04E0 -Slot.31: 7C8C:0903:00A5:04FC -Slot.40: 7C8C:0903:00A5:042C -GUID: 0x7C8C090300A4E46C;0x7C8C090300A50470;0x7C8C090300A50430;0x7C8C090300A50438;0x7C8C090300A5046C;0x7C8C090300A50478;0x7C8C090300A504F4;0x7C8C090300A504E0;0x7C8C090300A504FC;0x7C8C090300A5042C diff --git a/data/gpu_serial/FYJCZC4.txt b/data/gpu_serial/FYJCZC4.txt deleted file mode 100644 index 8216886..0000000 --- a/data/gpu_serial/FYJCZC4.txt +++ /dev/null @@ -1,12 +0,0 @@ -FYJCZC4 -Slot.38: 5C25:7303:001F:C078 -Slot.39: 5C25:7303:001F:BFAC -Slot.37: 5C25:7303:001F:C034 -Slot.36: 5C25:7303:001F:C080 -Slot.32: 5C25:7303:001F:C044 -Slot.33: 5C25:7303:001F:C060 -Slot.34: 5C25:7303:001F:C06C -Slot.35: 5C25:7303:001F:C09C -Slot.31: 5C25:7303:001F:C07C -Slot.40: 5C25:7303:001F:C04C -GUID: 0x5C257303001FC078;0x5C257303001FBFAC;0x5C257303001FC034;0x5C257303001FC080;0x5C257303001FC044;0x5C257303001FC060;0x5C257303001FC06C;0x5C257303001FC09C;0x5C257303001FC07C;0x5C257303001FC04C diff --git a/data/gpu_serial/G6Z7HG4.txt b/data/gpu_serial/G6Z7HG4.txt deleted file mode 100644 index 04a9b83..0000000 --- a/data/gpu_serial/G6Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -G6Z7HG4 -Slot.38: B45C:B503:000D:CE26 -Slot.39: B45C:B503:000D:CD7E -Slot.37: B45C:B503:000D:CCAA -Slot.36: B45C:B503:000D:CC56 -Slot.32: B45C:B503:000D:CDAA -Slot.33: B45C:B503:000D:CD32 -Slot.34: B45C:B503:000D:CBC2 -Slot.35: B45C:B503:000D:CE02 -Slot.31: B45C:B503:000D:CD96 -Slot.40: B45C:B503:000D:CD26 -GUID: 0xB45CB503000DCE26;0xB45CB503000DCD7E;0xB45CB503000DCCAA;0xB45CB503000DCC56;0xB45CB503000DCDAA;0xB45CB503000DCD32;0xB45CB503000DCBC2;0xB45CB503000DCE02;0xB45CB503000DCD96;0xB45CB503000DCD26 diff --git a/data/gpu_serial/GS48HG4.txt b/data/gpu_serial/GS48HG4.txt deleted file mode 100644 index b4d8977..0000000 --- a/data/gpu_serial/GS48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -GS48HG4 -Slot.38: B45C:B503:000D:C42E -Slot.39: 605E:6503:00EE:1F90 -Slot.37: 605E:6503:00EE:205C -Slot.36: 605E:6503:00EE:1F6C -Slot.32: 605E:6503:00EE:2058 -Slot.33: 605E:6503:00EE:1F8C -Slot.34: 605E:6503:00EE:2078 -Slot.35: 605E:6503:00EE:1F94 -Slot.31: 605E:6503:00EE:2060 -Slot.40: 605E:6503:00EE:2064 -GUID: 0xB45CB503000DC42E;0x605E650300EE1F90;0x605E650300EE205C;0x605E650300EE1F6C;0x605E650300EE2058;0x605E650300EE1F8C;0x605E650300EE2078;0x605E650300EE1F94;0x605E650300EE2060;0x605E650300EE2064 diff --git a/data/gpu_serial/GV48HG4.txt b/data/gpu_serial/GV48HG4.txt deleted file mode 100644 index 2abcb9e..0000000 --- a/data/gpu_serial/GV48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -GV48HG4 -Slot.38: 605E:6503:00EE:12D4 -Slot.39: 605E:6503:00EE:1260 -Slot.37: 605E:6503:00EE:1850 -Slot.36: 605E:6503:00EE:130C -Slot.32: 605E:6503:00EE:15C4 -Slot.33: 605E:6503:00EE:16DC -Slot.34: 605E:6503:00EE:1854 -Slot.35: 605E:6503:00EE:1878 -Slot.31: 605E:6503:00EE:1860 -Slot.40: 605E:6503:00EE:1580 -GUID: 0x605E650300EE12D4;0x605E650300EE1260;0x605E650300EE1850;0x605E650300EE130C;0x605E650300EE15C4;0x605E650300EE16DC;0x605E650300EE1854;0x605E650300EE1878;0x605E650300EE1860;0x605E650300EE1580 diff --git a/data/gpu_serial/H22F7G4.txt b/data/gpu_serial/H22F7G4.txt deleted file mode 100644 index 0bf2f97..0000000 --- a/data/gpu_serial/H22F7G4.txt +++ /dev/null @@ -1,12 +0,0 @@ -H22F7G4 -Slot.38: B45C:B503:000D:DC66 -Slot.39: B45C:B503:000D:DD1E -Slot.37: B45C:B503:000D:DC8A -Slot.36: B45C:B503:000D:DD26 -Slot.32: B45C:B503:000D:DC92 -Slot.33: B45C:B503:000D:E1E2 -Slot.34: B45C:B503:000D:DC72 -Slot.35: B45C:B503:000D:E1CE -Slot.31: B45C:B503:000D:E1C2 -Slot.40: B45C:B503:000D:DD02 -GUID: 0xB45CB503000DDC66;0xB45CB503000DDD1E;0xB45CB503000DDC8A;0xB45CB503000DDD26;0xB45CB503000DDC92;0xB45CB503000DE1E2;0xB45CB503000DDC72;0xB45CB503000DE1CE;0xB45CB503000DE1C2;0xB45CB503000DDD02 diff --git a/data/gpu_serial/H42F7G4.txt b/data/gpu_serial/H42F7G4.txt deleted file mode 100644 index 1876248..0000000 --- a/data/gpu_serial/H42F7G4.txt +++ /dev/null @@ -1,12 +0,0 @@ -H42F7G4 -Slot.38: B45C:B503:000D:D6D6 -Slot.39: B45C:B503:000D:C58A -Slot.37: B45C:B503:000D:D4FA -Slot.36: B45C:B503:000D:D4DE -Slot.32: B45C:B503:000D:C592 -Slot.33: B45C:B503:000D:C662 -Slot.34: B45C:B503:000D:C65A -Slot.35: B45C:B503:000D:D6E2 -Slot.31: B45C:B503:000D:CFFE -Slot.40: B45C:B503:000D:D6F2 -GUID: 0xB45CB503000DD6D6;0xB45CB503000DC58A;0xB45CB503000DD4FA;0xB45CB503000DD4DE;0xB45CB503000DC592;0xB45CB503000DC662;0xB45CB503000DC65A;0xB45CB503000DD6E2;0xB45CB503000DCFFE;0xB45CB503000DD6F2 diff --git a/data/gpu_serial/H6Z7HG4.txt b/data/gpu_serial/H6Z7HG4.txt deleted file mode 100644 index 253391e..0000000 --- a/data/gpu_serial/H6Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -H6Z7HG4 -Slot.38: 3825:F303:0085:0322 -Slot.39: 3825:F303:0085:031E -Slot.37: 3825:F303:0085:028E -Slot.36: 3825:F303:0085:02BE -Slot.32: 3825:F303:0085:02CE -Slot.33: 3825:F303:0084:FFD2 -Slot.34: 3825:F303:0085:0346 -Slot.35: 3825:F303:0085:02FE -Slot.31: 3825:F303:0084:FFDE -Slot.40: 3825:F303:0085:041E -GUID: 0x3825F30300850322;0x3825F3030085031E;0x3825F3030085028E;0x3825F303008502BE;0x3825F303008502CE;0x3825F3030084FFD2;0x3825F30300850346;0x3825F303008502FE;0x3825F3030084FFDE;0x3825F3030085041E diff --git a/data/gpu_serial/H7Z7HG4.txt b/data/gpu_serial/H7Z7HG4.txt deleted file mode 100644 index f6c9a97..0000000 --- a/data/gpu_serial/H7Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -H7Z7HG4 -Slot.38: B45C:B503:000D:D77E -Slot.39: B45C:B503:000D:CF3A -Slot.37: B45C:B503:000D:D79A -Slot.36: B45C:B503:000D:D786 -Slot.32: B45C:B503:000D:CF12 -Slot.33: B45C:B503:000D:D706 -Slot.34: B45C:B503:000D:D79E -Slot.35: B45C:B503:000D:D796 -Slot.31: B45C:B503:000D:D766 -Slot.40: B45C:B503:000D:D792 -GUID: 0xB45CB503000DD77E;0xB45CB503000DCF3A;0xB45CB503000DD79A;0xB45CB503000DD786;0xB45CB503000DCF12;0xB45CB503000DD706;0xB45CB503000DD79E;0xB45CB503000DD796;0xB45CB503000DD766;0xB45CB503000DD792 diff --git a/data/gpu_serial/H8KS3H4.txt b/data/gpu_serial/H8KS3H4.txt deleted file mode 100644 index 7f42505..0000000 --- a/data/gpu_serial/H8KS3H4.txt +++ /dev/null @@ -1,12 +0,0 @@ -H8KS3H4 -Slot.38: 605E:6503:0030:88BC -Slot.39: 605E:6503:0030:87D0 -Slot.37: 605E:6503:0030:88D0 -Slot.36: 605E:6503:0030:89B0 -Slot.32: 605E:6503:0030:8728 -Slot.33: 605E:6503:0030:88B8 -Slot.34: 605E:6503:0030:87F0 -Slot.35: 605E:6503:0030:89DC -Slot.31: 605E:6503:0030:87B8 -Slot.40: 605E:6503:0030:886C -GUID: 0x605E6503003088BC;0x605E6503003087D0;0x605E6503003088D0;0x605E6503003089B0;0x605E650300308728;0x605E6503003088B8;0x605E6503003087F0;0x605E6503003089DC;0x605E6503003087B8;0x605E65030030886C diff --git a/data/gpu_serial/H8Z7HG4.txt b/data/gpu_serial/H8Z7HG4.txt deleted file mode 100644 index fd2c24e..0000000 --- a/data/gpu_serial/H8Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -H8Z7HG4 -Slot.38: B45C:B503:000D:D8BA -Slot.39: B45C:B503:000D:D8CA -Slot.37: B45C:B503:000D:D84E -Slot.36: B45C:B503:000D:D9BA -Slot.32: B45C:B503:000D:CFEE -Slot.33: B45C:B503:000D:D8D2 -Slot.34: B45C:B503:000D:D9DE -Slot.35: B45C:B503:000D:D776 -Slot.31: B45C:B503:000D:D9D2 -Slot.40: B45C:B503:000D:D8D6 -GUID: 0xB45CB503000DD8BA;0xB45CB503000DD8CA;0xB45CB503000DD84E;0xB45CB503000DD9BA;0xB45CB503000DCFEE;0xB45CB503000DD8D2;0xB45CB503000DD9DE;0xB45CB503000DD776;0xB45CB503000DD9D2;0xB45CB503000DD8D6 diff --git a/data/gpu_serial/HR48HG4.txt b/data/gpu_serial/HR48HG4.txt deleted file mode 100644 index facb447..0000000 --- a/data/gpu_serial/HR48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -HR48HG4 -Slot.38: 605E:6503:00EE:1EAC -Slot.39: 605E:6503:00EE:1DDC -Slot.37: 605E:6503:00EE:1E94 -Slot.36: 605E:6503:00EE:1E40 -Slot.32: 605E:6503:00EE:1CB4 -Slot.33: 605E:6503:00EE:1EFC -Slot.34: 605E:6503:00EE:1E0C -Slot.35: 605E:6503:00EE:1DC8 -Slot.31: 605E:6503:00EE:1CA0 -Slot.40: 605E:6503:00EE:1E10 -GUID: 0x605E650300EE1EAC;0x605E650300EE1DDC;0x605E650300EE1E94;0x605E650300EE1E40;0x605E650300EE1CB4;0x605E650300EE1EFC;0x605E650300EE1E0C;0x605E650300EE1DC8;0x605E650300EE1CA0;0x605E650300EE1E10 diff --git a/data/gpu_serial/HT48HG4.txt b/data/gpu_serial/HT48HG4.txt deleted file mode 100644 index 7360821..0000000 --- a/data/gpu_serial/HT48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -HT48HG4 -Slot.38: B45C:B503:000D:C626 -Slot.39: B45C:B503:000D:C62E -Slot.37: B45C:B503:000D:C5EA -Slot.36: B45C:B503:000D:C60E -Slot.32: B45C:B503:000D:C61A -Slot.33: B45C:B503:000D:C5AA -Slot.34: B45C:B503:000D:C606 -Slot.35: B45C:B503:000D:C5BA -Slot.31: B45C:B503:000D:C62A -Slot.40: B45C:B503:000D:C5FE -GUID: 0xB45CB503000DC626;0xB45CB503000DC62E;0xB45CB503000DC5EA;0xB45CB503000DC60E;0xB45CB503000DC61A;0xB45CB503000DC5AA;0xB45CB503000DC606;0xB45CB503000DC5BA;0xB45CB503000DC62A;0xB45CB503000DC5FE diff --git a/data/gpu_serial/J6Z7HG4.txt b/data/gpu_serial/J6Z7HG4.txt deleted file mode 100644 index a96fe5d..0000000 --- a/data/gpu_serial/J6Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -J6Z7HG4 -Slot.38: B45C:B503:000D:E2A6 -Slot.39: B45C:B503:000D:E382 -Slot.37: B45C:B503:000D:E3FE -Slot.36: B45C:B503:000D:E2AE -Slot.32: B45C:B503:000D:DC0E -Slot.33: B45C:B503:000D:E346 -Slot.34: B45C:B503:000D:E24E -Slot.35: B45C:B503:000D:E2AA -Slot.31: B45C:B503:000D:E34E -Slot.40: B45C:B503:000D:DC4A -GUID: 0xB45CB503000DE2A6;0xB45CB503000DE382;0xB45CB503000DE3FE;0xB45CB503000DE2AE;0xB45CB503000DDC0E;0xB45CB503000DE346;0xB45CB503000DE24E;0xB45CB503000DE2AA;0xB45CB503000DE34E;0xB45CB503000DDC4A diff --git a/data/gpu_serial/J7Z7HG4.txt b/data/gpu_serial/J7Z7HG4.txt deleted file mode 100644 index 006eb06..0000000 --- a/data/gpu_serial/J7Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -J7Z7HG4 -Slot.38: B45C:B503:000D:E1FA -Slot.39: B45C:B503:000D:E26E -Slot.37: B45C:B503:000D:E29E -Slot.36: B45C:B503:000D:E28E -Slot.32: B45C:B503:000D:E23A -Slot.33: B45C:B503:000D:E262 -Slot.34: B45C:B503:000D:E28A -Slot.35: B45C:B503:000D:E2BA -Slot.31: B45C:B503:000D:DD2E -Slot.40: B45C:B503:000D:DCCA -GUID: 0xB45CB503000DE1FA;0xB45CB503000DE26E;0xB45CB503000DE29E;0xB45CB503000DE28E;0xB45CB503000DE23A;0xB45CB503000DE262;0xB45CB503000DE28A;0xB45CB503000DE2BA;0xB45CB503000DDD2E;0xB45CB503000DDCCA diff --git a/data/gpu_serial/J8Z7HG4.txt b/data/gpu_serial/J8Z7HG4.txt deleted file mode 100644 index 519887a..0000000 --- a/data/gpu_serial/J8Z7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -J8Z7HG4 -Slot.38: 3825:F303:0085:0556 -Slot.39: 3825:F303:0085:05A6 -Slot.37: 3825:F303:0085:04C2 -Slot.36: 3825:F303:0085:056E -Slot.32: 3825:F303:0085:0592 -Slot.33: 3825:F303:0085:056A -Slot.34: 3825:F303:0085:05AA -Slot.35: 3825:F303:0085:04BE -Slot.31: 3825:F303:0085:05BE -Slot.40: 3825:F303:0085:0582 -GUID: 0x3825F30300850556;0x3825F303008505A6;0x3825F303008504C2;0x3825F3030085056E;0x3825F30300850592;0x3825F3030085056A;0x3825F303008505AA;0x3825F303008504BE;0x3825F303008505BE;0x3825F30300850582 diff --git a/data/gpu_serial/JF4F7G4.txt b/data/gpu_serial/JF4F7G4.txt deleted file mode 100644 index 5f1c498..0000000 --- a/data/gpu_serial/JF4F7G4.txt +++ /dev/null @@ -1,12 +0,0 @@ -JF4F7G4 -Slot.38: B45C:B503:000D:E316 -Slot.39: B45C:B503:000D:E2F6 -Slot.37: B45C:B503:000D:E2C6 -Slot.36: B45C:B503:000D:E2A2 -Slot.32: B45C:B503:000D:E2C2 -Slot.33: B45C:B503:000D:E2E6 -Slot.34: B45C:B503:000D:E29A -Slot.35: B45C:B503:000D:E276 -Slot.31: B45C:B503:000D:E2D2 -Slot.40: B45C:B503:000D:E2E2 -GUID: 0xB45CB503000DE316;0xB45CB503000DE2F6;0xB45CB503000DE2C6;0xB45CB503000DE2A2;0xB45CB503000DE2C2;0xB45CB503000DE2E6;0xB45CB503000DE29A;0xB45CB503000DE276;0xB45CB503000DE2D2;0xB45CB503000DE2E2 diff --git a/data/guid_file/JF4F7G4.txt b/data/guid_file/JF4F7G4.txt deleted file mode 100644 index 5f1c498..0000000 --- a/data/guid_file/JF4F7G4.txt +++ /dev/null @@ -1,12 +0,0 @@ -JF4F7G4 -Slot.38: B45C:B503:000D:E316 -Slot.39: B45C:B503:000D:E2F6 -Slot.37: B45C:B503:000D:E2C6 -Slot.36: B45C:B503:000D:E2A2 -Slot.32: B45C:B503:000D:E2C2 -Slot.33: B45C:B503:000D:E2E6 -Slot.34: B45C:B503:000D:E29A -Slot.35: B45C:B503:000D:E276 -Slot.31: B45C:B503:000D:E2D2 -Slot.40: B45C:B503:000D:E2E2 -GUID: 0xB45CB503000DE316;0xB45CB503000DE2F6;0xB45CB503000DE2C6;0xB45CB503000DE2A2;0xB45CB503000DE2C2;0xB45CB503000DE2E6;0xB45CB503000DE29A;0xB45CB503000DE276;0xB45CB503000DE2D2;0xB45CB503000DE2E2 diff --git a/data/logs/2025-11-24.log b/data/logs/2025-11-24.log deleted file mode 100644 index 35392c2..0000000 --- a/data/logs/2025-11-24.log +++ /dev/null @@ -1,684 +0,0 @@ -2025-11-24 16:23:44,003 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-24 16:23:44,030 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 16:23:44,030 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 16:23:44,055 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-24 16:23:44,090 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-24 16:23:44,090 [INFO] werkzeug: Press CTRL+C to quit -2025-11-24 16:23:44,090 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-24 16:23:44,690 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-24 16:23:44,710 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 16:23:44,710 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 16:23:44,726 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-24 16:23:44,739 [WARNING] werkzeug: * Debugger is active! -2025-11-24 16:23:44,741 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-24 16:23:52,286 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:23:52] "GET / HTTP/1.1" 302 - -2025-11-24 16:23:52,316 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:23:52] "GET /login?next=/ HTTP/1.1" 200 - -2025-11-24 16:23:52,359 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:23:52] "GET /static/style.css HTTP/1.1" 200 - -2025-11-24 16:23:52,414 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:23:52] "GET /static/favicon.ico HTTP/1.1" 200 - -2025-11-24 16:23:58,612 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-24 16:23:58,612 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-24 16:23:58,676 [INFO] app: LOGIN: found id=1 active=True pass_ok=True -2025-11-24 16:23:58,676 [INFO] app: LOGIN: found id=1 active=True pass_ok=True -2025-11-24 16:23:58,676 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-24 16:23:58,676 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-24 16:23:58,677 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:23:58] "POST /login HTTP/1.1" 302 - -2025-11-24 16:23:58,717 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:23:58] "GET /index HTTP/1.1" 200 - -2025-11-24 16:23:58,735 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:23:58] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:23:58,745 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:23:58] "GET /static/script.js HTTP/1.1" 200 - -2025-11-24 16:24:08,700 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:24:08] "GET /home/ HTTP/1.1" 200 - -2025-11-24 16:24:08,711 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:24:08] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:24:10,139 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:24:10] "GET /home/ HTTP/1.1" 200 - -2025-11-24 16:24:10,154 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:24:10] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:24:10,632 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:24:10] "GET /xml_management HTTP/1.1" 200 - -2025-11-24 16:24:10,645 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:24:10] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:24:14,477 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:24:14] "GET /edit_xml/T8A_R6625_RAID_A.xml HTTP/1.1" 200 - -2025-11-24 16:24:14,492 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:24:14] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:24:16,178 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:24:16] "GET /xml_management HTTP/1.1" 200 - -2025-11-24 16:24:16,191 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:24:16] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:24:22,156 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:24:22] "GET /index HTTP/1.1" 200 - -2025-11-24 16:24:22,173 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:24:22] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:24:22,174 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:24:22] "GET /static/script.js HTTP/1.1" 304 - -2025-11-24 16:24:22,770 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:24:22] "GET /xml_management HTTP/1.1" 200 - -2025-11-24 16:24:22,783 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:24:22] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:24:23,371 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:24:23] "GET /index HTTP/1.1" 200 - -2025-11-24 16:24:23,387 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:24:23] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:24:23,389 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:24:23] "GET /static/script.js HTTP/1.1" 304 - -2025-11-24 16:24:23,851 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:24:23] "GET /xml_management HTTP/1.1" 200 - -2025-11-24 16:24:23,863 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:24:23] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:24:24,257 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:24:24] "GET /index HTTP/1.1" 200 - -2025-11-24 16:24:24,271 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:24:24] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:24:24,274 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:24:24] "GET /static/script.js HTTP/1.1" 304 - -2025-11-24 16:24:30,856 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:24:30] "GET /xml_management HTTP/1.1" 200 - -2025-11-24 16:24:30,871 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:24:30] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:25:28,267 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:25:28] "GET /index HTTP/1.1" 200 - -2025-11-24 16:25:28,283 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:25:28] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:25:28,286 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:25:28] "GET /static/script.js HTTP/1.1" 304 - -2025-11-24 16:26:46,574 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:26:46] "GET /xml_management HTTP/1.1" 200 - -2025-11-24 16:26:46,595 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:26:46] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:26:47,173 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:26:47] "GET /index HTTP/1.1" 200 - -2025-11-24 16:26:47,188 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:26:47] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:26:47,190 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:26:47] "GET /static/script.js HTTP/1.1" 304 - -2025-11-24 16:26:48,441 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:26:48] "GET /xml_management HTTP/1.1" 200 - -2025-11-24 16:26:48,453 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:26:48] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:26:48,952 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:26:48] "GET /index HTTP/1.1" 200 - -2025-11-24 16:26:48,964 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:26:48] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:26:48,967 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:26:48] "GET /static/script.js HTTP/1.1" 304 - -2025-11-24 16:27:17,588 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:27:17] "GET /xml_management HTTP/1.1" 200 - -2025-11-24 16:27:17,601 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:27:17] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:27:19,596 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:27:19] "GET /index HTTP/1.1" 200 - -2025-11-24 16:27:19,613 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:27:19] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:27:19,614 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:27:19] "GET /static/script.js HTTP/1.1" 304 - -2025-11-24 16:27:20,075 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:27:20] "GET /xml_management HTTP/1.1" 200 - -2025-11-24 16:27:20,087 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:27:20] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:27:21,231 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:27:21] "GET /index HTTP/1.1" 200 - -2025-11-24 16:27:21,243 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:27:21] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:27:21,247 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:27:21] "GET /static/script.js HTTP/1.1" 304 - -2025-11-24 16:27:21,587 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:27:21] "GET /xml_management HTTP/1.1" 200 - -2025-11-24 16:27:21,603 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:27:21] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:27:28,942 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:27:28] "GET /jobs HTTP/1.1" 200 - -2025-11-24 16:27:28,957 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:27:28] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:27:28,965 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:27:28] "GET /jobs/config HTTP/1.1" 200 - -2025-11-24 16:27:28,985 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-11-24 16:27:28,986 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:27:28] "GET /jobs/iplist HTTP/1.1" 200 - -2025-11-24 16:27:33,846 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:27:33] "GET /xml_management HTTP/1.1" 200 - -2025-11-24 16:27:33,860 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:27:33] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:27:34,536 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:27:34] "GET /index HTTP/1.1" 200 - -2025-11-24 16:27:34,548 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:27:34] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:27:34,552 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:27:34] "GET /static/script.js HTTP/1.1" 304 - -2025-11-24 16:27:35,135 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:27:35] "GET /xml_management HTTP/1.1" 200 - -2025-11-24 16:27:35,147 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:27:35] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:27:35,691 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:27:35] "GET /index HTTP/1.1" 200 - -2025-11-24 16:27:35,705 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:27:35] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:27:35,706 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:27:35] "GET /static/script.js HTTP/1.1" 304 - -2025-11-24 16:27:54,433 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:27:54] "GET /xml_management HTTP/1.1" 200 - -2025-11-24 16:27:54,447 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:27:54] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:27:56,102 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:27:56] "GET /edit_xml/R6615_raid.xml HTTP/1.1" 200 - -2025-11-24 16:27:56,116 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:27:56] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:43:03,673 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-24 16:43:03,693 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 16:43:03,693 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 16:43:03,710 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-24 16:43:03,730 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-24 16:43:03,730 [INFO] werkzeug: Press CTRL+C to quit -2025-11-24 16:43:03,730 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-24 16:43:04,322 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-24 16:43:04,342 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 16:43:04,342 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 16:43:04,358 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-24 16:43:04,372 [WARNING] werkzeug: * Debugger is active! -2025-11-24 16:43:04,373 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-24 16:43:06,033 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:43:06] "GET /home/ HTTP/1.1" 200 - -2025-11-24 16:43:06,081 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:43:06] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:43:06,124 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:43:06] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-24 16:43:07,831 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:43:07] "GET /home/ HTTP/1.1" 200 - -2025-11-24 16:43:07,846 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:43:07] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:43:08,675 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:43:08] "GET /login HTTP/1.1" 200 - -2025-11-24 16:43:08,686 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:43:08] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:43:14,285 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-24 16:43:14,285 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-24 16:43:14,334 [INFO] app: LOGIN: found id=1 active=True pass_ok=True -2025-11-24 16:43:14,334 [INFO] app: LOGIN: found id=1 active=True pass_ok=True -2025-11-24 16:43:14,334 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-24 16:43:14,334 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-24 16:43:14,335 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:43:14] "POST /login HTTP/1.1" 302 - -2025-11-24 16:43:14,352 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:43:14] "GET /index HTTP/1.1" 200 - -2025-11-24 16:43:14,370 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:43:14] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:43:14,371 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:43:14] "GET /static/script.js HTTP/1.1" 304 - -2025-11-24 16:46:00,350 [INFO] app: LOGOUT: user=김강희 -2025-11-24 16:46:00,350 [INFO] app: LOGOUT: user=김강희 -2025-11-24 16:46:00,351 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:46:00] "GET /logout HTTP/1.1" 302 - -2025-11-24 16:46:00,354 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:46:00] "GET /login HTTP/1.1" 200 - -2025-11-24 16:46:00,370 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:46:00] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:47:44,807 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-24 16:47:44,827 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 16:47:44,827 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 16:47:44,841 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-24 16:47:44,862 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-24 16:47:44,862 [INFO] werkzeug: Press CTRL+C to quit -2025-11-24 16:47:44,862 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-24 16:47:45,441 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-24 16:47:45,460 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 16:47:45,460 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 16:47:45,479 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-24 16:47:45,494 [WARNING] werkzeug: * Debugger is active! -2025-11-24 16:47:45,496 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-24 16:47:47,414 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:47:47] "GET /login HTTP/1.1" 200 - -2025-11-24 16:47:47,454 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:47:47] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:47:47,464 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:47:47] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-24 16:47:51,936 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-24 16:47:51,936 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-24 16:47:51,984 [INFO] app: LOGIN: found id=1 active=True pass_ok=True -2025-11-24 16:47:51,984 [INFO] app: LOGIN: found id=1 active=True pass_ok=True -2025-11-24 16:47:51,985 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-24 16:47:51,985 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-24 16:47:51,985 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:47:51] "POST /login HTTP/1.1" 302 - -2025-11-24 16:47:52,003 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:47:52] "GET /index HTTP/1.1" 200 - -2025-11-24 16:47:52,022 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:47:52] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:47:52,022 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:47:52] "GET /static/script.js HTTP/1.1" 304 - -2025-11-24 16:49:41,046 [INFO] app: LOGOUT: user=김강희 -2025-11-24 16:49:41,046 [INFO] app: LOGOUT: user=김강희 -2025-11-24 16:49:41,048 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:49:41] "GET /logout HTTP/1.1" 302 - -2025-11-24 16:49:41,050 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:49:41] "GET /login HTTP/1.1" 200 - -2025-11-24 16:49:41,066 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:49:41] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:49:43,916 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-24 16:49:43,936 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 16:49:43,936 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 16:49:43,953 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-24 16:49:43,974 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-24 16:49:43,974 [INFO] werkzeug: Press CTRL+C to quit -2025-11-24 16:49:43,975 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-24 16:49:44,586 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-24 16:49:44,606 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 16:49:44,606 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 16:49:44,622 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-24 16:49:44,636 [WARNING] werkzeug: * Debugger is active! -2025-11-24 16:49:44,638 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-24 16:49:45,767 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:49:45] "GET /login HTTP/1.1" 200 - -2025-11-24 16:49:45,801 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:49:45] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:49:45,817 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:49:45] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-24 16:49:50,363 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-24 16:49:50,363 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-24 16:49:50,411 [INFO] app: LOGIN: found id=1 active=True pass_ok=True -2025-11-24 16:49:50,411 [INFO] app: LOGIN: found id=1 active=True pass_ok=True -2025-11-24 16:49:50,412 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-24 16:49:50,412 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-24 16:49:50,412 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:49:50] "POST /login HTTP/1.1" 302 - -2025-11-24 16:49:50,429 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:49:50] "GET /index HTTP/1.1" 200 - -2025-11-24 16:49:50,446 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:49:50] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:49:50,447 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:49:50] "GET /static/script.js HTTP/1.1" 304 - -2025-11-24 16:57:24,910 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-24 16:57:24,930 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 16:57:24,930 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 16:57:24,946 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-24 16:57:24,967 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-24 16:57:24,968 [INFO] werkzeug: Press CTRL+C to quit -2025-11-24 16:57:24,968 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-24 16:57:25,580 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-24 16:57:25,600 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 16:57:25,600 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 16:57:25,616 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-24 16:57:25,629 [WARNING] werkzeug: * Debugger is active! -2025-11-24 16:57:25,632 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-24 16:57:26,867 [INFO] app: LOGIN: already auth → /index -2025-11-24 16:57:26,867 [INFO] app: LOGIN: already auth → /index -2025-11-24 16:57:26,868 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:57:26] "GET /login HTTP/1.1" 302 - -2025-11-24 16:57:26,893 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:57:26] "GET /index HTTP/1.1" 200 - -2025-11-24 16:57:26,973 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:57:26] "GET /static/script.js HTTP/1.1" 304 - -2025-11-24 16:57:26,975 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:57:26] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:57:27,029 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:57:27] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-24 16:57:28,419 [INFO] app: LOGOUT: user=김강희 -2025-11-24 16:57:28,419 [INFO] app: LOGOUT: user=김강희 -2025-11-24 16:57:28,420 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:57:28] "GET /logout HTTP/1.1" 302 - -2025-11-24 16:57:28,425 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:57:28] "GET /login HTTP/1.1" 200 - -2025-11-24 16:57:28,441 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:57:28] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:57:34,916 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-24 16:57:34,916 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-24 16:57:34,968 [INFO] app: LOGIN: found id=1 active=True pass_ok=True -2025-11-24 16:57:34,968 [INFO] app: LOGIN: found id=1 active=True pass_ok=True -2025-11-24 16:57:34,968 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=MISSING -2025-11-24 16:57:34,968 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=MISSING -2025-11-24 16:57:34,968 [WARNING] app: Telegram notification skipped: Missing configuration or library. -2025-11-24 16:57:34,968 [WARNING] app: Telegram notification skipped: Missing configuration or library. -2025-11-24 16:57:34,970 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-24 16:57:34,970 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-24 16:57:34,970 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:57:34] "POST /login HTTP/1.1" 302 - -2025-11-24 16:57:34,975 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:57:34] "GET /index HTTP/1.1" 200 - -2025-11-24 16:57:34,993 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:57:34] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:57:34,994 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:57:34] "GET /static/script.js HTTP/1.1" 304 - -2025-11-24 16:58:17,994 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\check_telegram.py', reloading -2025-11-24 16:58:18,038 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\check_telegram.py', reloading -2025-11-24 16:58:18,039 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\check_telegram.py', reloading -2025-11-24 16:58:18,379 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-24 16:58:19,034 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-24 16:58:19,055 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 16:58:19,055 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 16:58:19,072 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-24 16:58:19,086 [WARNING] werkzeug: * Debugger is active! -2025-11-24 16:58:19,089 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-24 16:58:42,574 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:58:42] "GET /index HTTP/1.1" 200 - -2025-11-24 16:58:42,632 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:58:42] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:58:42,633 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:58:42] "GET /static/script.js HTTP/1.1" 304 - -2025-11-24 16:58:44,677 [INFO] app: LOGOUT: user=김강희 -2025-11-24 16:58:44,677 [INFO] app: LOGOUT: user=김강희 -2025-11-24 16:58:44,678 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:58:44] "GET /logout HTTP/1.1" 302 - -2025-11-24 16:58:44,684 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:58:44] "GET /login HTTP/1.1" 200 - -2025-11-24 16:58:44,702 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:58:44] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:58:49,916 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-24 16:58:49,916 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-24 16:58:49,966 [INFO] app: LOGIN: found id=1 active=True pass_ok=True -2025-11-24 16:58:49,966 [INFO] app: LOGIN: found id=1 active=True pass_ok=True -2025-11-24 16:58:49,966 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=MISSING -2025-11-24 16:58:49,966 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=MISSING -2025-11-24 16:58:49,966 [WARNING] app: Telegram notification skipped: Missing configuration or library. -2025-11-24 16:58:49,966 [WARNING] app: Telegram notification skipped: Missing configuration or library. -2025-11-24 16:58:49,966 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-24 16:58:49,966 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-24 16:58:49,967 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:58:49] "POST /login HTTP/1.1" 302 - -2025-11-24 16:58:49,972 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:58:49] "GET /index HTTP/1.1" 200 - -2025-11-24 16:58:49,993 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:58:49] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:58:49,993 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:58:49] "GET /static/script.js HTTP/1.1" 304 - -2025-11-24 16:59:34,417 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-24 16:59:34,438 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 16:59:34,438 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 16:59:34,453 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-24 16:59:34,473 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-24 16:59:34,473 [INFO] werkzeug: Press CTRL+C to quit -2025-11-24 16:59:34,474 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-24 16:59:35,084 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-24 16:59:35,104 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 16:59:35,104 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 16:59:35,121 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-24 16:59:35,136 [WARNING] werkzeug: * Debugger is active! -2025-11-24 16:59:35,138 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-24 16:59:36,736 [INFO] app: LOGOUT: user=김강희 -2025-11-24 16:59:36,736 [INFO] app: LOGOUT: user=김강희 -2025-11-24 16:59:36,737 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:59:36] "GET /logout HTTP/1.1" 302 - -2025-11-24 16:59:36,747 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:59:36] "GET /login HTTP/1.1" 200 - -2025-11-24 16:59:36,783 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:59:36] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:59:42,340 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-24 16:59:42,340 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-24 16:59:42,391 [INFO] app: LOGIN: found id=1 active=True pass_ok=True -2025-11-24 16:59:42,391 [INFO] app: LOGIN: found id=1 active=True pass_ok=True -2025-11-24 16:59:42,391 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=MISSING -2025-11-24 16:59:42,391 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=MISSING -2025-11-24 16:59:42,392 [WARNING] app: Telegram notification skipped: Missing configuration or library. -2025-11-24 16:59:42,392 [WARNING] app: Telegram notification skipped: Missing configuration or library. -2025-11-24 16:59:42,392 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-24 16:59:42,392 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-24 16:59:42,392 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:59:42] "POST /login HTTP/1.1" 302 - -2025-11-24 16:59:42,407 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:59:42] "GET /index HTTP/1.1" 200 - -2025-11-24 16:59:42,428 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:59:42] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 16:59:42,429 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:59:42] "GET /static/script.js HTTP/1.1" 304 - -2025-11-24 16:59:50,145 [INFO] app: LOGOUT: user=김강희 -2025-11-24 16:59:50,145 [INFO] app: LOGOUT: user=김강희 -2025-11-24 16:59:50,146 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:59:50] "GET /logout HTTP/1.1" 302 - -2025-11-24 16:59:50,150 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:59:50] "GET /login HTTP/1.1" 200 - -2025-11-24 16:59:50,164 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 16:59:50] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 17:06:17,663 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-24 17:06:17,684 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 17:06:17,684 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 17:06:17,700 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-24 17:06:17,722 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-24 17:06:17,722 [INFO] werkzeug: Press CTRL+C to quit -2025-11-24 17:06:17,722 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-24 17:06:18,428 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-24 17:06:18,448 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 17:06:18,448 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 17:06:18,463 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-24 17:06:18,477 [WARNING] werkzeug: * Debugger is active! -2025-11-24 17:06:18,479 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-24 17:06:18,548 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:06:18] "GET /index HTTP/1.1" 302 - -2025-11-24 17:06:18,558 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:06:18] "GET /login?next=/index HTTP/1.1" 200 - -2025-11-24 17:06:18,602 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:06:18] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 17:06:18,643 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:06:18] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-24 17:06:24,340 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-24 17:06:24,340 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-24 17:06:24,396 [INFO] app: LOGIN: found id=1 active=True pass_ok=True -2025-11-24 17:06:24,396 [INFO] app: LOGIN: found id=1 active=True pass_ok=True -2025-11-24 17:06:24,396 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:06:24,396 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:06:24,397 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-24 17:06:24,397 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-24 17:06:24,398 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:06:24] "POST /login HTTP/1.1" 302 - -2025-11-24 17:06:24,418 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:06:24] "GET /index HTTP/1.1" 200 - -2025-11-24 17:06:24,437 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:06:24] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 17:06:24,438 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:06:24] "GET /static/script.js HTTP/1.1" 304 - -2025-11-24 17:06:26,931 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:09:29,579 [INFO] app: LOGOUT: user=김강희 -2025-11-24 17:09:29,579 [INFO] app: LOGOUT: user=김강희 -2025-11-24 17:09:29,580 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:09:29] "GET /logout HTTP/1.1" 302 - -2025-11-24 17:09:29,583 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:09:29] "GET /login HTTP/1.1" 200 - -2025-11-24 17:09:29,602 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:09:29] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 17:09:33,150 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-24 17:09:33,173 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 17:09:33,173 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 17:09:33,190 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-24 17:09:33,210 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-24 17:09:33,211 [INFO] werkzeug: Press CTRL+C to quit -2025-11-24 17:09:33,211 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-24 17:09:33,914 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-24 17:09:33,934 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 17:09:33,934 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 17:09:33,949 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-24 17:09:33,964 [WARNING] werkzeug: * Debugger is active! -2025-11-24 17:09:33,966 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-24 17:09:34,397 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:09:34] "GET /login HTTP/1.1" 200 - -2025-11-24 17:09:34,435 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:09:34] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 17:09:34,444 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:09:34] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-24 17:09:40,004 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-24 17:09:40,004 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-24 17:09:40,052 [INFO] app: LOGIN: found id=1 active=True pass_ok=True -2025-11-24 17:09:40,052 [INFO] app: LOGIN: found id=1 active=True pass_ok=True -2025-11-24 17:09:40,053 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:09:40,053 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:09:40,053 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-24 17:09:40,053 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-24 17:09:40,054 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:09:40] "POST /login HTTP/1.1" 302 - -2025-11-24 17:09:40,071 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:09:40] "GET /index HTTP/1.1" 200 - -2025-11-24 17:09:40,090 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:09:40] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 17:09:40,090 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:09:40] "GET /static/script.js HTTP/1.1" 304 - -2025-11-24 17:09:41,447 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:11:04,806 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\routes\\auth.py', reloading -2025-11-24 17:11:04,806 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\routes\\auth.py', reloading -2025-11-24 17:11:04,807 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\routes\\auth.py', reloading -2025-11-24 17:11:05,574 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-24 17:17:15,522 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-24 17:17:15,543 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 17:17:15,543 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 17:17:15,560 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-24 17:17:15,582 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-24 17:17:15,582 [INFO] werkzeug: Press CTRL+C to quit -2025-11-24 17:17:15,583 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-24 17:17:16,314 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-24 17:17:16,336 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 17:17:16,336 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 17:17:16,353 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-24 17:17:16,367 [WARNING] werkzeug: * Debugger is active! -2025-11-24 17:17:16,369 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-24 17:17:16,953 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:17:16,953 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:17:16,973 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:17:16] "GET /index HTTP/1.1" 200 - -2025-11-24 17:17:17,034 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:17:17] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 17:17:17,035 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:17:17] "GET /static/script.js HTTP/1.1" 304 - -2025-11-24 17:17:17,095 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:17:17] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-24 17:17:18,155 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:17:18,155 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:17:18,158 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:17:18] "GET /home/ HTTP/1.1" 200 - -2025-11-24 17:17:18,176 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:17:18] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 17:17:18,440 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:17:19,064 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:17:19,064 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:17:19,064 [INFO] app: LOGOUT: user=김강희 -2025-11-24 17:17:19,064 [INFO] app: LOGOUT: user=김강희 -2025-11-24 17:17:19,064 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:17:19,064 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:17:19,065 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:17:19] "GET /logout HTTP/1.1" 302 - -2025-11-24 17:17:19,070 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:17:19] "GET /login HTTP/1.1" 200 - -2025-11-24 17:17:19,085 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:17:19] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 17:17:19,454 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:17:20,491 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:17:20,517 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:17:25,147 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-24 17:17:25,167 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 17:17:25,167 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 17:17:25,183 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-24 17:17:25,203 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-24 17:17:25,204 [INFO] werkzeug: Press CTRL+C to quit -2025-11-24 17:17:25,204 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-24 17:17:25,903 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-24 17:17:25,924 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 17:17:25,924 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 17:17:25,940 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-24 17:17:25,953 [WARNING] werkzeug: * Debugger is active! -2025-11-24 17:17:25,955 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-24 17:17:36,901 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-24 17:17:36,901 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-24 17:17:36,954 [INFO] app: LOGIN: found id=1 active=True pass_ok=True -2025-11-24 17:17:36,954 [INFO] app: LOGIN: found id=1 active=True pass_ok=True -2025-11-24 17:17:36,954 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:17:36,954 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:17:36,956 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-24 17:17:36,956 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-24 17:17:36,957 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:17:36] "POST /login HTTP/1.1" 302 - -2025-11-24 17:17:36,961 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:17:36,961 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:17:36,982 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:17:36] "GET /index HTTP/1.1" 200 - -2025-11-24 17:17:37,034 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:17:37] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 17:17:37,035 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:17:37] "GET /static/script.js HTTP/1.1" 304 - -2025-11-24 17:17:38,456 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:17:38,490 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:17:48,010 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:17:48,010 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:17:48,013 [INFO] root: [AJAX] 작업 시작: 1763972268.0111287, script: 01-settings.py -2025-11-24 17:17:48,014 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:17:48] "POST /process_ips HTTP/1.1" 200 - -2025-11-24 17:17:48,025 [INFO] root: 🔧 실행 명령: D:\Code\imges_ocr\venv312\Scripts\python.exe D:\Code\iDRAC_Info\idrac_info\data\scripts\01-settings.py D:\Code\iDRAC_Info\idrac_info\data\temp_ip\ip_0.txt -2025-11-24 17:17:48,182 [INFO] root: [10.10.0.1] ✅ stdout: -오류 발생: IP 10.10.0.1 에 대한 SVC Tag 가져오기 실패 -정보 수집 완료. -수집 완료 시간: 0 시간, 0 분, 0 초. - -2025-11-24 17:17:48,519 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:17:48,519 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:17:48,519 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:17:48] "GET /progress_status/1763972268.0111287 HTTP/1.1" 200 - -2025-11-24 17:17:49,327 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:17:49,853 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:17:50,032 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:17:50,032 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:17:50,035 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:17:50] "GET /index HTTP/1.1" 200 - -2025-11-24 17:17:50,051 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:17:50] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 17:17:50,054 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:17:50] "GET /static/script.js HTTP/1.1" 304 - -2025-11-24 17:17:50,077 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:17:50] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-24 17:17:51,340 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:17:59,126 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:17:59,126 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:17:59,132 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:17:59] "GET /xml_management HTTP/1.1" 200 - -2025-11-24 17:17:59,146 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:17:59] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 17:18:00,432 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:18:00,582 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:00,582 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:00,587 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:00] "GET /jobs HTTP/1.1" 200 - -2025-11-24 17:18:00,603 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:00] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 17:18:00,614 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:00,614 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:00,614 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:00] "GET /jobs/config HTTP/1.1" 200 - -2025-11-24 17:18:00,634 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:00,634 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:00,634 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-11-24 17:18:00,634 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:00] "GET /jobs/iplist HTTP/1.1" 200 - -2025-11-24 17:18:02,070 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:18:02,106 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:18:02,162 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:18:03,986 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:03,986 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:03,989 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:03] "GET /xml_management HTTP/1.1" 200 - -2025-11-24 17:18:04,001 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:04] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 17:18:04,638 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:04,638 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:04,647 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:04] "GET /index HTTP/1.1" 200 - -2025-11-24 17:18:04,661 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:04] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 17:18:04,663 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:04] "GET /static/script.js HTTP/1.1" 304 - -2025-11-24 17:18:05,231 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:05,231 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:05,234 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:05] "GET /xml_management HTTP/1.1" 200 - -2025-11-24 17:18:05,248 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:05] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 17:18:05,301 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:18:05,614 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:05,614 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:05,615 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:05] "GET /jobs HTTP/1.1" 200 - -2025-11-24 17:18:05,630 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:05] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 17:18:05,642 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:05,642 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:05,644 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:05] "GET /jobs/config HTTP/1.1" 200 - -2025-11-24 17:18:05,655 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:05,655 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:05,656 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-11-24 17:18:05,657 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:05] "GET /jobs/iplist HTTP/1.1" 200 - -2025-11-24 17:18:05,963 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:18:06,138 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:06,138 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:06,146 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:06] "GET /admin HTTP/1.1" 200 - -2025-11-24 17:18:06,159 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:06] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 17:18:06,547 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:18:07,125 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:18:07,155 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:18:07,180 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:18:07,474 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:18:09,491 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:09,491 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:09,495 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:09] "GET /index HTTP/1.1" 200 - -2025-11-24 17:18:09,508 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:09] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 17:18:09,512 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:09] "GET /static/script.js HTTP/1.1" 304 - -2025-11-24 17:18:11,282 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:18:17,413 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:17,413 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:17,414 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:17] "GET /moniter HTTP/1.1" 404 - -2025-11-24 17:18:17,452 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:17] "GET /favicon.ico HTTP/1.1" 404 - -2025-11-24 17:18:18,720 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:18:24,648 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:24,648 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:24,652 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:24] "GET /home/ HTTP/1.1" 200 - -2025-11-24 17:18:24,664 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:24] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 17:18:25,978 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:18:26,133 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:26,133 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:26,137 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:26] "GET /admin HTTP/1.1" 200 - -2025-11-24 17:18:26,149 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:26] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 17:18:26,463 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:26,463 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:26,464 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:26] "GET /jobs HTTP/1.1" 200 - -2025-11-24 17:18:26,479 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:26] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 17:18:26,490 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:26,490 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:26,491 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:26] "GET /jobs/config HTTP/1.1" 200 - -2025-11-24 17:18:26,502 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:26,502 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:26,502 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-11-24 17:18:26,503 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:26] "GET /jobs/iplist HTTP/1.1" 200 - -2025-11-24 17:18:27,440 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:18:27,941 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:18:27,971 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:18:28,010 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:18:29,254 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:29,254 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:29,257 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:29] "GET /xml_management HTTP/1.1" 200 - -2025-11-24 17:18:29,270 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:29] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 17:18:30,162 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:30,162 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:30,164 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:30] "GET /home/ HTTP/1.1" 200 - -2025-11-24 17:18:30,180 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:30] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 17:18:30,530 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:18:31,470 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:18:58,945 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:58,945 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:58,946 [INFO] app: LOGOUT: user=김강희 -2025-11-24 17:18:58,946 [INFO] app: LOGOUT: user=김강희 -2025-11-24 17:18:58,946 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:58,946 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:18:58,947 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:58] "GET /logout HTTP/1.1" 302 - -2025-11-24 17:18:58,953 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:58] "GET /login HTTP/1.1" 200 - -2025-11-24 17:18:58,965 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:18:58] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 17:19:02,424 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-24 17:19:02,444 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 17:19:02,444 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 17:19:02,459 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-24 17:19:02,482 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-24 17:19:02,482 [INFO] werkzeug: Press CTRL+C to quit -2025-11-24 17:19:02,482 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-24 17:19:03,191 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-24 17:19:03,210 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 17:19:03,210 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 17:19:03,226 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-24 17:19:03,240 [WARNING] werkzeug: * Debugger is active! -2025-11-24 17:19:03,242 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-24 17:36:28,877 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-24 17:36:28,899 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 17:36:28,899 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 17:36:28,919 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-24 17:36:28,943 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-24 17:36:28,943 [INFO] werkzeug: Press CTRL+C to quit -2025-11-24 17:36:28,943 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-24 17:36:29,684 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-24 17:36:29,704 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 17:36:29,704 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 17:36:29,722 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-24 17:36:29,736 [WARNING] werkzeug: * Debugger is active! -2025-11-24 17:36:29,739 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-24 17:36:31,166 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:36:31] "GET /login HTTP/1.1" 200 - -2025-11-24 17:36:31,209 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:36:31] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 17:36:31,230 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:36:31] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-24 17:36:37,567 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-24 17:36:37,567 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-24 17:36:37,621 [INFO] app: LOGIN: found id=1 active=True pass_ok=True -2025-11-24 17:36:37,621 [INFO] app: LOGIN: found id=1 active=True pass_ok=True -2025-11-24 17:36:37,621 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:36:37,621 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:36:37,621 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-24 17:36:37,621 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-24 17:36:37,623 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:36:37] "POST /login HTTP/1.1" 302 - -2025-11-24 17:36:37,626 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:36:37,626 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 17:36:37,643 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:36:37] "GET /index HTTP/1.1" 200 - -2025-11-24 17:36:37,662 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:36:37] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 17:36:37,665 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 17:36:37] "GET /static/script.js HTTP/1.1" 304 - -2025-11-24 17:36:39,139 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 17:36:39,167 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 18:05:50,478 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-24 18:05:50,499 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 18:05:50,499 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 18:05:50,515 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-24 18:05:50,535 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-24 18:05:50,535 [INFO] werkzeug: Press CTRL+C to quit -2025-11-24 18:05:50,536 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-24 18:05:51,256 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-24 18:05:51,276 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 18:05:51,276 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-24 18:05:51,291 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-24 18:05:51,305 [WARNING] werkzeug: * Debugger is active! -2025-11-24 18:05:51,308 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-24 18:05:51,329 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 18:05:51,329 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 18:05:51,337 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 18:05:51] "GET /home/ HTTP/1.1" 200 - -2025-11-24 18:05:51,377 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 18:05:51] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 18:05:51,409 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 18:05:51,409 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 18:05:51,411 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 18:05:51] "GET /home/ HTTP/1.1" 200 - -2025-11-24 18:05:51,427 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 18:05:51] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 18:05:51,446 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 18:05:51] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-24 18:05:52,762 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 18:05:52,797 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 18:05:52,797 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 18:05:52,801 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 18:05:52,816 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 18:05:52] "GET /index HTTP/1.1" 200 - -2025-11-24 18:05:52,832 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 18:05:52] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 18:05:52,833 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 18:05:52] "GET /static/script.js HTTP/1.1" 304 - -2025-11-24 18:05:54,028 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 18:05:54,426 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 18:05:54,426 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 18:05:54,427 [INFO] app: LOGOUT: user=김강희 -2025-11-24 18:05:54,427 [INFO] app: LOGOUT: user=김강희 -2025-11-24 18:05:54,427 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 18:05:54,427 [INFO] app: Telegram Debug: Token=OK, ChatID=OK, Lib=OK -2025-11-24 18:05:54,429 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 18:05:54] "GET /logout HTTP/1.1" 302 - -2025-11-24 18:05:54,434 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 18:05:54] "GET /login HTTP/1.1" 200 - -2025-11-24 18:05:54,451 [INFO] werkzeug: 127.0.0.1 - - [24/Nov/2025 18:05:54] "GET /static/style.css HTTP/1.1" 304 - -2025-11-24 18:05:55,766 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-24 18:05:55,801 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" diff --git a/data/logs/2025-11-26.log b/data/logs/2025-11-26.log deleted file mode 100644 index 0a23516..0000000 --- a/data/logs/2025-11-26.log +++ /dev/null @@ -1,8939 +0,0 @@ -2025-11-26 19:47:00,062 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 19:47:00,083 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 19:47:00,083 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 19:47:00,104 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 19:47:00,141 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-26 19:47:00,142 [INFO] werkzeug: Press CTRL+C to quit -2025-11-26 19:47:00,142 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 19:47:00,860 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 19:47:00,880 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 19:47:00,880 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 19:47:00,898 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 19:47:00,913 [WARNING] werkzeug: * Debugger is active! -2025-11-26 19:47:00,916 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 19:47:04,443 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 19:47:04] "GET / HTTP/1.1" 302 - -2025-11-26 19:47:04,467 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 19:47:04] "GET /login?next=/ HTTP/1.1" 200 - -2025-11-26 19:47:04,516 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 19:47:04] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 19:47:35,222 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-26 19:47:35,222 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-26 19:47:35,290 [INFO] app: LOGIN: found id=1 active=True pass_ok=True -2025-11-26 19:47:35,290 [INFO] app: LOGIN: found id=1 active=True pass_ok=True -2025-11-26 19:47:35,295 [INFO] app: Telegram: Config settings migrated to DB. -2025-11-26 19:47:35,295 [INFO] app: Telegram: Config settings migrated to DB. -2025-11-26 19:47:35,296 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-26 19:47:35,296 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-26 19:47:35,297 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 19:47:35] "POST /login HTTP/1.1" 302 - -2025-11-26 19:47:35,299 [ERROR] app: Telegram async loop error: Instance is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3) -2025-11-26 19:47:35,299 [ERROR] app: Telegram async loop error: Instance is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3) -2025-11-26 19:47:35,315 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 19:47:35] "GET /index HTTP/1.1" 200 - -2025-11-26 19:47:35,339 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 19:47:35] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 19:47:35,350 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 19:47:35] "GET /static/script.js HTTP/1.1" 304 - -2025-11-26 19:47:36,726 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 19:47:37,848 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 19:47:37] "GET /jobs HTTP/1.1" 200 - -2025-11-26 19:47:37,868 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 19:47:37] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 19:47:37,905 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 19:47:37] "GET /jobs/config HTTP/1.1" 200 - -2025-11-26 19:47:37,912 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-11-26 19:47:37,913 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 19:47:37] "GET /jobs/iplist HTTP/1.1" 200 - -2025-11-26 19:47:38,504 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 19:47:38] "GET /admin HTTP/1.1" 200 - -2025-11-26 19:47:38,517 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 19:47:38] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 19:47:39,247 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 19:47:39,315 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 19:47:39,363 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 19:47:39,868 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 19:47:40,377 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 19:47:40] "GET /admin/settings HTTP/1.1" 200 - -2025-11-26 19:47:40,394 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 19:47:40] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 19:47:41,622 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 19:51:21,100 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 19:51:21,122 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 19:51:21,122 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 19:51:21,141 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 19:51:21,163 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-26 19:51:21,163 [INFO] werkzeug: Press CTRL+C to quit -2025-11-26 19:51:21,163 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 19:51:21,906 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 19:51:21,926 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 19:51:21,926 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 19:51:21,943 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 19:51:21,956 [WARNING] werkzeug: * Debugger is active! -2025-11-26 19:51:21,958 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 19:51:22,556 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 19:51:22] "GET /admin/settings HTTP/1.1" 200 - -2025-11-26 19:51:22,598 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 19:51:22] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 19:51:22,621 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 19:51:22] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-26 19:51:23,863 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 19:51:32,537 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 19:51:32] "GET /admin HTTP/1.1" 200 - -2025-11-26 19:51:32,552 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 19:51:32] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 19:51:33,773 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 19:51:36,014 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 19:51:36] "GET /admin/settings HTTP/1.1" 200 - -2025-11-26 19:51:36,028 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 19:51:36] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 19:51:37,237 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 19:53:58,463 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\models\\telegram_bot.py', reloading -2025-11-26 19:53:58,464 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\models\\telegram_bot.py', reloading -2025-11-26 19:53:59,450 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 19:54:00,189 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 19:54:00,211 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 19:54:00,211 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 19:54:00,228 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 19:54:00,243 [WARNING] werkzeug: * Debugger is active! -2025-11-26 19:54:00,245 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 19:54:27,494 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\routes\\admin.py', reloading -2025-11-26 19:54:27,494 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\routes\\admin.py', reloading -2025-11-26 19:54:27,752 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 19:54:28,497 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 19:54:28,518 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 19:54:28,518 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 19:54:28,536 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 19:54:28,550 [WARNING] werkzeug: * Debugger is active! -2025-11-26 19:54:28,551 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 19:55:05,661 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\routes\\auth.py', reloading -2025-11-26 19:55:05,661 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\routes\\auth.py', reloading -2025-11-26 19:55:05,662 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\routes\\auth.py', reloading -2025-11-26 19:55:05,662 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\routes\\auth.py', reloading -2025-11-26 19:55:06,211 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 20:00:01,671 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 20:00:01,689 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 20:00:01,689 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 20:00:01,709 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 20:00:01,730 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-26 20:00:01,730 [INFO] werkzeug: Press CTRL+C to quit -2025-11-26 20:00:01,730 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 20:00:02,422 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 20:00:02,441 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 20:00:02,441 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 20:00:02,459 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 20:00:02,473 [WARNING] werkzeug: * Debugger is active! -2025-11-26 20:00:02,475 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 20:00:05,402 [ERROR] app: Telegram notification error: (sqlite3.OperationalError) table telegram_bots has no column named notification_types -[SQL: INSERT INTO telegram_bots (name, token, chat_id, is_active, description, notification_types) VALUES (?, ?, ?, ?, ?, ?)] -[parameters: ('기본 봇 (Config)', '6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo', '298120612', 1, 'config.py 설정에서 자동 가져옴', 'auth,activity,system')] -(Background on this error at: https://sqlalche.me/e/20/e3q8) -2025-11-26 20:00:05,402 [ERROR] app: Telegram notification error: (sqlite3.OperationalError) table telegram_bots has no column named notification_types -[SQL: INSERT INTO telegram_bots (name, token, chat_id, is_active, description, notification_types) VALUES (?, ?, ?, ?, ?, ?)] -[parameters: ('기본 봇 (Config)', '6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo', '298120612', 1, 'config.py 설정에서 자동 가져옴', 'auth,activity,system')] -(Background on this error at: https://sqlalche.me/e/20/e3q8) -2025-11-26 20:00:05,416 [INFO] werkzeug: * Detected change in 'D:\\Code\\imges_ocr\\venv312\\Lib\\site-packages\\flask\\app.py', reloading -2025-11-26 20:00:05,425 [INFO] werkzeug: * Detected change in 'D:\\Code\\imges_ocr\\venv312\\Lib\\site-packages\\flask_socketio\\__init__.py', reloading -2025-11-26 20:00:05,434 [INFO] werkzeug: * Detected change in 'D:\\Code\\imges_ocr\\venv312\\Lib\\site-packages\\engineio\\middleware.py', reloading -2025-11-26 20:00:05,441 [INFO] werkzeug: * Detected change in 'D:\\Code\\imges_ocr\\venv312\\Lib\\site-packages\\flask_login\\mixins.py', reloading -2025-11-26 20:00:05,454 [INFO] werkzeug: * Detected change in 'D:\\Code\\imges_ocr\\venv312\\Lib\\site-packages\\sqlalchemy\\orm\\attributes.py', reloading -2025-11-26 20:00:05,463 [INFO] werkzeug: * Detected change in 'D:\\Code\\imges_ocr\\venv312\\Lib\\site-packages\\sqlalchemy\\orm\\state.py', reloading -2025-11-26 20:00:05,475 [INFO] werkzeug: * Detected change in 'D:\\Code\\imges_ocr\\venv312\\Lib\\site-packages\\sqlalchemy\\orm\\loading.py', reloading -2025-11-26 20:00:05,490 [INFO] werkzeug: * Detected change in 'D:\\Code\\imges_ocr\\venv312\\Lib\\site-packages\\sqlalchemy\\orm\\session.py', reloading -2025-11-26 20:00:05,499 [INFO] werkzeug: * Detected change in 'D:\\Code\\imges_ocr\\venv312\\Lib\\site-packages\\sqlalchemy\\orm\\state_changes.py', reloading -2025-11-26 20:00:05,503 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:00:05] "GET /admin/settings HTTP/1.1" 500 - -2025-11-26 20:00:05,652 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 20:00:06,371 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 20:00:06,395 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 20:00:06,395 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 20:00:06,421 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 20:00:06,437 [WARNING] werkzeug: * Debugger is active! -2025-11-26 20:00:06,439 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 20:00:06,501 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:00:06] "GET /admin/settings?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 - -2025-11-26 20:00:06,528 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:00:06] "GET /admin/settings?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 - -2025-11-26 20:00:15,777 [ERROR] app: Telegram notification error: (sqlite3.OperationalError) table telegram_bots has no column named notification_types -[SQL: INSERT INTO telegram_bots (name, token, chat_id, is_active, description, notification_types) VALUES (?, ?, ?, ?, ?, ?)] -[parameters: ('기본 봇 (Config)', '6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo', '298120612', 1, 'config.py 설정에서 자동 가져옴', 'auth,activity,system')] -(Background on this error at: https://sqlalche.me/e/20/e3q8) -2025-11-26 20:00:15,777 [ERROR] app: Telegram notification error: (sqlite3.OperationalError) table telegram_bots has no column named notification_types -[SQL: INSERT INTO telegram_bots (name, token, chat_id, is_active, description, notification_types) VALUES (?, ?, ?, ?, ?, ?)] -[parameters: ('기본 봇 (Config)', '6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo', '298120612', 1, 'config.py 설정에서 자동 가져옴', 'auth,activity,system')] -(Background on this error at: https://sqlalche.me/e/20/e3q8) -2025-11-26 20:00:15,787 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:00:15] "GET /admin HTTP/1.1" 500 - -2025-11-26 20:00:15,800 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:00:15] "GET /admin?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 - -2025-11-26 20:00:15,802 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:00:15] "GET /admin?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 - -2025-11-26 20:00:15,816 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:00:15] "GET /admin?__debugger__=yes&cmd=resource&f=console.png&s=jF974nDQqdAVzhunkkGN HTTP/1.1" 200 - -2025-11-26 20:00:15,833 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:00:15] "GET /admin?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 - -2025-11-26 20:00:17,330 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:00:17] "GET /admin/settings?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 - -2025-11-26 20:00:17,337 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:00:17] "GET /admin/settings?__debugger__=yes&cmd=resource&f=console.png&s=7qyRO5czA4LmEAL45Jzl HTTP/1.1" 200 - -2025-11-26 20:00:19,779 [ERROR] app: Telegram notification error: (sqlite3.OperationalError) table telegram_bots has no column named notification_types -[SQL: INSERT INTO telegram_bots (name, token, chat_id, is_active, description, notification_types) VALUES (?, ?, ?, ?, ?, ?)] -[parameters: ('기본 봇 (Config)', '6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo', '298120612', 1, 'config.py 설정에서 자동 가져옴', 'auth,activity,system')] -(Background on this error at: https://sqlalche.me/e/20/e3q8) -2025-11-26 20:00:19,779 [ERROR] app: Telegram notification error: (sqlite3.OperationalError) table telegram_bots has no column named notification_types -[SQL: INSERT INTO telegram_bots (name, token, chat_id, is_active, description, notification_types) VALUES (?, ?, ?, ?, ?, ?)] -[parameters: ('기본 봇 (Config)', '6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo', '298120612', 1, 'config.py 설정에서 자동 가져옴', 'auth,activity,system')] -(Background on this error at: https://sqlalche.me/e/20/e3q8) -2025-11-26 20:00:19,783 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:00:19] "GET / HTTP/1.1" 500 - -2025-11-26 20:00:19,796 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:00:19] "GET /?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 - -2025-11-26 20:00:19,800 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:00:19] "GET /?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 - -2025-11-26 20:00:19,811 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:00:19] "GET /?__debugger__=yes&cmd=resource&f=console.png&s=jF974nDQqdAVzhunkkGN HTTP/1.1" 200 - -2025-11-26 20:00:19,829 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:00:19] "GET /?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 - -2025-11-26 20:00:46,090 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 20:00:46,112 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 20:00:46,112 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 20:00:46,131 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 20:00:46,156 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-26 20:00:46,156 [INFO] werkzeug: Press CTRL+C to quit -2025-11-26 20:00:46,156 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 20:00:46,860 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 20:00:46,880 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 20:00:46,880 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 20:00:46,898 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 20:00:46,912 [WARNING] werkzeug: * Debugger is active! -2025-11-26 20:00:46,914 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 20:00:47,913 [ERROR] app: Telegram notification error: (sqlite3.OperationalError) table telegram_bots has no column named notification_types -[SQL: INSERT INTO telegram_bots (name, token, chat_id, is_active, description, notification_types) VALUES (?, ?, ?, ?, ?, ?)] -[parameters: ('기본 봇 (Config)', '6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo', '298120612', 1, 'config.py 설정에서 자동 가져옴', 'auth,activity,system')] -(Background on this error at: https://sqlalche.me/e/20/e3q8) -2025-11-26 20:00:47,913 [ERROR] app: Telegram notification error: (sqlite3.OperationalError) table telegram_bots has no column named notification_types -[SQL: INSERT INTO telegram_bots (name, token, chat_id, is_active, description, notification_types) VALUES (?, ?, ?, ?, ?, ?)] -[parameters: ('기본 봇 (Config)', '6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo', '298120612', 1, 'config.py 설정에서 자동 가져옴', 'auth,activity,system')] -(Background on this error at: https://sqlalche.me/e/20/e3q8) -2025-11-26 20:00:47,921 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:00:47] "GET / HTTP/1.1" 500 - -2025-11-26 20:00:47,967 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:00:47] "GET /?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 304 - -2025-11-26 20:00:47,969 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:00:47] "GET /?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 304 - -2025-11-26 20:00:47,982 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:00:47] "GET /?__debugger__=yes&cmd=resource&f=console.png&s=RUSmwiMEZ8TVWG6KLEUQ HTTP/1.1" 200 - -2025-11-26 20:00:47,990 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:00:47] "GET /?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 304 - -2025-11-26 20:00:49,677 [ERROR] app: Telegram notification error: (sqlite3.OperationalError) table telegram_bots has no column named notification_types -[SQL: INSERT INTO telegram_bots (name, token, chat_id, is_active, description, notification_types) VALUES (?, ?, ?, ?, ?, ?)] -[parameters: ('기본 봇 (Config)', '6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo', '298120612', 1, 'config.py 설정에서 자동 가져옴', 'auth,activity,system')] -(Background on this error at: https://sqlalche.me/e/20/e3q8) -2025-11-26 20:00:49,677 [ERROR] app: Telegram notification error: (sqlite3.OperationalError) table telegram_bots has no column named notification_types -[SQL: INSERT INTO telegram_bots (name, token, chat_id, is_active, description, notification_types) VALUES (?, ?, ?, ?, ?, ?)] -[parameters: ('기본 봇 (Config)', '6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo', '298120612', 1, 'config.py 설정에서 자동 가져옴', 'auth,activity,system')] -(Background on this error at: https://sqlalche.me/e/20/e3q8) -2025-11-26 20:00:49,683 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:00:49] "GET /jobs HTTP/1.1" 500 - -2025-11-26 20:00:49,698 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:00:49] "GET /jobs?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 - -2025-11-26 20:00:49,702 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:00:49] "GET /jobs?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 - -2025-11-26 20:00:49,713 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:00:49] "GET /jobs?__debugger__=yes&cmd=resource&f=console.png&s=RUSmwiMEZ8TVWG6KLEUQ HTTP/1.1" 200 - -2025-11-26 20:00:49,730 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:00:49] "GET /jobs?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 - -2025-11-26 20:00:50,821 [ERROR] app: Telegram notification error: (sqlite3.OperationalError) table telegram_bots has no column named notification_types -[SQL: INSERT INTO telegram_bots (name, token, chat_id, is_active, description, notification_types) VALUES (?, ?, ?, ?, ?, ?)] -[parameters: ('기본 봇 (Config)', '6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo', '298120612', 1, 'config.py 설정에서 자동 가져옴', 'auth,activity,system')] -(Background on this error at: https://sqlalche.me/e/20/e3q8) -2025-11-26 20:00:50,821 [ERROR] app: Telegram notification error: (sqlite3.OperationalError) table telegram_bots has no column named notification_types -[SQL: INSERT INTO telegram_bots (name, token, chat_id, is_active, description, notification_types) VALUES (?, ?, ?, ?, ?, ?)] -[parameters: ('기본 봇 (Config)', '6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo', '298120612', 1, 'config.py 설정에서 자동 가져옴', 'auth,activity,system')] -(Background on this error at: https://sqlalche.me/e/20/e3q8) -2025-11-26 20:00:50,827 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:00:50] "GET /index HTTP/1.1" 500 - -2025-11-26 20:00:50,840 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:00:50] "GET /index?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 - -2025-11-26 20:00:50,843 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:00:50] "GET /index?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 - -2025-11-26 20:00:50,852 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:00:50] "GET /index?__debugger__=yes&cmd=resource&f=console.png&s=RUSmwiMEZ8TVWG6KLEUQ HTTP/1.1" 200 - -2025-11-26 20:00:50,872 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:00:50] "GET /index?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 - -2025-11-26 20:02:54,819 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 20:02:54,839 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 20:02:54,839 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 20:02:54,856 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 20:02:54,882 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-26 20:02:54,882 [INFO] werkzeug: Press CTRL+C to quit -2025-11-26 20:02:54,882 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 20:02:55,583 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 20:02:55,605 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 20:02:55,605 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 20:02:55,623 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 20:02:55,639 [WARNING] werkzeug: * Debugger is active! -2025-11-26 20:02:55,640 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 20:02:56,423 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:02:56] "GET /index HTTP/1.1" 200 - -2025-11-26 20:02:56,496 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:02:56] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:02:56,498 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:02:56] "GET /static/script.js HTTP/1.1" 304 - -2025-11-26 20:02:56,531 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:02:56] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-26 20:02:57,793 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 20:03:00,256 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:03:00] "GET /admin HTTP/1.1" 200 - -2025-11-26 20:03:00,273 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:03:00] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:03:01,465 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 20:03:01,589 [INFO] werkzeug: * Detected change in 'D:\\Code\\imges_ocr\\venv312\\Lib\\site-packages\\flask_login\\utils.py', reloading -2025-11-26 20:03:01,597 [INFO] werkzeug: * Detected change in 'D:\\Code\\imges_ocr\\venv312\\Lib\\site-packages\\flask\\templating.py', reloading -2025-11-26 20:03:01,608 [INFO] werkzeug: * Detected change in 'D:\\Code\\imges_ocr\\venv312\\Lib\\site-packages\\jinja2\\environment.py', reloading -2025-11-26 20:03:01,617 [INFO] werkzeug: * Detected change in 'D:\\Code\\imges_ocr\\venv312\\Lib\\site-packages\\jinja2\\loaders.py', reloading -2025-11-26 20:03:01,622 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:03:01] "GET /admin/settings HTTP/1.1" 500 - -2025-11-26 20:03:01,634 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:03:01] "GET /admin/settings?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 304 - -2025-11-26 20:03:01,637 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:03:01] "GET /admin/settings?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 304 - -2025-11-26 20:03:01,644 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:03:01] "GET /admin/settings?__debugger__=yes&cmd=resource&f=console.png&s=YuQVUCkA416bKTDhzfZ7 HTTP/1.1" 200 - -2025-11-26 20:03:01,899 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 20:03:02,626 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 20:03:02,650 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 20:03:02,650 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 20:03:02,671 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 20:03:02,690 [WARNING] werkzeug: * Debugger is active! -2025-11-26 20:03:02,692 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 20:11:18,905 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 20:11:18,928 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 20:11:18,928 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 20:11:18,947 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 20:11:18,974 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-26 20:11:18,974 [INFO] werkzeug: Press CTRL+C to quit -2025-11-26 20:11:18,974 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 20:11:19,734 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 20:11:19,754 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 20:11:19,754 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 20:11:19,773 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 20:11:19,789 [WARNING] werkzeug: * Debugger is active! -2025-11-26 20:11:19,791 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 20:11:21,014 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:11:21] "GET /admin HTTP/1.1" 200 - -2025-11-26 20:11:21,064 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:11:21] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:11:21,115 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:11:21] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-26 20:11:22,315 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:11:22] "GET /admin/settings HTTP/1.1" 200 - -2025-11-26 20:11:22,331 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:11:22] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:11:22,356 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 20:11:23,550 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 20:11:31,386 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:11:31] "POST /admin/settings/bot/edit/1 HTTP/1.1" 302 - -2025-11-26 20:11:31,391 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:11:31] "GET /admin/settings HTTP/1.1" 200 - -2025-11-26 20:11:31,410 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:11:31] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:11:31,733 [ERROR] app: Telegram async loop error: Instance is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3) -2025-11-26 20:11:31,733 [ERROR] app: Telegram async loop error: Instance is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3) -2025-11-26 20:12:45,235 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\venv\\Lib\\site-packages\\pip\\__init__.py', reloading -2025-11-26 20:12:46,299 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 20:12:47,046 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 20:12:47,068 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 20:12:47,068 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 20:12:47,084 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 20:12:47,100 [WARNING] werkzeug: * Debugger is active! -2025-11-26 20:12:47,102 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 20:13:13,918 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:13:13] "POST /admin/settings/bot/edit/1 HTTP/1.1" 302 - -2025-11-26 20:13:13,935 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:13:13] "GET /admin/settings HTTP/1.1" 200 - -2025-11-26 20:13:13,983 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:13:13] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:13:45,413 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:13:45] "POST /admin/settings/bot/edit/1 HTTP/1.1" 302 - -2025-11-26 20:13:45,418 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:13:45] "GET /admin/settings HTTP/1.1" 200 - -2025-11-26 20:13:45,443 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:13:45] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:13:55,941 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:13:55] "POST /admin/settings/bot/edit/1 HTTP/1.1" 302 - -2025-11-26 20:13:55,946 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:13:55] "GET /admin/settings HTTP/1.1" 200 - -2025-11-26 20:13:55,966 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:13:55] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:14:57,324 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:14:57] "GET /home/ HTTP/1.1" 200 - -2025-11-26 20:14:57,343 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:14:57] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:14:58,999 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:14:58] "GET /index HTTP/1.1" 200 - -2025-11-26 20:14:59,017 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:14:59] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:14:59,019 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:14:59] "GET /static/script.js HTTP/1.1" 304 - -2025-11-26 20:15:01,790 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:15:01] "GET /xml_management HTTP/1.1" 200 - -2025-11-26 20:15:01,804 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:15:01] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:15:14,986 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:15:14] "GET /xml_management HTTP/1.1" 200 - -2025-11-26 20:15:15,001 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:15:15] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:15:17,837 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:15:17] "GET /jobs HTTP/1.1" 200 - -2025-11-26 20:15:17,852 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:15:17] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:15:17,862 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:15:17] "GET /jobs/config HTTP/1.1" 200 - -2025-11-26 20:15:17,876 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-11-26 20:15:17,876 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:15:17] "GET /jobs/iplist HTTP/1.1" 200 - -2025-11-26 20:15:20,887 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:15:20] "GET /jobs HTTP/1.1" 200 - -2025-11-26 20:15:20,902 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:15:20] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:15:20,908 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:15:20] "GET /jobs/config HTTP/1.1" 200 - -2025-11-26 20:15:20,928 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-11-26 20:15:20,928 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:15:20] "GET /jobs/iplist HTTP/1.1" 200 - -2025-11-26 20:15:21,396 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:15:21] "GET /admin HTTP/1.1" 200 - -2025-11-26 20:15:21,409 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:15:21] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:15:23,273 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:15:23] "GET /admin/settings HTTP/1.1" 200 - -2025-11-26 20:15:23,287 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:15:23] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:15:31,064 [INFO] app: LOGOUT: user=김강희 -2025-11-26 20:15:31,064 [INFO] app: LOGOUT: user=김강희 -2025-11-26 20:15:31,065 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:15:31] "GET /logout HTTP/1.1" 302 - -2025-11-26 20:15:31,072 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:15:31] "GET /login HTTP/1.1" 200 - -2025-11-26 20:15:31,087 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:15:31] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:15:32,415 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 20:15:43,203 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-26 20:15:43,203 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-26 20:15:43,267 [INFO] app: LOGIN: found id=1 active=True pass_ok=True -2025-11-26 20:15:43,267 [INFO] app: LOGIN: found id=1 active=True pass_ok=True -2025-11-26 20:15:43,269 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-26 20:15:43,269 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-26 20:15:43,270 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:15:43] "POST /login HTTP/1.1" 302 - -2025-11-26 20:15:43,281 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:15:43] "GET /index HTTP/1.1" 200 - -2025-11-26 20:15:43,303 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:15:43] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:15:43,304 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:15:43] "GET /static/script.js HTTP/1.1" 304 - -2025-11-26 20:15:44,537 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 20:15:47,791 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:15:47] "GET /admin HTTP/1.1" 200 - -2025-11-26 20:15:47,806 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:15:47] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:15:48,467 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:15:48] "GET /admin/settings HTTP/1.1" 200 - -2025-11-26 20:15:48,482 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:15:48] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:15:55,957 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:15:55] "GET /home/ HTTP/1.1" 200 - -2025-11-26 20:15:55,971 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:15:55] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:19:56,077 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:19:56] "GET /home/ HTTP/1.1" 200 - -2025-11-26 20:19:56,094 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:19:56] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:24:26,130 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:24:26] "GET /home/ HTTP/1.1" 200 - -2025-11-26 20:24:26,150 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:24:26] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:24:26,161 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:24:26] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-26 20:24:27,257 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:24:27] "GET /admin HTTP/1.1" 200 - -2025-11-26 20:24:27,273 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:24:27] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:24:27,813 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:24:27] "GET /admin/settings HTTP/1.1" 200 - -2025-11-26 20:24:27,829 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:24:27] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:37:07,468 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:37:07] "GET /admin HTTP/1.1" 200 - -2025-11-26 20:37:07,483 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:37:07] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:37:08,548 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:37:08] "GET /admin/settings HTTP/1.1" 200 - -2025-11-26 20:37:08,565 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:37:08] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:39:24,517 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 20:39:24,538 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 20:39:24,538 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 20:39:24,557 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 20:39:24,580 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-26 20:39:24,580 [INFO] werkzeug: Press CTRL+C to quit -2025-11-26 20:39:24,580 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 20:39:25,298 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 20:39:25,320 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 20:39:25,320 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 20:39:25,337 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 20:39:25,352 [WARNING] werkzeug: * Debugger is active! -2025-11-26 20:39:25,354 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 20:39:28,545 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:39:28] "GET /admin/settings HTTP/1.1" 200 - -2025-11-26 20:39:28,585 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:39:28] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:39:28,596 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:39:28] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-26 20:39:29,903 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:39:29] "GET /admin HTTP/1.1" 200 - -2025-11-26 20:39:29,924 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:39:29] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:39:30,999 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:39:30] "GET /admin/settings HTTP/1.1" 200 - -2025-11-26 20:39:31,016 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:39:31] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:40:28,543 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:40:28] "GET /admin/settings HTTP/1.1" 200 - -2025-11-26 20:40:28,559 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:40:28] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:40:28,586 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:40:28] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-26 20:40:30,173 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:40:30] "GET /admin HTTP/1.1" 200 - -2025-11-26 20:40:30,189 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:40:30] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:40:31,194 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:40:31] "GET /admin/settings HTTP/1.1" 200 - -2025-11-26 20:40:31,211 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:40:31] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:44:47,301 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:44:47] "GET /admin/settings HTTP/1.1" 200 - -2025-11-26 20:44:47,320 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:44:47] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:44:47,343 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:44:47] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-26 20:48:42,036 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:48:42] "GET /admin/settings HTTP/1.1" 200 - -2025-11-26 20:48:42,054 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:48:42] "GET /static/style.css HTTP/1.1" 200 - -2025-11-26 20:48:42,104 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:48:42] "GET /static/favicon.ico HTTP/1.1" 200 - -2025-11-26 20:48:42,537 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:48:42] "GET /admin/settings HTTP/1.1" 200 - -2025-11-26 20:48:42,555 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:48:42] "GET /static/style.css HTTP/1.1" 200 - -2025-11-26 20:48:42,579 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:48:42] "GET /static/favicon.ico HTTP/1.1" 200 - -2025-11-26 20:48:42,856 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:48:42] "GET /admin/settings HTTP/1.1" 200 - -2025-11-26 20:48:42,871 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:48:42] "GET /static/style.css HTTP/1.1" 200 - -2025-11-26 20:48:42,896 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:48:42] "GET /static/favicon.ico HTTP/1.1" 200 - -2025-11-26 20:48:43,032 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:48:43] "GET /admin/settings HTTP/1.1" 200 - -2025-11-26 20:48:43,049 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:48:43] "GET /static/style.css HTTP/1.1" 200 - -2025-11-26 20:48:43,073 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:48:43] "GET /static/favicon.ico HTTP/1.1" 200 - -2025-11-26 20:48:43,161 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:48:43] "GET /admin/settings HTTP/1.1" 200 - -2025-11-26 20:48:43,178 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:48:43] "GET /static/style.css HTTP/1.1" 200 - -2025-11-26 20:48:43,204 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:48:43] "GET /static/favicon.ico HTTP/1.1" 200 - -2025-11-26 20:51:45,727 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\check_telegram.py', reloading -2025-11-26 20:51:46,225 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 20:51:47,013 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 20:51:47,033 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 20:51:47,033 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 20:51:47,055 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 20:51:47,071 [WARNING] werkzeug: * Debugger is active! -2025-11-26 20:51:47,073 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 20:53:24,713 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:53:24] "GET /admin/settings HTTP/1.1" 200 - -2025-11-26 20:53:24,759 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:53:24] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:53:24,771 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:53:24] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-26 20:53:40,922 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:53:40] "POST /admin/settings/bot/edit/1 HTTP/1.1" 302 - -2025-11-26 20:53:40,926 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:53:40] "GET /admin/settings HTTP/1.1" 200 - -2025-11-26 20:53:40,947 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:53:40] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:55:14,707 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:14] "GET /index HTTP/1.1" 200 - -2025-11-26 20:55:14,727 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:14] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:55:14,731 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:14] "GET /static/script.js HTTP/1.1" 304 - -2025-11-26 20:55:24,714 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:24] "GET /home/ HTTP/1.1" 200 - -2025-11-26 20:55:24,731 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:24] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:55:26,068 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:26] "GET /xml_management HTTP/1.1" 200 - -2025-11-26 20:55:26,084 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:26] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:55:29,958 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:29] "GET /edit_xml/T8A_R6625_RAID_A.xml HTTP/1.1" 200 - -2025-11-26 20:55:29,972 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:29] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:55:31,847 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:31] "GET /xml_management HTTP/1.1" 200 - -2025-11-26 20:55:31,861 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:31] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:55:35,059 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:35] "GET /jobs HTTP/1.1" 200 - -2025-11-26 20:55:35,072 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:35] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:55:35,083 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:35] "GET /jobs/config HTTP/1.1" 200 - -2025-11-26 20:55:35,096 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-11-26 20:55:35,096 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:35] "GET /jobs/iplist HTTP/1.1" 200 - -2025-11-26 20:55:35,553 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:35] "GET /xml_management HTTP/1.1" 200 - -2025-11-26 20:55:35,567 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:35] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:55:37,157 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:37] "GET /jobs HTTP/1.1" 200 - -2025-11-26 20:55:37,171 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:37] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:55:37,178 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:37] "GET /jobs/config HTTP/1.1" 200 - -2025-11-26 20:55:37,196 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-11-26 20:55:37,196 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:37] "GET /jobs/iplist HTTP/1.1" 200 - -2025-11-26 20:55:40,004 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:40] "GET /admin HTTP/1.1" 200 - -2025-11-26 20:55:40,019 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:40] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:55:41,543 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:41] "GET /admin/settings HTTP/1.1" 200 - -2025-11-26 20:55:41,559 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:41] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:55:47,746 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:47] "POST /admin/settings/bot/edit/1 HTTP/1.1" 302 - -2025-11-26 20:55:47,752 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:47] "GET /admin/settings HTTP/1.1" 200 - -2025-11-26 20:55:47,774 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:47] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:55:49,117 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 20:55:49,318 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:49] "GET /index HTTP/1.1" 200 - -2025-11-26 20:55:49,332 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:49] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:55:49,335 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:49] "GET /static/script.js HTTP/1.1" 304 - -2025-11-26 20:55:50,565 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 20:55:55,885 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:55] "GET /admin HTTP/1.1" 200 - -2025-11-26 20:55:55,900 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:55] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:55:56,545 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:56] "GET /admin/settings HTTP/1.1" 200 - -2025-11-26 20:55:56,561 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:55:56] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:55:57,112 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 20:55:57,787 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 20:56:01,169 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:56:01] "POST /admin/settings/bot/edit/1 HTTP/1.1" 302 - -2025-11-26 20:56:01,173 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:56:01] "GET /admin/settings HTTP/1.1" 200 - -2025-11-26 20:56:01,193 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:56:01] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 20:56:01,514 [ERROR] app: Telegram async loop error: Instance is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3) -2025-11-26 20:56:01,514 [ERROR] app: Telegram async loop error: Instance is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3) -2025-11-26 20:56:02,678 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:56:02] "GET /home/ HTTP/1.1" 200 - -2025-11-26 20:56:02,694 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 20:56:02] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:04:22,519 [INFO] app: LOGOUT: user=김강희 -2025-11-26 21:04:22,519 [INFO] app: LOGOUT: user=김강희 -2025-11-26 21:04:22,521 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:04:22] "GET /logout HTTP/1.1" 302 - -2025-11-26 21:04:22,526 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:04:22] "GET /login HTTP/1.1" 200 - -2025-11-26 21:04:22,546 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:04:22] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:04:23,845 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 21:04:27,276 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:04:27] "GET /register HTTP/1.1" 200 - -2025-11-26 21:04:27,293 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:04:27] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:04:41,546 [INFO] app: REGISTER: form errors={'password': ['비밀번호에 대문자가 1자 이상 포함되어야 합니다.', '비밀번호에 특수문자가 1자 이상 포함되어야 합니다.']} -2025-11-26 21:04:41,546 [INFO] app: REGISTER: form errors={'password': ['비밀번호에 대문자가 1자 이상 포함되어야 합니다.', '비밀번호에 특수문자가 1자 이상 포함되어야 합니다.']} -2025-11-26 21:04:41,547 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:04:41] "POST /register HTTP/1.1" 200 - -2025-11-26 21:04:41,561 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:04:41] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:04:52,369 [INFO] app: REGISTER: created id=3 email=test@test.com -2025-11-26 21:04:52,369 [INFO] app: REGISTER: created id=3 email=test@test.com -2025-11-26 21:04:52,370 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:04:52] "POST /register HTTP/1.1" 302 - -2025-11-26 21:04:52,372 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:04:52] "GET /login HTTP/1.1" 200 - -2025-11-26 21:04:52,394 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:04:52] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:04:53,620 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 21:05:14,842 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-26 21:05:14,842 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-26 21:05:14,895 [INFO] app: LOGIN: found id=1 active=True pass_ok=True -2025-11-26 21:05:14,895 [INFO] app: LOGIN: found id=1 active=True pass_ok=True -2025-11-26 21:05:14,896 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-26 21:05:14,896 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-26 21:05:14,897 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:05:14] "POST /login HTTP/1.1" 302 - -2025-11-26 21:05:14,903 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:05:14] "GET /index HTTP/1.1" 200 - -2025-11-26 21:05:14,926 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:05:14] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:05:14,928 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:05:14] "GET /static/script.js HTTP/1.1" 304 - -2025-11-26 21:05:16,207 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 21:05:17,066 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:05:17] "GET /admin HTTP/1.1" 200 - -2025-11-26 21:05:17,078 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:05:17] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:06:25,801 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\migrate_passwords.py', reloading -2025-11-26 21:06:25,807 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\update_db.py', reloading -2025-11-26 21:06:25,807 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\tests\\test_redfish_client.py', reloading -2025-11-26 21:06:25,809 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\migrations\\env.py', reloading -2025-11-26 21:06:25,818 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\data\\scripts_back\\01-settings.py', reloading -2025-11-26 21:06:25,824 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\data\\server_list\\excel.py', reloading -2025-11-26 21:06:25,824 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\data\\scripts\\GPU_Serial_v1.py', reloading -2025-11-26 21:06:25,824 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\data\\scripts\\collect_idrac_info.py', reloading -2025-11-26 21:06:25,825 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\data\\scripts\\09-Log_Viewer.py', reloading -2025-11-26 21:06:25,825 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\data\\scripts\\08-job_delete_all.py', reloading -2025-11-26 21:06:25,825 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\data\\scripts\\07-PowerOFF.py', reloading -2025-11-26 21:06:25,825 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\data\\scripts\\06-PowerON.py', reloading -2025-11-26 21:06:25,825 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\data\\scripts\\05-clrsel.py', reloading -2025-11-26 21:06:25,825 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\data\\scripts\\04-tsr_save.py', reloading -2025-11-26 21:06:25,825 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\data\\scripts\\03-tsr_log.py', reloading -2025-11-26 21:06:25,826 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\data\\scripts\\02-set_config.py', reloading -2025-11-26 21:06:25,826 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\data\\scripts\\01-settings.py', reloading -2025-11-26 21:06:25,826 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\data\\server_list\\GPUTOExecl.py', reloading -2025-11-26 21:06:25,827 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\config.py', reloading -2025-11-26 21:06:25,830 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\socketio_events.py', reloading -2025-11-26 21:06:25,832 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\services\\redfish_client.py', reloading -2025-11-26 21:06:25,833 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\services\\watchdog_handler.py', reloading -2025-11-26 21:06:25,833 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\services\\logger.py', reloading -2025-11-26 21:06:25,833 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\services\\ip_processor.py', reloading -2025-11-26 21:06:25,833 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\services\\idrac_redfish_client.py', reloading -2025-11-26 21:06:25,834 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\services\\idrac_jobs.py', reloading -2025-11-26 21:06:25,834 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\services\\dell_catalog_sync.py', reloading -2025-11-26 21:06:25,835 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\routes\\__init__.py', reloading -2025-11-26 21:06:25,835 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\routes\\xml.py', reloading -2025-11-26 21:06:25,835 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\routes\\version_compare_api.py', reloading -2025-11-26 21:06:25,835 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\routes\\utilities.py', reloading -2025-11-26 21:06:25,835 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\routes\\main.py', reloading -2025-11-26 21:06:25,836 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\routes\\jobs.py', reloading -2025-11-26 21:06:25,836 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\routes\\idrac_routes_base.py', reloading -2025-11-26 21:06:25,836 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\models\\user.py', reloading -2025-11-26 21:06:25,836 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\routes\\idrac_routes.py', reloading -2025-11-26 21:06:25,837 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\models\\telegram_bot.py', reloading -2025-11-26 21:06:25,837 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\routes\\home.py', reloading -2025-11-26 21:06:25,837 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\models\\idrac_server.py', reloading -2025-11-26 21:06:25,837 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\routes\\file_view.py', reloading -2025-11-26 21:06:25,838 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\models\\firmware_version.py', reloading -2025-11-26 21:06:25,838 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\routes\\catalog_sync.py', reloading -2025-11-26 21:06:25,838 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\routes\\auth.py', reloading -2025-11-26 21:06:25,838 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\routes\\admin.py', reloading -2025-11-26 21:06:25,838 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\forms\\auth_forms.py', reloading -2025-11-26 21:06:25,838 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\data\\server_list\\GUIDtxtT0Execl.py', reloading -2025-11-26 21:06:25,845 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\data\\scripts\\PortGUID.py', reloading -2025-11-26 21:06:25,845 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\data\\scripts\\PortGUID_v1.py', reloading -2025-11-26 21:06:25,873 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\data\\scripts\\TYPE11_Server_info.py', reloading -2025-11-26 21:06:25,873 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\data\\scripts\\TYPE11_MAC_info.py', reloading -2025-11-26 21:06:25,904 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\data\\scripts\\XE9680_H200_IB_10EA_MAC_info.py', reloading -2025-11-26 21:06:25,951 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\data\\server_list\\server_info_zip.py', reloading -2025-11-26 21:06:26,680 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 21:06:27,407 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:06:27,429 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:06:27,429 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:06:27,448 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:06:27,463 [WARNING] werkzeug: * Debugger is active! -2025-11-26 21:06:27,466 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 21:06:44,186 [INFO] root: 🗑 삭제된 사용자: 테스트 (id=3) -2025-11-26 21:06:44,187 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:06:44] "GET /admin/delete/3 HTTP/1.1" 302 - -2025-11-26 21:06:44,201 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:06:44] "GET /admin HTTP/1.1" 200 - -2025-11-26 21:06:44,254 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:06:44] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:06:47,794 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\models\\user.py', reloading -2025-11-26 21:06:47,794 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\backend\\models\\user.py', reloading -2025-11-26 21:06:48,899 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 21:11:32,532 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:11:32,554 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:11:32,554 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:11:32,571 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:12:40,365 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:12:40,386 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:12:40,386 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:12:40,404 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:12:53,170 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:12:53,191 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:12:53,191 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:12:53,208 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:12:53,222 [INFO] __main__: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:12:54,324 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-26 21:12:54,325 [INFO] telegram.ext.Application: Application started -2025-11-26 21:12:54,554 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-26 21:12:54,555 [INFO] __main__: Bot polling started successfully -2025-11-26 21:13:05,244 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:13:15,474 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:13:17,180 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:13:17,200 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:13:17,200 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:13:17,218 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:13:17,241 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-26 21:13:17,242 [INFO] werkzeug: Press CTRL+C to quit -2025-11-26 21:13:17,242 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 21:13:17,947 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:13:17,968 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:13:17,968 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:13:17,985 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:13:17,999 [WARNING] werkzeug: * Debugger is active! -2025-11-26 21:13:18,001 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 21:13:22,035 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:13:22] "GET /admin HTTP/1.1" 200 - -2025-11-26 21:13:22,088 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:13:22] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:13:22,130 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:13:22] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-26 21:13:25,313 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:13:25] "GET /home/ HTTP/1.1" 200 - -2025-11-26 21:13:25,332 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:13:25] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:13:25,705 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:13:25,844 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:13:25] "GET /home/ HTTP/1.1" 200 - -2025-11-26 21:13:25,859 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:13:25] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:13:26,645 [INFO] app: LOGOUT: user=김강희 -2025-11-26 21:13:26,645 [INFO] app: LOGOUT: user=김강희 -2025-11-26 21:13:26,647 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:13:26] "GET /logout HTTP/1.1" 302 - -2025-11-26 21:13:26,652 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:13:26] "GET /login HTTP/1.1" 200 - -2025-11-26 21:13:26,668 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:13:26] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:13:28,014 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 21:13:33,347 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:13:33] "GET /register HTTP/1.1" 200 - -2025-11-26 21:13:33,361 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:13:33] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:13:35,935 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:13:46,166 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:13:48,086 [INFO] app: REGISTER: created id=3 email=test@test.com token=vuvptcWrhc -2025-11-26 21:13:48,086 [INFO] app: REGISTER: created id=3 email=test@test.com token=vuvptcWrhc -2025-11-26 21:13:48,086 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:13:48] "POST /register HTTP/1.1" 302 - -2025-11-26 21:13:48,090 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:13:48] "GET /login HTTP/1.1" 200 - -2025-11-26 21:13:48,108 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:13:48] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:13:49,350 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 21:13:53,907 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:13:54,766 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/answerCallbackQuery "HTTP/1.1 200 OK" -2025-11-26 21:13:54,767 [INFO] __main__: Received callback: approve_vuvptcWrhcyK09733e_camu89LA2oIj-fWm5oFEEYA4 -2025-11-26 21:13:55,182 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/editMessageText "HTTP/1.1 200 OK" -2025-11-26 21:13:55,182 [INFO] __main__: User 테스트 approved -2025-11-26 21:14:04,139 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:14:06,243 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-26 21:14:06,243 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-26 21:14:06,294 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-11-26 21:14:06,294 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-11-26 21:14:06,296 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-26 21:14:06,296 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-26 21:14:06,297 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:14:06] "POST /login HTTP/1.1" 302 - -2025-11-26 21:14:06,312 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:14:06] "GET /index HTTP/1.1" 200 - -2025-11-26 21:14:06,335 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:14:06] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:14:06,337 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:14:06] "GET /static/script.js HTTP/1.1" 304 - -2025-11-26 21:14:07,557 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 21:14:14,369 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:14:23,582 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:14:23] "GET /jobs HTTP/1.1" 200 - -2025-11-26 21:14:23,597 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:14:23] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:14:23,609 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:14:23] "GET /jobs/config HTTP/1.1" 200 - -2025-11-26 21:14:23,627 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-11-26 21:14:23,628 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:14:23] "GET /jobs/iplist HTTP/1.1" 200 - -2025-11-26 21:14:24,599 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:14:25,042 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:14:25] "GET /admin HTTP/1.1" 200 - -2025-11-26 21:14:25,056 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:14:25] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:14:34,828 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:14:35,068 [INFO] root: 🗑 삭제된 사용자: 테스트 (id=3) -2025-11-26 21:14:35,070 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:14:35] "GET /admin/delete/3 HTTP/1.1" 302 - -2025-11-26 21:14:35,074 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:14:35] "GET /admin HTTP/1.1" 200 - -2025-11-26 21:14:35,095 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:14:35] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:14:37,168 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:14:37] "GET /admin HTTP/1.1" 200 - -2025-11-26 21:14:37,182 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:14:37] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:14:37,204 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:14:37] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-26 21:14:45,059 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:14:55,288 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:15:01,590 [INFO] __main__: Bot polling stopped by user -2025-11-26 21:15:20,537 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\app.py', reloading -2025-11-26 21:15:20,537 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\app.py', reloading -2025-11-26 21:15:21,074 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 21:15:21,841 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:15:21,861 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:15:21,861 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:15:21,880 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:15:21,890 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:15:21,890 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:15:21,895 [WARNING] werkzeug: * Debugger is active! -2025-11-26 21:15:21,897 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 21:15:24,927 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:15:24,928 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:15:24,928 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:15:24,956 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:15:24,963 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:15:24,963 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:15:24,964 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:15:24,964 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:15:24,966 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:15:26,039 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-26 21:15:26,039 [INFO] telegram.ext.Application: Application started -2025-11-26 21:15:26,265 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-26 21:15:26,266 [INFO] telegram_bot_service: Bot polling started successfully -2025-11-26 21:15:27,964 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:15:27,964 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:15:27,966 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:15:42,101 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:15:42,122 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:15:42,122 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:15:42,141 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:15:42,152 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:15:42,152 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:15:47,396 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:15:47,418 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:15:47,418 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:15:47,435 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:15:47,445 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:15:47,445 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:15:47,457 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-26 21:15:47,457 [INFO] werkzeug: Press CTRL+C to quit -2025-11-26 21:15:47,457 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 21:15:48,161 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:15:48,182 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:15:48,182 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:15:48,198 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:15:48,210 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:15:48,210 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:15:48,214 [WARNING] werkzeug: * Debugger is active! -2025-11-26 21:15:48,216 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 21:15:50,481 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:15:50,481 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:15:50,481 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:15:50,489 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:15:50,523 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:15:50,523 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:15:50,523 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:15:50,523 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:15:50,525 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:15:51,242 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:15:51,242 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:15:51,242 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:15:51,272 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:15:51,280 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:15:51,280 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:15:51,280 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:15:51,280 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:15:51,282 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:15:51,537 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:15:51] "GET /admin HTTP/1.1" 200 - -2025-11-26 21:15:51,581 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:15:51] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:15:51,593 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:15:51] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-26 21:15:51,602 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-26 21:15:51,603 [INFO] telegram.ext.Application: Application started -2025-11-26 21:15:51,835 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-26 21:15:51,835 [INFO] telegram_bot_service: Bot polling started successfully -2025-11-26 21:15:52,373 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-26 21:15:52,373 [INFO] telegram.ext.Application: Application started -2025-11-26 21:15:52,602 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-26 21:15:52,603 [INFO] telegram_bot_service: Bot polling started successfully -2025-11-26 21:15:53,288 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:15:53,301 [INFO] werkzeug: * Detected change in 'D:\\Code\\imges_ocr\\venv312\\Lib\\site-packages\\telegram\\ext\\_utils\\networkloop.py', reloading -2025-11-26 21:15:53,308 [INFO] werkzeug: * Detected change in 'D:\\Code\\imges_ocr\\venv312\\Lib\\site-packages\\telegram\\ext\\_updater.py', reloading -2025-11-26 21:15:53,320 [INFO] werkzeug: * Detected change in 'D:\\Code\\imges_ocr\\venv312\\Lib\\site-packages\\telegram\\ext\\_extbot.py', reloading -2025-11-26 21:15:53,288 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:15:53,445 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 21:15:53,524 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:15:53,524 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:15:53,525 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:15:54,172 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:15:54,191 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:15:54,191 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:15:54,210 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:15:54,223 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:15:54,223 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:15:54,227 [WARNING] werkzeug: * Debugger is active! -2025-11-26 21:15:54,228 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 21:15:54,550 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-26 21:15:54,551 [INFO] telegram.ext.Application: Application started -2025-11-26 21:15:54,776 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-26 21:15:54,776 [INFO] telegram_bot_service: Bot polling started successfully -2025-11-26 21:15:57,143 [INFO] app: LOGOUT: user=김강희 -2025-11-26 21:15:57,143 [INFO] app: LOGOUT: user=김강희 -2025-11-26 21:15:57,144 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:15:57] "GET /logout HTTP/1.1" 302 - -2025-11-26 21:15:57,157 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:15:57] "GET /login HTTP/1.1" 200 - -2025-11-26 21:15:57,198 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:15:57] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:15:57,322 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:15:57,322 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:15:57,322 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:15:57,328 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:15:57,339 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:15:57,339 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:15:57,339 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:15:57,339 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:15:57,341 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:15:58,457 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-26 21:15:58,457 [INFO] telegram.ext.Application: Application started -2025-11-26 21:15:58,458 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:15:58,458 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:15:58,565 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 21:15:58,686 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-26 21:15:58,687 [INFO] telegram_bot_service: Bot polling started successfully -2025-11-26 21:15:59,388 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:15:59,388 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:16:00,340 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:16:00,340 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:16:00,342 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:16:01,384 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-26 21:16:01,385 [INFO] telegram.ext.Application: Application started -2025-11-26 21:16:01,618 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-26 21:16:01,618 [INFO] telegram_bot_service: Bot polling started successfully -2025-11-26 21:16:03,184 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:16:03,185 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:16:03,625 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:16:03,625 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:16:04,416 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:16:04,417 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:16:05,315 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:16:05,316 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:16:08,667 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:16:08,668 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:16:09,122 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:16:09,122 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:16:10,048 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:16:10,049 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:16:10,405 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:16:10,406 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:16:13,651 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:16:13,651 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:16:13,858 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:16:13,859 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:16:15,899 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:16:15,900 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:16:17,278 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:16:17,279 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:16:19,352 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:16:19,352 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:16:20,898 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:16:20,899 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:16:21,424 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:16:21,425 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:16:24,513 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:16:24,514 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:16:48,331 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:16:48,351 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:16:48,351 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:16:48,370 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:16:48,380 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:16:48,380 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:16:48,393 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-26 21:16:48,393 [INFO] werkzeug: Press CTRL+C to quit -2025-11-26 21:16:48,393 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 21:16:49,102 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:16:49,123 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:16:49,123 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:16:49,139 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:16:49,150 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:16:49,150 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:16:49,154 [WARNING] werkzeug: * Debugger is active! -2025-11-26 21:16:49,157 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 21:16:51,414 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:16:51,414 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:16:51,414 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:16:51,422 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:16:51,457 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:16:51,457 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:16:51,457 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:16:51,457 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:16:51,460 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:16:52,184 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:16:52,184 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:16:52,184 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:16:52,211 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:16:52,219 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:16:52,219 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:16:52,219 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:16:52,219 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:16:52,221 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:16:52,535 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-26 21:16:52,535 [INFO] telegram.ext.Application: Application started -2025-11-26 21:16:52,766 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-26 21:16:52,767 [INFO] telegram_bot_service: Bot polling started successfully -2025-11-26 21:16:53,289 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-26 21:16:53,289 [INFO] telegram.ext.Application: Application started -2025-11-26 21:16:53,529 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-26 21:16:53,530 [INFO] telegram_bot_service: Bot polling started successfully -2025-11-26 21:16:54,226 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:16:54,227 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:16:54,458 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:16:54,458 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:16:54,460 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:16:55,220 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:16:55,220 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:16:55,221 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:16:55,488 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-26 21:16:55,488 [INFO] telegram.ext.Application: Application started -2025-11-26 21:16:55,717 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-26 21:16:55,718 [INFO] telegram_bot_service: Bot polling started successfully -2025-11-26 21:17:29,064 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:17:29,086 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:17:29,086 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:17:29,102 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:17:29,114 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:17:29,114 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:17:29,122 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-26 21:17:29,124 [INFO] werkzeug: Press CTRL+C to quit -2025-11-26 21:17:29,124 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 21:17:29,802 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:17:29,820 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:17:29,820 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:17:29,840 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:17:29,852 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:17:29,852 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:17:29,856 [WARNING] werkzeug: * Debugger is active! -2025-11-26 21:17:29,858 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 21:17:32,148 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:17:32,148 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:17:32,148 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:17:32,156 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:17:32,185 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:17:32,185 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:17:32,186 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:17:32,186 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:17:32,187 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:17:32,883 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:17:32,884 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:17:32,884 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:17:32,912 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:17:32,920 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:17:32,920 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:17:32,920 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:17:32,920 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:17:32,922 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:17:33,232 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-26 21:17:33,233 [INFO] telegram.ext.Application: Application started -2025-11-26 21:17:33,457 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-26 21:17:33,457 [INFO] telegram_bot_service: Bot polling started successfully -2025-11-26 21:17:33,996 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-26 21:17:33,996 [INFO] telegram.ext.Application: Application started -2025-11-26 21:17:34,225 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-26 21:17:34,225 [INFO] telegram_bot_service: Bot polling started successfully -2025-11-26 21:17:34,912 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:17:34,912 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:17:35,186 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:17:35,186 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:17:35,188 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:17:35,921 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:17:35,921 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:17:35,924 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:17:36,207 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-26 21:17:36,207 [INFO] telegram.ext.Application: Application started -2025-11-26 21:17:36,436 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-26 21:17:36,438 [INFO] telegram_bot_service: Bot polling started successfully -2025-11-26 21:17:36,955 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-26 21:17:36,955 [INFO] telegram.ext.Application: Application started -2025-11-26 21:17:37,188 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-26 21:17:37,189 [INFO] telegram_bot_service: Bot polling started successfully -2025-11-26 21:17:39,145 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:17:39,146 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:17:40,127 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:17:40,127 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:17:40,401 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:17:40,402 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:17:40,880 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:17:40,880 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:20:28,791 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:20:28,813 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:20:28,813 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:20:28,829 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:20:28,841 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:20:28,841 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:20:28,843 [INFO] __main__: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:20:29,927 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-26 21:20:29,927 [INFO] telegram.ext.Application: Application started -2025-11-26 21:20:30,158 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-26 21:20:30,158 [INFO] __main__: Bot polling started successfully -2025-11-26 21:20:31,844 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:20:31,844 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:20:31,847 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:20:32,863 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-26 21:20:32,863 [INFO] telegram.ext.Application: Application started -2025-11-26 21:20:33,093 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-26 21:20:33,093 [INFO] telegram_bot_service: Bot polling started successfully -2025-11-26 21:20:33,775 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:20:33,775 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:20:38,032 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:20:38,033 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:20:38,748 [INFO] __main__: Bot polling stopped by user -2025-11-26 21:23:19,748 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:23:19,768 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:23:19,768 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:23:19,784 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:23:19,794 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:23:19,794 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:23:19,804 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-26 21:23:19,804 [INFO] werkzeug: Press CTRL+C to quit -2025-11-26 21:23:19,804 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 21:23:20,458 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:23:20,478 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:23:20,478 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:23:20,494 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:23:20,504 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:23:20,504 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:23:20,508 [WARNING] werkzeug: * Debugger is active! -2025-11-26 21:23:20,510 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 21:23:22,824 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:23:22,824 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:23:22,824 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:23:22,831 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:23:22,854 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:23:22,854 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:23:22,855 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:23:22,855 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:23:22,857 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:23:23,534 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:23:23,534 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:23:23,534 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:23:23,558 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:23:23,566 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:23:23,566 [INFO] app: ✅ 텔레그램 봇 폴링 스레드 시작됨 -2025-11-26 21:23:23,566 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:23:23,566 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:23:23,568 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:23:23,918 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-26 21:23:23,919 [INFO] telegram.ext.Application: Application started -2025-11-26 21:23:24,154 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-26 21:23:24,154 [INFO] telegram_bot_service: Bot polling started successfully -2025-11-26 21:23:24,626 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-26 21:23:24,627 [INFO] telegram.ext.Application: Application started -2025-11-26 21:23:24,857 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-26 21:23:24,857 [INFO] telegram_bot_service: Bot polling started successfully -2025-11-26 21:23:25,538 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:23:25,538 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:23:25,855 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:23:25,855 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:23:25,857 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:23:26,567 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:23:26,567 [INFO] app: 🤖 텔레그램 봇 폴링 서비스 시작 중... -2025-11-26 21:23:26,568 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:23:26,872 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-26 21:23:26,872 [INFO] telegram.ext.Application: Application started -2025-11-26 21:23:27,102 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-26 21:23:27,102 [INFO] telegram_bot_service: Bot polling started successfully -2025-11-26 21:23:27,577 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-26 21:23:27,577 [INFO] telegram.ext.Application: Application started -2025-11-26 21:23:27,806 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-26 21:23:27,806 [INFO] telegram_bot_service: Bot polling started successfully -2025-11-26 21:23:29,774 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:23:29,774 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:23:30,794 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:23:30,794 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:23:31,013 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:23:31,013 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:23:31,497 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:23:31,498 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:23:32,535 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:23:32] "GET /login HTTP/1.1" 200 - -2025-11-26 21:23:32,584 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:23:32] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:23:32,625 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:23:32] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-26 21:23:35,260 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:23:35,260 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:23:35,534 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:23:35,535 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:23:35,664 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:23:35] "GET /register HTTP/1.1" 200 - -2025-11-26 21:23:35,680 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:23:35] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:23:35,730 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:23:35,731 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:23:36,986 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:23:36,987 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:23:40,272 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:23:40,273 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:23:41,222 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:23:41,223 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:23:41,721 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:23:41,721 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:23:42,756 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:23:42,756 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:23:46,705 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:23:46,706 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:23:48,248 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:23:48,248 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:23:48,340 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:23:48,340 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:23:50,308 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:23:50,308 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:23:50,997 [INFO] app: REGISTER: form errors={'username': ['이름은 한글로만 2~20자 입력 가능합니다.']} -2025-11-26 21:23:50,997 [INFO] app: REGISTER: form errors={'username': ['이름은 한글로만 2~20자 입력 가능합니다.']} -2025-11-26 21:23:50,998 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:23:50] "POST /register HTTP/1.1" 200 - -2025-11-26 21:23:51,014 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:23:51] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:23:54,873 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:23:54,874 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:23:54,965 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:23:54,965 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:23:56,083 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:23:56,083 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:24:00,625 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:24:00,626 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:24:03,737 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:24:03,737 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:24:04,839 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:24:04,839 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:24:08,926 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:24:08,926 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:24:12,033 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:24:12,033 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:24:15,670 [INFO] app: REGISTER: form errors={'username': ['이름은 한글로만 2~20자 입력 가능합니다.']} -2025-11-26 21:24:15,670 [INFO] app: REGISTER: form errors={'username': ['이름은 한글로만 2~20자 입력 가능합니다.']} -2025-11-26 21:24:15,671 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:24:15] "POST /register HTTP/1.1" 200 - -2025-11-26 21:24:15,690 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:24:15] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:24:16,136 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:24:16,136 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:24:17,205 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:24:17,205 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:24:24,123 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:24:24,123 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:24:28,252 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:24:28,252 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:24:32,303 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:24:32,303 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:24:32,998 [INFO] app: REGISTER: created id=3 email=test@test.com token=MO4CC4T0Rq -2025-11-26 21:24:32,998 [INFO] app: REGISTER: created id=3 email=test@test.com token=MO4CC4T0Rq -2025-11-26 21:24:32,998 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:24:32] "POST /register HTTP/1.1" 302 - -2025-11-26 21:24:33,002 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:24:33] "GET /login HTTP/1.1" 200 - -2025-11-26 21:24:33,020 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:24:33] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:24:34,252 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 21:24:36,234 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:24:36,234 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:24:41,991 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:24:42,840 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/answerCallbackQuery "HTTP/1.1 200 OK" -2025-11-26 21:24:42,841 [INFO] telegram_bot_service: Received callback: approve_MO4CC4T0Rqme6qqjMVb7SLYOews9HTUUVeYt9n-1E98 -2025-11-26 21:24:43,255 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/editMessageText "HTTP/1.1 200 OK" -2025-11-26 21:24:43,255 [INFO] telegram_bot_service: User 테스트 approved -2025-11-26 21:24:46,025 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:24:46,025 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:24:50,101 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:24:50,101 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:24:50,272 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:24:50,272 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:24:53,762 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-26 21:24:53,762 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-26 21:24:53,812 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-11-26 21:24:53,812 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-11-26 21:24:53,813 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-26 21:24:53,813 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-26 21:24:53,814 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:24:53] "POST /login HTTP/1.1" 302 - -2025-11-26 21:24:53,828 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:24:53] "GET /index HTTP/1.1" 200 - -2025-11-26 21:24:53,848 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:24:53] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:24:53,850 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:24:53] "GET /static/script.js HTTP/1.1" 304 - -2025-11-26 21:24:54,021 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:24:54,022 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:24:54,851 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:24:54,852 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:24:55,062 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 21:24:57,686 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:24:57] "GET /admin HTTP/1.1" 200 - -2025-11-26 21:24:57,699 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:24:57] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:24:59,516 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:24:59,516 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:25:01,151 [INFO] root: 🗑 삭제된 사용자: 테스트 (id=3) -2025-11-26 21:25:01,152 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:25:01] "GET /admin/delete/3 HTTP/1.1" 302 - -2025-11-26 21:25:01,156 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:25:01] "GET /admin HTTP/1.1" 200 - -2025-11-26 21:25:01,175 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:25:01] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:25:02,560 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:25:02] "GET /home/ HTTP/1.1" 200 - -2025-11-26 21:25:02,572 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:25:02] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:25:03,167 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:25:03] "GET /home/ HTTP/1.1" 200 - -2025-11-26 21:25:03,182 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:25:03] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:25:03,204 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:25:03] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-26 21:25:06,519 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:25:16,618 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:25:16,619 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:25:20,881 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:25:20,882 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:25:21,201 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:25:21,201 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:25:25,852 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:25:25,853 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:25:25,951 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:25:25,951 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:25:31,362 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:25:31,362 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:25:38,359 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:25:48,602 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:25:51,588 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:25:51,589 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:25:55,833 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:25:55,833 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:25:56,630 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:25:56,630 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:26:01,371 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:26:01,371 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:26:02,070 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:26:02,070 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:26:07,583 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:26:07,583 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:26:14,588 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:26:24,828 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:26:26,520 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:26:26,521 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:26:30,761 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:26:30,761 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:26:32,063 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:26:32,063 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:26:36,810 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:26:36,810 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:26:38,283 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:26:38,283 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:26:43,780 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:26:43,781 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:26:50,782 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:27:01,022 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:27:01,462 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:27:01,462 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:27:05,718 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:27:05,718 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:27:07,525 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:27:07,525 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:27:12,290 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:27:12,290 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:27:14,495 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:27:14,495 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:27:19,992 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:27:19,992 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:27:26,993 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:27:36,420 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:27:36,420 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:27:40,667 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:27:40,667 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:27:43,003 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:27:43,003 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:27:47,753 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:27:47,753 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:27:50,687 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:27:50,687 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:27:56,171 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:27:56,171 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:28:03,176 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:28:11,359 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:28:11,359 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:28:15,603 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:28:15,604 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:28:18,459 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:28:18,459 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:28:23,258 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:28:23,258 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:28:26,854 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:28:26,854 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:28:32,365 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:28:32,365 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:28:39,366 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:28:46,308 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:28:46,309 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:28:50,589 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:28:50,589 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:28:53,964 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:28:53,964 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:28:58,718 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:28:58,718 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:29:03,067 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:29:03,067 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:29:08,558 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:29:08,558 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:29:15,562 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:29:21,294 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:29:21,295 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:29:25,539 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:29:25,540 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:29:29,416 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:29:29,417 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:29:34,163 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:29:34,163 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:29:39,272 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:29:39,272 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:29:44,778 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:29:44,779 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:29:51,784 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:29:56,258 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:29:56,259 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:30:00,509 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:30:00,509 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:30:04,892 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:30:04,892 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:30:09,632 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:30:09,632 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:30:15,495 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:30:15,495 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:30:21,001 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:30:21,001 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:30:28,006 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:30:31,239 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:30:31,239 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:30:35,503 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:30:35,503 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:30:40,355 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:30:40,355 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:30:45,109 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:30:45,109 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:30:51,524 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\app.py', reloading -2025-11-26 21:30:51,525 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\app.py', reloading -2025-11-26 21:30:51,707 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:30:51,707 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:30:51,876 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 21:30:52,574 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:30:52,595 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:30:52,595 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:30:52,611 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:30:52,622 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 적용) -2025-11-26 21:30:52,622 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 적용) -2025-11-26 21:30:52,625 [WARNING] werkzeug: * Debugger is active! -2025-11-26 21:30:52,627 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 21:30:54,678 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:30:54,679 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:30:54,679 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:30:54,714 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:30:54,722 [INFO] app: 🤖 텔레그램 봇 폴링 시작... -2025-11-26 21:30:54,722 [INFO] app: 🤖 텔레그램 봇 폴링 시작... -2025-11-26 21:30:54,723 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:30:55,784 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-26 21:30:55,784 [INFO] telegram.ext.Application: Application started -2025-11-26 21:30:56,010 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-26 21:30:56,010 [INFO] telegram_bot_service: Bot polling started successfully -2025-11-26 21:30:56,711 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:30:56,711 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:31:00,338 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:31:00,339 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:31:01,935 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:31:01,956 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:31:01,956 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:31:01,972 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:31:01,991 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-26 21:31:01,991 [INFO] werkzeug: Press CTRL+C to quit -2025-11-26 21:31:01,992 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 21:31:02,644 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:31:02,663 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:31:02,663 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:31:02,679 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:31:02,689 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 적용) -2025-11-26 21:31:02,689 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 적용) -2025-11-26 21:31:02,693 [WARNING] werkzeug: * Debugger is active! -2025-11-26 21:31:02,694 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 21:31:04,572 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:31:04,572 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:31:04,719 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:31:04,719 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:31:04,719 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:31:04,746 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:31:04,754 [INFO] app: 🤖 텔레그램 봇 폴링 시작... -2025-11-26 21:31:04,754 [INFO] app: 🤖 텔레그램 봇 폴링 시작... -2025-11-26 21:31:04,756 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:31:05,806 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-26 21:31:05,806 [INFO] telegram.ext.Application: Application started -2025-11-26 21:31:06,032 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-26 21:31:06,033 [INFO] telegram_bot_service: Bot polling started successfully -2025-11-26 21:31:06,194 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:31:06,194 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:31:09,712 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:31:09,713 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:31:10,352 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:31:10,353 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:31:10,950 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:31:10,950 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:31:15,199 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:31:15,199 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:31:15,858 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:31:15,858 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:31:17,596 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:31:17,596 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:31:21,215 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:31:21,215 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:31:26,514 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:31:26,514 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:31:26,712 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:31:26,712 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:31:32,276 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:31:32,276 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:31:35,906 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:31:35,907 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:31:40,415 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:31:40,415 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:31:41,815 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:31:41,815 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:31:44,206 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:31:44,206 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:31:47,576 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:31:47,577 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:31:57,578 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:31:58,204 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:31:58,205 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:32:02,431 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:32:02,432 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:32:02,680 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:32:02,680 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:32:04,433 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:32:04,433 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:32:14,437 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:32:14,917 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:32:14,918 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:32:19,155 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:32:19,155 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:32:22,220 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:32:22,221 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:32:26,952 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:32:26,952 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:32:28,776 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:32:28,776 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:32:34,271 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:32:34,271 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:32:41,274 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:32:49,878 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:32:49,879 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:32:53,292 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:32:53,293 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:32:54,115 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:32:54,115 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:32:58,035 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:32:58,035 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:33:04,962 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:33:04,962 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:33:10,453 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:33:10,453 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:33:17,456 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:33:24,830 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:33:24,831 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:33:28,736 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:33:28,736 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:33:29,065 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:33:29,065 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:33:33,475 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:33:33,475 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:33:40,476 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:33:41,155 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:33:41,155 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:33:45,394 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:33:45,395 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:33:52,397 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:33:59,764 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:33:59,764 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:34:04,005 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:34:04,006 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:34:04,196 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:34:04,196 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:34:08,924 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:34:08,924 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:34:15,928 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:34:16,160 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:34:16,160 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:34:26,164 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:34:34,712 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:34:34,712 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:34:38,966 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:34:38,966 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:34:39,639 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:34:39,639 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:34:44,379 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:34:44,380 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:34:46,841 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:34:46,841 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:34:52,331 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:34:52,332 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:34:59,336 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:35:09,569 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:35:09,795 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:35:09,796 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:35:15,072 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:35:15,073 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:35:19,315 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:35:19,317 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:35:23,036 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:35:23,037 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:35:27,780 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:35:27,781 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:35:34,777 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:35:40,484 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:35:40,484 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:35:44,730 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:35:44,730 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:35:46,533 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\telegram_bot_service.py', reloading -2025-11-26 21:35:46,533 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\telegram_bot_service.py', reloading -2025-11-26 21:35:47,469 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 21:35:47,579 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 21:35:48,197 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:35:48,218 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:35:48,218 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:35:48,235 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:35:48,246 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 적용) -2025-11-26 21:35:48,246 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 적용) -2025-11-26 21:35:48,249 [WARNING] werkzeug: * Debugger is active! -2025-11-26 21:35:48,251 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 21:35:48,284 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:35:48,304 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:35:48,304 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:35:48,319 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:35:48,329 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 적용) -2025-11-26 21:35:48,329 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 적용) -2025-11-26 21:35:48,333 [WARNING] werkzeug: * Debugger is active! -2025-11-26 21:35:48,335 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 21:35:50,281 [INFO] app: 🤖 텔레그램 봇 폴링 시작... -2025-11-26 21:35:50,281 [INFO] app: 🤖 텔레그램 봇 폴링 시작... -2025-11-26 21:35:50,281 [ERROR] app: 텔레그램 봇 폴링 오류: start_bot_polling() missing 1 required positional argument: 'flask_app' -2025-11-26 21:35:50,281 [ERROR] app: 텔레그램 봇 폴링 오류: start_bot_polling() missing 1 required positional argument: 'flask_app' -2025-11-26 21:35:50,371 [INFO] app: 🤖 텔레그램 봇 폴링 시작... -2025-11-26 21:35:50,371 [INFO] app: 🤖 텔레그램 봇 폴링 시작... -2025-11-26 21:35:50,371 [ERROR] app: 텔레그램 봇 폴링 오류: start_bot_polling() missing 1 required positional argument: 'flask_app' -2025-11-26 21:35:50,371 [ERROR] app: 텔레그램 봇 폴링 오류: start_bot_polling() missing 1 required positional argument: 'flask_app' -2025-11-26 21:36:03,068 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\telegram_bot_service.py', reloading -2025-11-26 21:36:03,068 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\telegram_bot_service.py', reloading -2025-11-26 21:36:03,570 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 21:36:03,710 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 21:36:04,332 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:36:04,352 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:36:04,352 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:36:04,369 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:36:04,378 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 적용) -2025-11-26 21:36:04,378 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 적용) -2025-11-26 21:36:04,382 [WARNING] werkzeug: * Debugger is active! -2025-11-26 21:36:04,384 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 21:36:04,443 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:36:04,465 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:36:04,465 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:36:04,484 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:36:04,495 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 적용) -2025-11-26 21:36:04,495 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 적용) -2025-11-26 21:36:04,499 [WARNING] werkzeug: * Debugger is active! -2025-11-26 21:36:04,501 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 21:36:06,409 [INFO] app: 🤖 텔레그램 봇 폴링 시작... -2025-11-26 21:36:06,409 [INFO] app: 🤖 텔레그램 봇 폴링 시작... -2025-11-26 21:36:06,410 [ERROR] app: 텔레그램 봇 폴링 오류: start_bot_polling() missing 1 required positional argument: 'flask_app' -2025-11-26 21:36:06,410 [ERROR] app: 텔레그램 봇 폴링 오류: start_bot_polling() missing 1 required positional argument: 'flask_app' -2025-11-26 21:36:06,522 [INFO] app: 🤖 텔레그램 봇 폴링 시작... -2025-11-26 21:36:06,522 [INFO] app: 🤖 텔레그램 봇 폴링 시작... -2025-11-26 21:36:06,522 [ERROR] app: 텔레그램 봇 폴링 오류: start_bot_polling() missing 1 required positional argument: 'flask_app' -2025-11-26 21:36:06,522 [ERROR] app: 텔레그램 봇 폴링 오류: start_bot_polling() missing 1 required positional argument: 'flask_app' -2025-11-26 21:36:08,491 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:36:15,430 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:36:15,430 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:36:19,690 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:36:19,690 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:36:26,687 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:36:36,920 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:36:47,149 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:36:50,398 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:36:50,398 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:36:54,649 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:36:54,650 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:37:01,648 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:37:11,878 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:37:19,549 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\app.py', reloading -2025-11-26 21:37:19,549 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\app.py', reloading -2025-11-26 21:37:19,550 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\app.py', reloading -2025-11-26 21:37:19,645 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 21:37:19,782 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 21:37:20,436 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:37:20,457 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:37:20,457 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:37:20,474 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:37:20,486 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-26 21:37:20,486 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-26 21:37:20,488 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:37:20,488 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:37:20,492 [WARNING] werkzeug: * Debugger is active! -2025-11-26 21:37:20,494 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 21:37:20,564 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:37:20,584 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:37:20,584 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:37:20,602 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:37:20,612 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-26 21:37:20,612 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-26 21:37:20,614 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:37:20,614 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:37:20,618 [WARNING] werkzeug: * Debugger is active! -2025-11-26 21:37:20,620 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 21:37:21,654 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-26 21:37:21,654 [INFO] telegram.ext.Application: Application started -2025-11-26 21:37:21,773 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-26 21:37:21,774 [INFO] telegram.ext.Application: Application started -2025-11-26 21:37:21,880 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-26 21:37:21,881 [INFO] app: Bot polling started successfully -2025-11-26 21:37:21,881 [INFO] app: Bot polling started successfully -2025-11-26 21:37:21,881 [ERROR] app: Error in bot polling: 'Updater' object has no attribute 'idle' -Traceback (most recent call last): - File "D:\Code\iDRAC_Info\idrac_info\telegram_bot_service.py", line 161, in start_bot_polling - await application.updater.idle() - ^^^^^^^^^^^^^^^^^^^^^^^^ -AttributeError: 'Updater' object has no attribute 'idle' -2025-11-26 21:37:21,881 [ERROR] app: Error in bot polling: 'Updater' object has no attribute 'idle' -Traceback (most recent call last): - File "D:\Code\iDRAC_Info\idrac_info\telegram_bot_service.py", line 161, in start_bot_polling - await application.updater.idle() - ^^^^^^^^^^^^^^^^^^^^^^^^ -AttributeError: 'Updater' object has no attribute 'idle' -2025-11-26 21:37:21,882 [ERROR] telegram_bot_service: Fatal error in bot polling: 'Updater' object has no attribute 'idle' -2025-11-26 21:37:22,000 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-26 21:37:22,001 [INFO] app: Bot polling started successfully -2025-11-26 21:37:22,001 [INFO] app: Bot polling started successfully -2025-11-26 21:37:22,001 [ERROR] app: Error in bot polling: 'Updater' object has no attribute 'idle' -Traceback (most recent call last): - File "D:\Code\iDRAC_Info\idrac_info\telegram_bot_service.py", line 161, in start_bot_polling - await application.updater.idle() - ^^^^^^^^^^^^^^^^^^^^^^^^ -AttributeError: 'Updater' object has no attribute 'idle' -2025-11-26 21:37:22,001 [ERROR] app: Error in bot polling: 'Updater' object has no attribute 'idle' -Traceback (most recent call last): - File "D:\Code\iDRAC_Info\idrac_info\telegram_bot_service.py", line 161, in start_bot_polling - await application.updater.idle() - ^^^^^^^^^^^^^^^^^^^^^^^^ -AttributeError: 'Updater' object has no attribute 'idle' -2025-11-26 21:37:22,003 [ERROR] telegram_bot_service: Fatal error in bot polling: 'Updater' object has no attribute 'idle' -2025-11-26 21:37:22,108 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:37:25,343 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:37:25,344 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:37:27,204 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:37:27,224 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:37:27,224 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:37:27,240 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:37:27,260 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-26 21:37:27,260 [INFO] werkzeug: Press CTRL+C to quit -2025-11-26 21:37:27,261 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 21:37:27,960 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:37:27,978 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:37:27,978 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:37:27,993 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:37:28,004 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-26 21:37:28,004 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-26 21:37:28,005 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:37:28,005 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:37:28,010 [WARNING] werkzeug: * Debugger is active! -2025-11-26 21:37:28,012 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 21:37:29,113 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-26 21:37:29,113 [INFO] telegram.ext.Application: Application started -2025-11-26 21:37:29,342 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-26 21:37:29,342 [INFO] app: Bot polling started successfully -2025-11-26 21:37:29,342 [INFO] app: Bot polling started successfully -2025-11-26 21:37:29,343 [ERROR] app: Error in bot polling: 'Updater' object has no attribute 'idle' -Traceback (most recent call last): - File "D:\Code\iDRAC_Info\idrac_info\telegram_bot_service.py", line 161, in start_bot_polling - await application.updater.idle() - ^^^^^^^^^^^^^^^^^^^^^^^^ -AttributeError: 'Updater' object has no attribute 'idle' -2025-11-26 21:37:29,343 [ERROR] app: Error in bot polling: 'Updater' object has no attribute 'idle' -Traceback (most recent call last): - File "D:\Code\iDRAC_Info\idrac_info\telegram_bot_service.py", line 161, in start_bot_polling - await application.updater.idle() - ^^^^^^^^^^^^^^^^^^^^^^^^ -AttributeError: 'Updater' object has no attribute 'idle' -2025-11-26 21:37:29,346 [ERROR] telegram_bot_service: Fatal error in bot polling: 'Updater' object has no attribute 'idle' -2025-11-26 21:37:29,582 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:37:29,582 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:37:36,593 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:37:46,824 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:37:50,245 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:37:50] "GET /home/ HTTP/1.1" 200 - -2025-11-26 21:37:50,291 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:37:50] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:37:50,360 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:37:50] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-26 21:37:50,996 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:37:50] "GET /home/ HTTP/1.1" 200 - -2025-11-26 21:37:51,013 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:37:51] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:37:51,034 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:37:51] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-26 21:37:55,049 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:37:55] "GET /home/ HTTP/1.1" 200 - -2025-11-26 21:37:55,063 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:37:55] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:37:56,062 [INFO] app: LOGOUT: user=김강희 -2025-11-26 21:37:56,062 [INFO] app: LOGOUT: user=김강희 -2025-11-26 21:37:56,064 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:37:56] "GET /logout HTTP/1.1" 302 - -2025-11-26 21:37:56,069 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:37:56] "GET /login HTTP/1.1" 200 - -2025-11-26 21:37:56,084 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:37:56] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:37:57,053 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:37:57,365 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 21:38:00,281 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:38:00,282 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:38:04,526 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:38:04,527 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:38:06,100 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:38:06] "GET /register HTTP/1.1" 200 - -2025-11-26 21:38:06,114 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:38:06] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:38:11,526 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:38:21,755 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:38:23,944 [INFO] app: REGISTER: created id=3 email=test@test.com token=1rKvuJBzgg -2025-11-26 21:38:23,944 [INFO] app: REGISTER: created id=3 email=test@test.com token=1rKvuJBzgg -2025-11-26 21:38:23,945 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:38:23] "POST /register HTTP/1.1" 302 - -2025-11-26 21:38:23,949 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:38:23] "GET /login HTTP/1.1" 200 - -2025-11-26 21:38:23,967 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:38:23] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:38:25,199 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 21:38:27,165 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:38:28,028 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/answerCallbackQuery "HTTP/1.1 200 OK" -2025-11-26 21:38:28,028 [INFO] telegram_bot_service: Received callback: approve_1rKvuJBzggmYvK4e-RV7swBXdbQZ2pfX-UrUmN191Vo -2025-11-26 21:38:28,445 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/editMessageText "HTTP/1.1 200 OK" -2025-11-26 21:38:28,445 [INFO] telegram_bot_service: User 테스트 approved -2025-11-26 21:38:35,238 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:38:35,238 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:38:39,476 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:38:39,476 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:38:44,341 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-26 21:38:44,341 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-26 21:38:44,393 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-11-26 21:38:44,393 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-11-26 21:38:44,394 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-26 21:38:44,394 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-26 21:38:44,395 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:38:44] "POST /login HTTP/1.1" 302 - -2025-11-26 21:38:44,417 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:38:44] "GET /index HTTP/1.1" 200 - -2025-11-26 21:38:44,439 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:38:44] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:38:44,441 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:38:44] "GET /static/script.js HTTP/1.1" 304 - -2025-11-26 21:38:45,645 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 21:38:46,475 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:38:46,872 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:38:46] "GET /admin HTTP/1.1" 200 - -2025-11-26 21:38:46,886 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:38:46] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:38:51,095 [INFO] root: 🗑 삭제된 사용자: 테스트 (id=3) -2025-11-26 21:38:51,096 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:38:51] "GET /admin/delete/3 HTTP/1.1" 302 - -2025-11-26 21:38:51,100 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:38:51] "GET /admin HTTP/1.1" 200 - -2025-11-26 21:38:51,118 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:38:51] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:38:56,705 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:39:06,935 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:39:10,172 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:39:10,172 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:39:14,406 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:39:14,406 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:39:21,404 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:39:31,637 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:39:41,868 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:39:45,101 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:39:45,102 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:39:49,357 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:39:49,358 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:39:56,355 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:40:06,586 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:40:16,816 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:40:20,062 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:40:20,062 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:40:24,299 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:40:24,300 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:40:27,133 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\telegram_bot_service.py', reloading -2025-11-26 21:40:27,133 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\telegram_bot_service.py', reloading -2025-11-26 21:40:27,134 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\telegram_bot_service.py', reloading -2025-11-26 21:40:27,134 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\telegram_bot_service.py', reloading -2025-11-26 21:40:27,134 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\telegram_bot_service.py', reloading -2025-11-26 21:40:27,134 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\telegram_bot_service.py', reloading -2025-11-26 21:40:27,757 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 21:40:27,921 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 21:40:28,185 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 21:40:28,572 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:40:28,607 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:40:28,607 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:40:28,632 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:40:28,648 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-26 21:40:28,648 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-26 21:40:28,650 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:40:28,650 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:40:28,655 [WARNING] werkzeug: * Debugger is active! -2025-11-26 21:40:28,657 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 21:40:28,731 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:40:28,753 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:40:28,753 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:40:28,779 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:40:28,790 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-26 21:40:28,790 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-26 21:40:28,793 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:40:28,793 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:40:28,799 [WARNING] werkzeug: * Debugger is active! -2025-11-26 21:40:28,804 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 21:40:29,018 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:40:29,042 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:40:29,042 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:40:29,059 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:40:29,070 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-26 21:40:29,070 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-26 21:40:29,072 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:40:29,072 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:40:29,078 [WARNING] werkzeug: * Debugger is active! -2025-11-26 21:40:29,080 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 21:40:29,186 [INFO] werkzeug: * Detected change in 'D:\\Code\\imges_ocr\\venv312\\Lib\\site-packages\\telegram\\ext\\_application.py', reloading -2025-11-26 21:40:29,186 [INFO] werkzeug: * Detected change in 'D:\\Code\\imges_ocr\\venv312\\Lib\\site-packages\\telegram\\ext\\_application.py', reloading -2025-11-26 21:40:29,195 [INFO] werkzeug: * Detected change in 'C:\\Users\\KIM84\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\asyncio\\proactor_events.py', reloading -2025-11-26 21:40:29,205 [INFO] werkzeug: * Detected change in 'C:\\Users\\KIM84\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\asyncio\\base_events.py', reloading -2025-11-26 21:40:29,205 [INFO] werkzeug: * Detected change in 'C:\\Users\\KIM84\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\asyncio\\base_events.py', reloading -2025-11-26 21:40:29,173 [ERROR] app: Error in bot polling: Cannot close a running event loop -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1054, in __run - loop.run_until_complete(self._bootstrap_initialize(max_retries=bootstrap_retries)) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1079, in __run - loop.run_until_complete(self.shutdown()) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\iDRAC_Info\idrac_info\telegram_bot_service.py", line 155, in start_bot_polling - await application.run_polling(drop_pending_updates=True) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 839, in run_polling - return self.__run( - ^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1084, in __run - loop.close() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\proactor_events.py", line 687, in close - raise RuntimeError("Cannot close a running event loop") -RuntimeError: Cannot close a running event loop -2025-11-26 21:40:29,186 [INFO] werkzeug: * Detected change in 'D:\\Code\\imges_ocr\\venv312\\Lib\\site-packages\\telegram\\ext\\_application.py', reloading -2025-11-26 21:40:29,173 [ERROR] app: Error in bot polling: Cannot close a running event loop -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1054, in __run - loop.run_until_complete(self._bootstrap_initialize(max_retries=bootstrap_retries)) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1079, in __run - loop.run_until_complete(self.shutdown()) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\iDRAC_Info\idrac_info\telegram_bot_service.py", line 155, in start_bot_polling - await application.run_polling(drop_pending_updates=True) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 839, in run_polling - return self.__run( - ^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1084, in __run - loop.close() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\proactor_events.py", line 687, in close - raise RuntimeError("Cannot close a running event loop") -RuntimeError: Cannot close a running event loop -2025-11-26 21:40:29,205 [INFO] werkzeug: * Detected change in 'C:\\Users\\KIM84\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\asyncio\\proactor_events.py', reloading -2025-11-26 21:40:29,206 [INFO] werkzeug: * Detected change in 'C:\\Users\\KIM84\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\asyncio\\base_events.py', reloading -2025-11-26 21:40:29,206 [ERROR] telegram_bot_service: Fatal error in bot polling: Cannot close a running event loop -2025-11-26 21:40:29,361 [ERROR] app: Error in bot polling: Cannot close a running event loop -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1054, in __run - loop.run_until_complete(self._bootstrap_initialize(max_retries=bootstrap_retries)) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1079, in __run - loop.run_until_complete(self.shutdown()) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\iDRAC_Info\idrac_info\telegram_bot_service.py", line 155, in start_bot_polling - await application.run_polling(drop_pending_updates=True) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 839, in run_polling - return self.__run( - ^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1084, in __run - loop.close() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\proactor_events.py", line 687, in close - raise RuntimeError("Cannot close a running event loop") -RuntimeError: Cannot close a running event loop -2025-11-26 21:40:29,361 [ERROR] app: Error in bot polling: Cannot close a running event loop -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1054, in __run - loop.run_until_complete(self._bootstrap_initialize(max_retries=bootstrap_retries)) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1079, in __run - loop.run_until_complete(self.shutdown()) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\iDRAC_Info\idrac_info\telegram_bot_service.py", line 155, in start_bot_polling - await application.run_polling(drop_pending_updates=True) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 839, in run_polling - return self.__run( - ^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1084, in __run - loop.close() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\proactor_events.py", line 687, in close - raise RuntimeError("Cannot close a running event loop") -RuntimeError: Cannot close a running event loop -2025-11-26 21:40:29,364 [ERROR] telegram_bot_service: Fatal error in bot polling: Cannot close a running event loop -2025-11-26 21:40:29,543 [ERROR] app: Error in bot polling: Cannot close a running event loop -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1054, in __run - loop.run_until_complete(self._bootstrap_initialize(max_retries=bootstrap_retries)) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1079, in __run - loop.run_until_complete(self.shutdown()) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\iDRAC_Info\idrac_info\telegram_bot_service.py", line 155, in start_bot_polling - await application.run_polling(drop_pending_updates=True) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 839, in run_polling - return self.__run( - ^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1084, in __run - loop.close() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\proactor_events.py", line 687, in close - raise RuntimeError("Cannot close a running event loop") -RuntimeError: Cannot close a running event loop -2025-11-26 21:40:29,543 [ERROR] app: Error in bot polling: Cannot close a running event loop -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1054, in __run - loop.run_until_complete(self._bootstrap_initialize(max_retries=bootstrap_retries)) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1079, in __run - loop.run_until_complete(self.shutdown()) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\iDRAC_Info\idrac_info\telegram_bot_service.py", line 155, in start_bot_polling - await application.run_polling(drop_pending_updates=True) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 839, in run_polling - return self.__run( - ^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1084, in __run - loop.close() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\proactor_events.py", line 687, in close - raise RuntimeError("Cannot close a running event loop") -RuntimeError: Cannot close a running event loop -2025-11-26 21:40:29,546 [ERROR] telegram_bot_service: Fatal error in bot polling: Cannot close a running event loop -2025-11-26 21:40:29,778 [INFO] werkzeug: * Detected change in 'C:\\Users\\KIM84\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\tracemalloc.py', reloading -2025-11-26 21:40:29,864 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 21:40:30,016 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 21:40:30,298 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 21:40:30,665 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:40:30,686 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:40:30,686 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:40:30,702 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:40:30,712 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-26 21:40:30,712 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-26 21:40:30,714 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:40:30,714 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:40:30,718 [WARNING] werkzeug: * Debugger is active! -2025-11-26 21:40:30,721 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 21:40:30,801 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:40:30,820 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:40:30,820 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:40:30,836 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:40:30,847 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-26 21:40:30,847 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-26 21:40:30,848 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:40:30,848 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:40:30,853 [WARNING] werkzeug: * Debugger is active! -2025-11-26 21:40:30,855 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 21:40:31,058 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:40:31,077 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:40:31,077 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:40:31,093 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:40:31,104 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-26 21:40:31,104 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-26 21:40:31,107 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:40:31,107 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:40:31,112 [WARNING] werkzeug: * Debugger is active! -2025-11-26 21:40:31,114 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 21:40:31,201 [ERROR] app: Error in bot polling: Cannot close a running event loop -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1054, in __run - loop.run_until_complete(self._bootstrap_initialize(max_retries=bootstrap_retries)) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1079, in __run - loop.run_until_complete(self.shutdown()) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\iDRAC_Info\idrac_info\telegram_bot_service.py", line 155, in start_bot_polling - await application.run_polling(drop_pending_updates=True) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 839, in run_polling - return self.__run( - ^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1084, in __run - loop.close() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\proactor_events.py", line 687, in close - raise RuntimeError("Cannot close a running event loop") -RuntimeError: Cannot close a running event loop -2025-11-26 21:40:31,201 [ERROR] app: Error in bot polling: Cannot close a running event loop -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1054, in __run - loop.run_until_complete(self._bootstrap_initialize(max_retries=bootstrap_retries)) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1079, in __run - loop.run_until_complete(self.shutdown()) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\iDRAC_Info\idrac_info\telegram_bot_service.py", line 155, in start_bot_polling - await application.run_polling(drop_pending_updates=True) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 839, in run_polling - return self.__run( - ^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1084, in __run - loop.close() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\proactor_events.py", line 687, in close - raise RuntimeError("Cannot close a running event loop") -RuntimeError: Cannot close a running event loop -2025-11-26 21:40:31,204 [ERROR] telegram_bot_service: Fatal error in bot polling: Cannot close a running event loop -2025-11-26 21:40:31,299 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:40:31,386 [ERROR] app: Error in bot polling: Cannot close a running event loop -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1054, in __run - loop.run_until_complete(self._bootstrap_initialize(max_retries=bootstrap_retries)) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1079, in __run - loop.run_until_complete(self.shutdown()) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\iDRAC_Info\idrac_info\telegram_bot_service.py", line 155, in start_bot_polling - await application.run_polling(drop_pending_updates=True) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 839, in run_polling - return self.__run( - ^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1084, in __run - loop.close() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\proactor_events.py", line 687, in close - raise RuntimeError("Cannot close a running event loop") -RuntimeError: Cannot close a running event loop -2025-11-26 21:40:31,386 [ERROR] app: Error in bot polling: Cannot close a running event loop -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1054, in __run - loop.run_until_complete(self._bootstrap_initialize(max_retries=bootstrap_retries)) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1079, in __run - loop.run_until_complete(self.shutdown()) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\iDRAC_Info\idrac_info\telegram_bot_service.py", line 155, in start_bot_polling - await application.run_polling(drop_pending_updates=True) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 839, in run_polling - return self.__run( - ^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1084, in __run - loop.close() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\proactor_events.py", line 687, in close - raise RuntimeError("Cannot close a running event loop") -RuntimeError: Cannot close a running event loop -2025-11-26 21:40:31,388 [ERROR] telegram_bot_service: Fatal error in bot polling: Cannot close a running event loop -2025-11-26 21:40:31,564 [ERROR] app: Error in bot polling: Cannot close a running event loop -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1054, in __run - loop.run_until_complete(self._bootstrap_initialize(max_retries=bootstrap_retries)) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1079, in __run - loop.run_until_complete(self.shutdown()) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\iDRAC_Info\idrac_info\telegram_bot_service.py", line 155, in start_bot_polling - await application.run_polling(drop_pending_updates=True) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 839, in run_polling - return self.__run( - ^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1084, in __run - loop.close() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\proactor_events.py", line 687, in close - raise RuntimeError("Cannot close a running event loop") -RuntimeError: Cannot close a running event loop -2025-11-26 21:40:31,564 [ERROR] app: Error in bot polling: Cannot close a running event loop -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1054, in __run - loop.run_until_complete(self._bootstrap_initialize(max_retries=bootstrap_retries)) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1079, in __run - loop.run_until_complete(self.shutdown()) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\iDRAC_Info\idrac_info\telegram_bot_service.py", line 155, in start_bot_polling - await application.run_polling(drop_pending_updates=True) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 839, in run_polling - return self.__run( - ^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1084, in __run - loop.close() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\proactor_events.py", line 687, in close - raise RuntimeError("Cannot close a running event loop") -RuntimeError: Cannot close a running event loop -2025-11-26 21:40:31,567 [ERROR] telegram_bot_service: Fatal error in bot polling: Cannot close a running event loop -2025-11-26 21:40:41,529 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:40:45,643 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:40:45,663 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:40:45,663 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:40:45,680 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:40:45,703 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-26 21:40:45,704 [INFO] werkzeug: Press CTRL+C to quit -2025-11-26 21:40:45,704 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 21:40:46,393 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:40:46,413 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:40:46,413 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:40:46,430 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:40:46,440 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-26 21:40:46,440 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-26 21:40:46,442 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:40:46,442 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:40:46,446 [WARNING] werkzeug: * Debugger is active! -2025-11-26 21:40:46,449 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 21:40:46,831 [ERROR] app: Error in bot polling: Cannot close a running event loop -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1054, in __run - loop.run_until_complete(self._bootstrap_initialize(max_retries=bootstrap_retries)) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1079, in __run - loop.run_until_complete(self.shutdown()) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\iDRAC_Info\idrac_info\telegram_bot_service.py", line 155, in start_bot_polling - await application.run_polling(drop_pending_updates=True) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 839, in run_polling - return self.__run( - ^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1084, in __run - loop.close() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\proactor_events.py", line 687, in close - raise RuntimeError("Cannot close a running event loop") -RuntimeError: Cannot close a running event loop -2025-11-26 21:40:46,831 [ERROR] app: Error in bot polling: Cannot close a running event loop -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1054, in __run - loop.run_until_complete(self._bootstrap_initialize(max_retries=bootstrap_retries)) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1079, in __run - loop.run_until_complete(self.shutdown()) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\iDRAC_Info\idrac_info\telegram_bot_service.py", line 155, in start_bot_polling - await application.run_polling(drop_pending_updates=True) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 839, in run_polling - return self.__run( - ^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1084, in __run - loop.close() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\proactor_events.py", line 687, in close - raise RuntimeError("Cannot close a running event loop") -RuntimeError: Cannot close a running event loop -2025-11-26 21:40:46,834 [ERROR] telegram_bot_service: Fatal error in bot polling: Cannot close a running event loop -2025-11-26 21:40:51,759 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:40:54,975 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:40:54,975 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:40:59,224 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:40:59,224 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:41:06,224 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:41:16,454 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:41:26,685 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:41:29,906 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:41:29,906 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:41:34,141 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:41:34,141 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:41:41,140 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:41:51,370 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:42:01,601 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:42:04,856 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:42:04,856 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:42:09,104 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:42:09,105 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:42:16,095 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:42:26,325 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:42:27,565 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\app.py', reloading -2025-11-26 21:42:27,566 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\app.py', reloading -2025-11-26 21:42:27,566 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\app.py', reloading -2025-11-26 21:42:27,567 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\app.py', reloading -2025-11-26 21:42:27,567 [INFO] werkzeug: * Detected change in 'D:\\Code\\iDRAC_Info\\idrac_info\\app.py', reloading -2025-11-26 21:42:27,767 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 21:42:27,898 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 21:42:28,256 [INFO] werkzeug: * Restarting with watchdog (windowsapi) -2025-11-26 21:42:28,565 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:42:28,586 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:42:28,586 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:42:28,603 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:42:28,615 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-26 21:42:28,615 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-26 21:42:28,617 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:42:28,617 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:42:28,623 [WARNING] werkzeug: * Debugger is active! -2025-11-26 21:42:28,625 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 21:42:28,687 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:42:28,707 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:42:28,707 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:42:28,724 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:42:28,735 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-26 21:42:28,735 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-26 21:42:28,737 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:42:28,737 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:42:28,741 [WARNING] werkzeug: * Debugger is active! -2025-11-26 21:42:28,744 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 21:42:29,022 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:42:29,043 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:42:29,043 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:42:29,059 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:42:29,070 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-26 21:42:29,070 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-26 21:42:29,072 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:42:29,072 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-26 21:42:29,076 [WARNING] werkzeug: * Debugger is active! -2025-11-26 21:42:29,078 [INFO] werkzeug: * Debugger PIN: 778-054-746 -2025-11-26 21:42:29,103 [ERROR] app: Error in bot polling: Cannot close a running event loop -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1054, in __run - loop.run_until_complete(self._bootstrap_initialize(max_retries=bootstrap_retries)) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1079, in __run - loop.run_until_complete(self.shutdown()) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\iDRAC_Info\idrac_info\telegram_bot_service.py", line 155, in start_bot_polling - await application.run_polling(drop_pending_updates=True) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 839, in run_polling - return self.__run( - ^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1084, in __run - loop.close() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\proactor_events.py", line 687, in close - raise RuntimeError("Cannot close a running event loop") -RuntimeError: Cannot close a running event loop -2025-11-26 21:42:29,103 [ERROR] app: Error in bot polling: Cannot close a running event loop -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1054, in __run - loop.run_until_complete(self._bootstrap_initialize(max_retries=bootstrap_retries)) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1079, in __run - loop.run_until_complete(self.shutdown()) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\iDRAC_Info\idrac_info\telegram_bot_service.py", line 155, in start_bot_polling - await application.run_polling(drop_pending_updates=True) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 839, in run_polling - return self.__run( - ^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1084, in __run - loop.close() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\proactor_events.py", line 687, in close - raise RuntimeError("Cannot close a running event loop") -RuntimeError: Cannot close a running event loop -2025-11-26 21:42:29,105 [ERROR] telegram_bot_service: Fatal error in bot polling: Cannot close a running event loop -2025-11-26 21:42:29,249 [ERROR] app: Error in bot polling: Cannot close a running event loop -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1054, in __run - loop.run_until_complete(self._bootstrap_initialize(max_retries=bootstrap_retries)) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1079, in __run - loop.run_until_complete(self.shutdown()) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\iDRAC_Info\idrac_info\telegram_bot_service.py", line 155, in start_bot_polling - await application.run_polling(drop_pending_updates=True) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 839, in run_polling - return self.__run( - ^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1084, in __run - loop.close() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\proactor_events.py", line 687, in close - raise RuntimeError("Cannot close a running event loop") -RuntimeError: Cannot close a running event loop -2025-11-26 21:42:29,249 [ERROR] app: Error in bot polling: Cannot close a running event loop -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1054, in __run - loop.run_until_complete(self._bootstrap_initialize(max_retries=bootstrap_retries)) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1079, in __run - loop.run_until_complete(self.shutdown()) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\iDRAC_Info\idrac_info\telegram_bot_service.py", line 155, in start_bot_polling - await application.run_polling(drop_pending_updates=True) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 839, in run_polling - return self.__run( - ^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1084, in __run - loop.close() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\proactor_events.py", line 687, in close - raise RuntimeError("Cannot close a running event loop") -RuntimeError: Cannot close a running event loop -2025-11-26 21:42:29,251 [ERROR] telegram_bot_service: Fatal error in bot polling: Cannot close a running event loop -2025-11-26 21:42:29,511 [ERROR] app: Error in bot polling: Cannot close a running event loop -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1054, in __run - loop.run_until_complete(self._bootstrap_initialize(max_retries=bootstrap_retries)) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1079, in __run - loop.run_until_complete(self.shutdown()) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\iDRAC_Info\idrac_info\telegram_bot_service.py", line 155, in start_bot_polling - await application.run_polling(drop_pending_updates=True) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 839, in run_polling - return self.__run( - ^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1084, in __run - loop.close() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\proactor_events.py", line 687, in close - raise RuntimeError("Cannot close a running event loop") -RuntimeError: Cannot close a running event loop -2025-11-26 21:42:29,511 [ERROR] app: Error in bot polling: Cannot close a running event loop -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1054, in __run - loop.run_until_complete(self._bootstrap_initialize(max_retries=bootstrap_retries)) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1079, in __run - loop.run_until_complete(self.shutdown()) - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 663, in run_until_complete - self._check_running() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 622, in _check_running - raise RuntimeError('This event loop is already running') -RuntimeError: This event loop is already running - -During handling of the above exception, another exception occurred: - -Traceback (most recent call last): - File "D:\Code\iDRAC_Info\idrac_info\telegram_bot_service.py", line 155, in start_bot_polling - await application.run_polling(drop_pending_updates=True) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 839, in run_polling - return self.__run( - ^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_application.py", line 1084, in __run - loop.close() - File "C:\Users\KIM84\AppData\Local\Programs\Python\Python312\Lib\asyncio\proactor_events.py", line 687, in close - raise RuntimeError("Cannot close a running event loop") -RuntimeError: Cannot close a running event loop -2025-11-26 21:42:29,514 [ERROR] telegram_bot_service: Fatal error in bot polling: Cannot close a running event loop -2025-11-26 21:42:31,597 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:42:31,619 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:42:31,619 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:42:31,636 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:42:31,656 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-26 21:42:31,656 [INFO] werkzeug: Press CTRL+C to quit -2025-11-26 21:42:36,556 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:42:39,803 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:42:39,804 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:42:44,036 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:42:44,037 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:42:51,037 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:43:00,357 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:00] "GET /admin HTTP/1.1" 200 - -2025-11-26 21:43:00,398 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:00] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:43:00,408 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:00] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-26 21:43:00,889 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:00] "GET /admin HTTP/1.1" 200 - -2025-11-26 21:43:00,906 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:00] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:43:00,925 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:00] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-26 21:43:01,047 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:01] "GET /admin HTTP/1.1" 200 - -2025-11-26 21:43:01,062 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:01] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:43:01,082 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:01] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-26 21:43:01,267 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:43:01,775 [INFO] app: LOGOUT: user=김강희 -2025-11-26 21:43:01,775 [INFO] app: LOGOUT: user=김강희 -2025-11-26 21:43:01,776 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:01] "GET /logout HTTP/1.1" 302 - -2025-11-26 21:43:01,780 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:01] "GET /login HTTP/1.1" 200 - -2025-11-26 21:43:01,793 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:01] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:43:03,065 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 21:43:06,532 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:06] "GET /register HTTP/1.1" 200 - -2025-11-26 21:43:06,544 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:06] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:43:11,497 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:43:14,738 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:43:14,738 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:43:18,964 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:43:18,965 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:43:23,285 [INFO] app: REGISTER: created id=3 email=test@test.com token=tKD9Jwq7Fe -2025-11-26 21:43:23,285 [INFO] app: REGISTER: created id=3 email=test@test.com token=tKD9Jwq7Fe -2025-11-26 21:43:23,286 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:23] "POST /register HTTP/1.1" 302 - -2025-11-26 21:43:23,289 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:23] "GET /login HTTP/1.1" 200 - -2025-11-26 21:43:23,306 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:23] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:43:24,503 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 21:43:25,965 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:43:32,021 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:43:32,890 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/answerCallbackQuery "HTTP/1.1 200 OK" -2025-11-26 21:43:32,890 [INFO] telegram_bot_service: Received callback: approve_tKD9Jwq7FeX4SIYfvJpLpnDYjxcuoHjukLCTLCWPDf0 -2025-11-26 21:43:33,312 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/editMessageText "HTTP/1.1 200 OK" -2025-11-26 21:43:33,313 [INFO] telegram_bot_service: User 테스트 approved -2025-11-26 21:43:42,252 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:43:43,565 [INFO] app: LOGIN: form ok email=test@test.com -2025-11-26 21:43:43,565 [INFO] app: LOGIN: form ok email=test@test.com -2025-11-26 21:43:43,613 [INFO] app: LOGIN: found id=3 active=True approved=True pass_ok=True -2025-11-26 21:43:43,613 [INFO] app: LOGIN: found id=3 active=True approved=True pass_ok=True -2025-11-26 21:43:43,614 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-26 21:43:43,614 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-26 21:43:43,615 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:43] "POST /login HTTP/1.1" 302 - -2025-11-26 21:43:43,629 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:43] "GET /index HTTP/1.1" 200 - -2025-11-26 21:43:43,649 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:43] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:43:43,651 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:43] "GET /static/script.js HTTP/1.1" 304 - -2025-11-26 21:43:44,894 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 21:43:48,112 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:48] "GET /jobs HTTP/1.1" 200 - -2025-11-26 21:43:48,126 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:48] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:43:48,135 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:48] "GET /jobs/config HTTP/1.1" 200 - -2025-11-26 21:43:48,148 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-11-26 21:43:48,149 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:48] "GET /jobs/iplist HTTP/1.1" 200 - -2025-11-26 21:43:49,329 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:49] "GET /xml_management HTTP/1.1" 200 - -2025-11-26 21:43:49,341 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:49] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:43:49,666 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:43:49,666 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:43:49,920 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:49] "GET /xml_management HTTP/1.1" 200 - -2025-11-26 21:43:49,933 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:49] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:43:50,421 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:50] "GET /index HTTP/1.1" 200 - -2025-11-26 21:43:50,434 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:50] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:43:50,437 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:50] "GET /static/script.js HTTP/1.1" 304 - -2025-11-26 21:43:51,222 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:51] "GET /xml_management HTTP/1.1" 200 - -2025-11-26 21:43:51,237 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:51] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:43:51,514 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:51] "GET /jobs HTTP/1.1" 200 - -2025-11-26 21:43:51,529 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:51] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:43:51,536 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:51] "GET /jobs/config HTTP/1.1" 200 - -2025-11-26 21:43:51,549 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-11-26 21:43:51,550 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:51] "GET /jobs/iplist HTTP/1.1" 200 - -2025-11-26 21:43:52,346 [INFO] app: LOGOUT: user=테스트 -2025-11-26 21:43:52,346 [INFO] app: LOGOUT: user=테스트 -2025-11-26 21:43:52,348 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:52] "GET /logout HTTP/1.1" 302 - -2025-11-26 21:43:52,350 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:52] "GET /login HTTP/1.1" 200 - -2025-11-26 21:43:52,363 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:43:52] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:43:53,562 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 21:43:53,915 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:43:53,915 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:44:00,913 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:44:03,829 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-26 21:44:03,829 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-26 21:44:03,877 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-11-26 21:44:03,877 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-11-26 21:44:03,878 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-26 21:44:03,878 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-26 21:44:03,879 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:44:03] "POST /login HTTP/1.1" 302 - -2025-11-26 21:44:03,884 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:44:03] "GET /index HTTP/1.1" 200 - -2025-11-26 21:44:03,903 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:44:03] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:44:03,904 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:44:03] "GET /static/script.js HTTP/1.1" 304 - -2025-11-26 21:44:05,158 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-26 21:44:05,405 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:44:05] "GET /admin HTTP/1.1" 200 - -2025-11-26 21:44:05,420 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:44:05] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:44:07,659 [INFO] root: 🗑 삭제된 사용자: 테스트 (id=3) -2025-11-26 21:44:07,659 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:44:07] "GET /admin/delete/3 HTTP/1.1" 302 - -2025-11-26 21:44:07,664 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:44:07] "GET /admin HTTP/1.1" 200 - -2025-11-26 21:44:07,681 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:44:07] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:44:11,145 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:44:21,375 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:44:24,618 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:44:24,618 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:44:28,870 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:44:28,871 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:44:35,864 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:44:39,321 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:44:39,341 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:44:39,341 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:44:39,359 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:44:39,382 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-26 21:44:39,383 [INFO] werkzeug: Press CTRL+C to quit -2025-11-26 21:44:46,094 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:44:56,324 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:44:56,381 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:44:56] "GET /admin HTTP/1.1" 200 - -2025-11-26 21:44:56,398 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:44:56] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:44:56,412 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:44:56] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-26 21:44:56,956 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:44:56] "GET /admin HTTP/1.1" 200 - -2025-11-26 21:44:56,972 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:44:56] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:44:56,993 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:44:56] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-26 21:44:57,130 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:44:57] "GET /admin HTTP/1.1" 200 - -2025-11-26 21:44:57,144 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:44:57] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:44:57,167 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:44:57] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-26 21:44:57,755 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:44:57] "GET /home/ HTTP/1.1" 200 - -2025-11-26 21:44:57,769 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:44:57] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:44:58,864 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:44:58] "GET /admin HTTP/1.1" 200 - -2025-11-26 21:44:58,880 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:44:58] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:44:59,583 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:44:59,583 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:45:00,724 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:45:00] "GET /admin/settings HTTP/1.1" 200 - -2025-11-26 21:45:00,738 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:45:00] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:45:03,818 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:45:03,819 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:45:10,817 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:45:21,047 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:45:31,277 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:45:34,516 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:45:34,516 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:45:38,767 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:45:38,767 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:45:45,765 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:45:55,996 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:46:02,577 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:46:02] "GET /home/ HTTP/1.1" 200 - -2025-11-26 21:46:02,593 [INFO] werkzeug: 127.0.0.1 - - [26/Nov/2025 21:46:02] "GET /static/style.css HTTP/1.1" 304 - -2025-11-26 21:46:06,225 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:46:09,459 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:46:09,459 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:46:13,676 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:46:13,677 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:46:20,675 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:46:30,906 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:46:41,135 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:46:44,365 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:46:44,365 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:46:48,618 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 409 Conflict" -2025-11-26 21:46:48,618 [ERROR] telegram.ext.Updater: Exception happened while polling for updates. -Traceback (most recent call last): - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "D:\Code\imges_ocr\venv312\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-11-26 21:46:55,615 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-26 21:47:07,685 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-26 21:47:07,705 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:47:07,705 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-26 21:47:07,722 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-26 21:47:07,744 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-26 21:47:07,744 [INFO] werkzeug: Press CTRL+C to quit diff --git a/data/logs/2025-11-27.log b/data/logs/2025-11-27.log deleted file mode 100644 index 9b9b966..0000000 --- a/data/logs/2025-11-27.log +++ /dev/null @@ -1,557 +0,0 @@ -2025-11-27 18:53:56,188 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-27 18:53:56,211 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-27 18:53:56,211 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-27 18:53:56,236 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-27 18:53:56,270 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-27 18:53:56,270 [INFO] werkzeug: Press CTRL+C to quit -2025-11-27 18:54:04,239 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 18:54:04] "GET / HTTP/1.1" 302 - -2025-11-27 18:54:04,265 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 18:54:04] "GET /login?next=/ HTTP/1.1" 200 - -2025-11-27 18:54:04,330 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 18:54:04] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 18:54:16,632 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-27 18:54:16,632 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-27 18:54:16,702 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-11-27 18:54:16,702 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-11-27 18:54:16,704 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-27 18:54:16,704 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-27 18:54:16,704 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 18:54:16] "POST /login HTTP/1.1" 302 - -2025-11-27 18:54:16,720 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 18:54:16] "GET /index HTTP/1.1" 200 - -2025-11-27 18:54:16,741 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 18:54:16] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 18:54:16,753 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 18:54:16] "GET /static/script.js HTTP/1.1" 304 - -2025-11-27 18:54:18,104 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-27 18:54:24,104 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 18:54:24] "GET /admin HTTP/1.1" 200 - -2025-11-27 18:54:24,119 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 18:54:24] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 18:54:25,237 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 18:54:25] "GET /admin/settings HTTP/1.1" 200 - -2025-11-27 18:54:25,251 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 18:54:25] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 18:54:37,033 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 18:54:37] "GET /home/ HTTP/1.1" 200 - -2025-11-27 18:54:37,047 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 18:54:37] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 18:54:38,345 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 18:54:38] "GET /admin HTTP/1.1" 200 - -2025-11-27 18:54:38,357 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 18:54:38] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 18:54:45,869 [INFO] app: LOGOUT: user=김강희 -2025-11-27 18:54:45,869 [INFO] app: LOGOUT: user=김강희 -2025-11-27 18:54:45,872 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 18:54:45] "GET /logout HTTP/1.1" 302 - -2025-11-27 18:54:45,877 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 18:54:45] "GET /login HTTP/1.1" 200 - -2025-11-27 18:54:45,899 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 18:54:45] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 18:54:47,218 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-27 19:49:49,532 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-27 19:49:49,554 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-27 19:49:49,554 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-27 19:49:49,571 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-27 19:49:49,593 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-27 19:49:49,593 [INFO] werkzeug: Press CTRL+C to quit -2025-11-27 19:49:52,485 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:49:52] "GET / HTTP/1.1" 302 - -2025-11-27 19:49:52,496 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:49:52] "GET /login?next=/ HTTP/1.1" 200 - -2025-11-27 19:49:52,544 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:49:52] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 19:50:00,494 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-27 19:50:00,494 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-27 19:50:00,549 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-11-27 19:50:00,549 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-11-27 19:50:00,550 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-27 19:50:00,550 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-27 19:50:00,551 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:50:00] "POST /login HTTP/1.1" 302 - -2025-11-27 19:50:00,571 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:50:00] "GET /index HTTP/1.1" 200 - -2025-11-27 19:50:00,590 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:50:00] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 19:50:00,591 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:50:00] "GET /static/script.js HTTP/1.1" 304 - -2025-11-27 19:50:01,888 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-27 19:50:03,009 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:50:03] "GET /admin HTTP/1.1" 200 - -2025-11-27 19:50:03,022 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:50:03] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 19:50:04,715 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:50:04] "GET /admin/settings HTTP/1.1" 200 - -2025-11-27 19:50:04,727 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:50:04] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 19:50:06,249 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:50:06] "GET /jobs HTTP/1.1" 200 - -2025-11-27 19:50:06,263 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:50:06] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 19:50:06,276 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:50:06] "GET /jobs/config HTTP/1.1" 200 - -2025-11-27 19:50:06,292 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-11-27 19:50:06,292 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:50:06] "GET /jobs/iplist HTTP/1.1" 200 - -2025-11-27 19:50:06,939 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:50:06] "GET /xml_management HTTP/1.1" 200 - -2025-11-27 19:50:06,952 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:50:06] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 19:50:06,956 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:50:06] "GET /static/css/scp.css HTTP/1.1" 200 - -2025-11-27 19:50:06,956 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:50:06] "GET /static/js/scp.js HTTP/1.1" 200 - -2025-11-27 19:50:22,779 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:50:22] "GET /scp/diff?file1=LinePlus_T1.xml&file2=PO-20250826-0158%20_가산3_XE9680_384EA.xml HTTP/1.1" 200 - -2025-11-27 19:50:22,795 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:50:22] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 19:50:22,796 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:50:22] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-11-27 19:50:37,550 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:50:37] "GET /xml_management HTTP/1.1" 200 - -2025-11-27 19:50:37,576 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:50:37] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 19:50:37,577 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:50:37] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-11-27 19:50:37,578 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:50:37] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-11-27 19:50:46,123 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:50:46] "GET /edit_xml/LinePlus_T1.xml HTTP/1.1" 200 - -2025-11-27 19:50:46,138 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:50:46] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 19:50:49,706 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:50:49] "GET /xml_management HTTP/1.1" 200 - -2025-11-27 19:50:49,723 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:50:49] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 19:50:49,724 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:50:49] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-11-27 19:50:49,724 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:50:49] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-11-27 19:55:01,647 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:55:01] "GET /xml_management HTTP/1.1" 200 - -2025-11-27 19:55:01,665 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:55:01] "GET /static/style.css HTTP/1.1" 200 - -2025-11-27 19:55:01,669 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:55:01] "GET /static/css/scp.css HTTP/1.1" 200 - -2025-11-27 19:55:01,669 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:55:01] "GET /static/js/scp.js HTTP/1.1" 200 - -2025-11-27 19:55:01,718 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:55:01] "GET /static/favicon.ico HTTP/1.1" 200 - -2025-11-27 19:59:23,834 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:59:23] "GET /xml_management HTTP/1.1" 200 - -2025-11-27 19:59:23,858 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:59:23] "GET /static/style.css HTTP/1.1" 200 - -2025-11-27 19:59:23,859 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:59:23] "GET /static/css/scp.css HTTP/1.1" 200 - -2025-11-27 19:59:23,859 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:59:23] "GET /static/js/scp.js HTTP/1.1" 200 - -2025-11-27 19:59:23,891 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 19:59:23] "GET /static/favicon.ico HTTP/1.1" 200 - -2025-11-27 20:03:11,961 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:03:11] "GET /xml_management HTTP/1.1" 200 - -2025-11-27 20:03:11,984 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:03:11] "GET /static/style.css HTTP/1.1" 200 - -2025-11-27 20:03:11,986 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:03:11] "GET /static/css/scp.css HTTP/1.1" 200 - -2025-11-27 20:03:11,987 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:03:11] "GET /static/js/scp.js HTTP/1.1" 200 - -2025-11-27 20:03:12,018 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:03:12] "GET /static/favicon.ico HTTP/1.1" 200 - -2025-11-27 20:05:25,592 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:05:25] "GET /xml_management HTTP/1.1" 200 - -2025-11-27 20:05:25,617 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:05:25] "GET /static/style.css HTTP/1.1" 200 - -2025-11-27 20:05:25,618 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:05:25] "GET /static/css/scp.css HTTP/1.1" 200 - -2025-11-27 20:05:25,618 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:05:25] "GET /static/js/scp.js HTTP/1.1" 200 - -2025-11-27 20:05:25,650 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:05:25] "GET /static/favicon.ico HTTP/1.1" 200 - -2025-11-27 20:06:41,550 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:06:41] "GET /xml_management HTTP/1.1" 200 - -2025-11-27 20:06:41,572 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:06:41] "GET /static/style.css HTTP/1.1" 200 - -2025-11-27 20:06:41,573 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:06:41] "GET /static/css/scp.css HTTP/1.1" 200 - -2025-11-27 20:06:41,574 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:06:41] "GET /static/js/scp.js HTTP/1.1" 200 - -2025-11-27 20:06:41,660 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:06:41] "GET /static/favicon.ico HTTP/1.1" 200 - -2025-11-27 20:07:01,417 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:07:01] "GET /xml_management HTTP/1.1" 200 - -2025-11-27 20:07:01,437 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:07:01] "GET /static/css/scp.css HTTP/1.1" 200 - -2025-11-27 20:07:01,437 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:07:01] "GET /static/style.css HTTP/1.1" 200 - -2025-11-27 20:07:01,438 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:07:01] "GET /static/js/scp.js HTTP/1.1" 200 - -2025-11-27 20:07:01,466 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:07:01] "GET /static/favicon.ico HTTP/1.1" 200 - -2025-11-27 20:07:42,817 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:07:42] "GET /xml_management HTTP/1.1" 200 - -2025-11-27 20:07:42,837 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:07:42] "GET /static/style.css HTTP/1.1" 200 - -2025-11-27 20:07:42,838 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:07:42] "GET /static/css/scp.css HTTP/1.1" 200 - -2025-11-27 20:07:42,838 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:07:42] "GET /static/js/scp.js HTTP/1.1" 200 - -2025-11-27 20:07:42,872 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:07:42] "GET /static/favicon.ico HTTP/1.1" 200 - -2025-11-27 20:07:55,087 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-27 20:07:55,108 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-27 20:07:55,108 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-27 20:07:55,128 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-27 20:07:55,151 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-27 20:07:55,151 [INFO] werkzeug: Press CTRL+C to quit -2025-11-27 20:07:56,391 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:07:56] "GET /xml_management HTTP/1.1" 404 - -2025-11-27 20:07:56,422 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:07:56] "GET /favicon.ico HTTP/1.1" 404 - -2025-11-27 20:07:57,096 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:07:57] "GET /xml_management HTTP/1.1" 404 - -2025-11-27 20:07:58,679 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:07:58] "GET /xml_management HTTP/1.1" 404 - -2025-11-27 20:07:59,693 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:07:59] "GET /xml_management HTTP/1.1" 404 - -2025-11-27 20:08:03,545 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:08:03] "GET / HTTP/1.1" 500 - -2025-11-27 20:08:03,594 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:08:03] "GET /?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 304 - -2025-11-27 20:08:03,608 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:08:03] "GET /?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 304 - -2025-11-27 20:08:03,631 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:08:03] "GET /?__debugger__=yes&cmd=resource&f=console.png&s=KPmjd5URLBkm9fZIHKLS HTTP/1.1" 200 - -2025-11-27 20:08:03,638 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:08:03] "GET /?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 304 - -2025-11-27 20:08:05,565 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:08:05] "GET / HTTP/1.1" 500 - -2025-11-27 20:08:05,576 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:08:05] "GET /?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 304 - -2025-11-27 20:08:05,580 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:08:05] "GET /?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 304 - -2025-11-27 20:08:05,584 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:08:05] "GET /?__debugger__=yes&cmd=resource&f=console.png&s=KPmjd5URLBkm9fZIHKLS HTTP/1.1" 304 - -2025-11-27 20:08:05,591 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:08:05] "GET /?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 304 - -2025-11-27 20:08:05,752 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:08:05] "GET / HTTP/1.1" 500 - -2025-11-27 20:08:05,765 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:08:05] "GET /?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 304 - -2025-11-27 20:08:05,768 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:08:05] "GET /?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 304 - -2025-11-27 20:08:05,775 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:08:05] "GET /?__debugger__=yes&cmd=resource&f=console.png&s=KPmjd5URLBkm9fZIHKLS HTTP/1.1" 304 - -2025-11-27 20:08:05,792 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:08:05] "GET /?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 304 - -2025-11-27 20:08:06,661 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:08:06] "GET / HTTP/1.1" 500 - -2025-11-27 20:08:06,674 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:08:06] "GET /?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 - -2025-11-27 20:08:06,678 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:08:06] "GET /?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 - -2025-11-27 20:08:06,685 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:08:06] "GET /?__debugger__=yes&cmd=resource&f=console.png&s=KPmjd5URLBkm9fZIHKLS HTTP/1.1" 200 - -2025-11-27 20:08:06,704 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:08:06] "GET /?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 - -2025-11-27 20:08:07,063 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:08:07] "GET / HTTP/1.1" 500 - -2025-11-27 20:08:07,074 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:08:07] "GET /?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 - -2025-11-27 20:08:07,075 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:08:07] "GET /?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 - -2025-11-27 20:08:07,081 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:08:07] "GET /?__debugger__=yes&cmd=resource&f=console.png&s=KPmjd5URLBkm9fZIHKLS HTTP/1.1" 200 - -2025-11-27 20:08:07,100 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:08:07] "GET /?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 - -2025-11-27 20:08:07,213 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:08:07] "GET / HTTP/1.1" 500 - -2025-11-27 20:08:07,227 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:08:07] "GET /?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 - -2025-11-27 20:08:07,228 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:08:07] "GET /?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 - -2025-11-27 20:08:07,246 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:08:07] "GET /?__debugger__=yes&cmd=resource&f=console.png&s=KPmjd5URLBkm9fZIHKLS HTTP/1.1" 200 - -2025-11-27 20:08:07,255 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:08:07] "GET /?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 - -2025-11-27 20:08:37,699 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-27 20:08:37,721 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-27 20:08:37,721 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-27 20:08:37,738 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-27 20:08:37,760 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-27 20:08:37,760 [INFO] werkzeug: Press CTRL+C to quit -2025-11-27 20:09:08,168 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-27 20:09:08,188 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-27 20:09:08,188 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-27 20:09:08,209 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-27 20:09:08,232 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-27 20:09:08,232 [INFO] werkzeug: Press CTRL+C to quit -2025-11-27 20:09:10,319 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:10] "GET / HTTP/1.1" 500 - -2025-11-27 20:09:10,362 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:10] "GET /?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 304 - -2025-11-27 20:09:10,365 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:10] "GET /?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 304 - -2025-11-27 20:09:10,415 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:10] "GET /?__debugger__=yes&cmd=resource&f=console.png&s=toWbFrLNStmsnxQRxd1N HTTP/1.1" 200 - -2025-11-27 20:09:10,421 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:10] "GET /?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 304 - -2025-11-27 20:09:11,297 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:11] "GET / HTTP/1.1" 500 - -2025-11-27 20:09:11,308 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:11] "GET /?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 304 - -2025-11-27 20:09:11,311 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:11] "GET /?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 304 - -2025-11-27 20:09:11,318 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:11] "GET /?__debugger__=yes&cmd=resource&f=console.png&s=toWbFrLNStmsnxQRxd1N HTTP/1.1" 304 - -2025-11-27 20:09:11,337 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:11] "GET /?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 304 - -2025-11-27 20:09:11,859 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:11] "GET / HTTP/1.1" 500 - -2025-11-27 20:09:11,870 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:11] "GET /?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 304 - -2025-11-27 20:09:11,874 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:11] "GET /?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 304 - -2025-11-27 20:09:11,880 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:11] "GET /?__debugger__=yes&cmd=resource&f=console.png&s=toWbFrLNStmsnxQRxd1N HTTP/1.1" 304 - -2025-11-27 20:09:11,895 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:11] "GET /?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 304 - -2025-11-27 20:09:12,026 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:12] "GET / HTTP/1.1" 500 - -2025-11-27 20:09:12,038 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:12] "GET /?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 304 - -2025-11-27 20:09:12,042 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:12] "GET /?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 304 - -2025-11-27 20:09:12,048 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:12] "GET /?__debugger__=yes&cmd=resource&f=console.png&s=toWbFrLNStmsnxQRxd1N HTTP/1.1" 304 - -2025-11-27 20:09:12,065 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:12] "GET /?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 304 - -2025-11-27 20:09:13,701 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:13] "GET / HTTP/1.1" 500 - -2025-11-27 20:09:13,713 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:13] "GET /?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 304 - -2025-11-27 20:09:13,713 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:13] "GET /?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 304 - -2025-11-27 20:09:13,720 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:13] "GET /?__debugger__=yes&cmd=resource&f=console.png&s=toWbFrLNStmsnxQRxd1N HTTP/1.1" 304 - -2025-11-27 20:09:19,987 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:19] "GET / HTTP/1.1" 500 - -2025-11-27 20:09:20,588 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:20] "GET / HTTP/1.1" 500 - -2025-11-27 20:09:20,605 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:20] "GET /?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 304 - -2025-11-27 20:09:20,607 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:20] "GET /?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 304 - -2025-11-27 20:09:20,632 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:20] "GET /?__debugger__=yes&cmd=resource&f=console.png&s=toWbFrLNStmsnxQRxd1N HTTP/1.1" 304 - -2025-11-27 20:09:33,685 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-27 20:09:33,707 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-27 20:09:33,707 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-27 20:09:33,729 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-27 20:09:33,751 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-27 20:09:33,751 [INFO] werkzeug: Press CTRL+C to quit -2025-11-27 20:09:35,916 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:35] "GET / HTTP/1.1" 500 - -2025-11-27 20:09:35,929 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:35] "GET /?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 - -2025-11-27 20:09:35,932 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:35] "GET /?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 - -2025-11-27 20:09:35,941 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:35] "GET /?__debugger__=yes&cmd=resource&f=console.png&s=toWbFrLNStmsnxQRxd1N HTTP/1.1" 200 - -2025-11-27 20:09:35,960 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:35] "GET /?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 - -2025-11-27 20:09:36,395 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:36] "GET / HTTP/1.1" 500 - -2025-11-27 20:09:36,406 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:36] "GET /?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 - -2025-11-27 20:09:36,407 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:36] "GET /?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 - -2025-11-27 20:09:36,419 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:36] "GET /?__debugger__=yes&cmd=resource&f=console.png&s=toWbFrLNStmsnxQRxd1N HTTP/1.1" 200 - -2025-11-27 20:09:36,435 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:36] "GET /?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 - -2025-11-27 20:09:36,568 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:36] "GET / HTTP/1.1" 500 - -2025-11-27 20:09:36,584 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:36] "GET /?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 - -2025-11-27 20:09:36,584 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:36] "GET /?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 - -2025-11-27 20:09:36,592 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:36] "GET /?__debugger__=yes&cmd=resource&f=console.png&s=toWbFrLNStmsnxQRxd1N HTTP/1.1" 200 - -2025-11-27 20:09:36,608 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:36] "GET /?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 - -2025-11-27 20:09:36,721 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:36] "GET / HTTP/1.1" 500 - -2025-11-27 20:09:36,734 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:36] "GET /?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 - -2025-11-27 20:09:36,736 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:36] "GET /?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 - -2025-11-27 20:09:36,743 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:36] "GET /?__debugger__=yes&cmd=resource&f=console.png&s=toWbFrLNStmsnxQRxd1N HTTP/1.1" 200 - -2025-11-27 20:09:36,763 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:36] "GET /?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 - -2025-11-27 20:09:36,863 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:36] "GET / HTTP/1.1" 500 - -2025-11-27 20:09:36,876 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:36] "GET /?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 - -2025-11-27 20:09:36,877 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:36] "GET /?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 - -2025-11-27 20:09:36,882 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:36] "GET /?__debugger__=yes&cmd=resource&f=console.png&s=toWbFrLNStmsnxQRxd1N HTTP/1.1" 200 - -2025-11-27 20:09:36,901 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:36] "GET /?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 - -2025-11-27 20:09:52,809 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:52] "GET / HTTP/1.1" 302 - -2025-11-27 20:09:52,820 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:52] "GET /login?next=/ HTTP/1.1" 200 - -2025-11-27 20:09:52,862 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:52] "GET /static/style.css HTTP/1.1" 200 - -2025-11-27 20:09:52,966 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:52] "GET /static/favicon.ico HTTP/1.1" 200 - -2025-11-27 20:09:57,841 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-27 20:09:57,841 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-27 20:09:57,895 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-11-27 20:09:57,895 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-11-27 20:09:57,897 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-27 20:09:57,897 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-27 20:09:57,897 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:57] "POST /login HTTP/1.1" 302 - -2025-11-27 20:09:57,917 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:57] "GET /index HTTP/1.1" 500 - -2025-11-27 20:09:57,934 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:57] "GET /index?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 - -2025-11-27 20:09:57,938 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:57] "GET /index?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 - -2025-11-27 20:09:57,953 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:57] "GET /index?__debugger__=yes&cmd=resource&f=console.png&s=toWbFrLNStmsnxQRxd1N HTTP/1.1" 200 - -2025-11-27 20:09:57,982 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:09:57] "GET /index?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 - -2025-11-27 20:09:59,216 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-27 20:10:02,357 [INFO] app: LOGIN: already auth → /index -2025-11-27 20:10:02,357 [INFO] app: LOGIN: already auth → /index -2025-11-27 20:10:02,359 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:10:02] "GET /login?next=/ HTTP/1.1" 302 - -2025-11-27 20:10:19,124 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-27 20:10:19,143 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-27 20:10:19,143 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-27 20:10:19,163 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-27 20:10:19,184 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-27 20:10:19,184 [INFO] werkzeug: Press CTRL+C to quit -2025-11-27 20:10:21,639 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:10:21] "GET / HTTP/1.1" 500 - -2025-11-27 20:10:21,657 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:10:21] "GET /?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 - -2025-11-27 20:10:21,664 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:10:21] "GET /?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 - -2025-11-27 20:10:21,670 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:10:21] "GET /?__debugger__=yes&cmd=resource&f=console.png&s=toWbFrLNStmsnxQRxd1N HTTP/1.1" 200 - -2025-11-27 20:10:21,720 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:10:21] "GET /?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 - -2025-11-27 20:11:34,671 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-27 20:11:34,689 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-27 20:11:34,689 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-27 20:11:34,708 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-27 20:11:34,731 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-27 20:11:34,731 [INFO] werkzeug: Press CTRL+C to quit -2025-11-27 20:11:42,219 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-27 20:11:42,238 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-27 20:11:42,238 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-27 20:11:42,254 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-27 20:11:42,278 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-27 20:11:42,278 [INFO] werkzeug: Press CTRL+C to quit -2025-11-27 20:11:44,565 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:11:44] "GET / HTTP/1.1" 200 - -2025-11-27 20:11:44,635 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:11:44] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:11:44,637 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:11:44] "GET /static/script.js HTTP/1.1" 200 - -2025-11-27 20:11:46,595 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:11:46] "GET /xml_management HTTP/1.1" 200 - -2025-11-27 20:11:46,611 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:11:46] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:11:46,618 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:11:46] "GET /static/css/scp.css HTTP/1.1" 200 - -2025-11-27 20:11:46,619 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:11:46] "GET /static/js/scp.js HTTP/1.1" 200 - -2025-11-27 20:11:54,440 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:11:54] "GET /edit_xml/LinePlus_T1.xml HTTP/1.1" 200 - -2025-11-27 20:11:54,458 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:11:54] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:11:56,650 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:11:56] "GET /xml_management HTTP/1.1" 200 - -2025-11-27 20:11:56,668 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:11:56] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:11:56,671 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:11:56] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-11-27 20:11:56,672 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:11:56] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-11-27 20:12:12,744 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:12:12] "GET /home/ HTTP/1.1" 200 - -2025-11-27 20:12:12,762 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:12:12] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:12:14,222 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:12:14] "GET /index HTTP/1.1" 200 - -2025-11-27 20:12:14,239 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:12:14] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:12:14,244 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:12:14] "GET /static/script.js HTTP/1.1" 304 - -2025-11-27 20:17:16,167 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:17:16] "GET / HTTP/1.1" 200 - -2025-11-27 20:17:16,176 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:17:16] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:17:16,187 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:17:16] "GET /static/script.js HTTP/1.1" 304 - -2025-11-27 20:17:16,646 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:17:16] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-27 20:17:18,728 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:17:18] "GET /admin HTTP/1.1" 200 - -2025-11-27 20:17:18,744 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:17:18] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:17:20,726 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:17:20] "GET /home/ HTTP/1.1" 200 - -2025-11-27 20:17:20,739 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:17:20] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:17:21,701 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:17:21] "GET /index HTTP/1.1" 200 - -2025-11-27 20:17:21,714 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:17:21] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:17:21,718 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:17:21] "GET /static/script.js HTTP/1.1" 304 - -2025-11-27 20:17:29,307 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:17:29] "GET /index HTTP/1.1" 200 - -2025-11-27 20:17:29,322 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:17:29] "GET /static/script.js HTTP/1.1" 304 - -2025-11-27 20:17:29,322 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:17:29] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:17:29,884 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:17:29] "GET /xml_management HTTP/1.1" 200 - -2025-11-27 20:17:29,897 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:17:29] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:17:29,900 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:17:29] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-11-27 20:17:29,901 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:17:29] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-11-27 20:20:30,931 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:20:30] "GET / HTTP/1.1" 200 - -2025-11-27 20:20:30,941 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:20:30] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:20:30,952 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:20:30] "GET /static/script.js HTTP/1.1" 304 - -2025-11-27 20:20:33,122 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:20:33] "GET /admin HTTP/1.1" 200 - -2025-11-27 20:20:33,138 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:20:33] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:20:34,023 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:20:34] "GET /jobs HTTP/1.1" 200 - -2025-11-27 20:20:34,035 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:20:34] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:20:34,063 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:20:34] "GET /jobs/config HTTP/1.1" 200 - -2025-11-27 20:20:34,068 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-11-27 20:20:34,069 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:20:34] "GET /jobs/iplist HTTP/1.1" 200 - -2025-11-27 20:20:35,634 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:20:35] "GET /xml_management HTTP/1.1" 200 - -2025-11-27 20:20:35,646 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:20:35] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:20:35,651 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:20:35] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-11-27 20:20:35,651 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:20:35] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-11-27 20:20:39,035 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:20:39] "GET /scp/diff?file1=LinePlus_T1.xml&file2=PO-20250826-0158%20_가산3_XE9680_384EA.xml HTTP/1.1" 200 - -2025-11-27 20:20:39,051 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:20:39] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:20:39,052 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:20:39] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-11-27 20:20:52,531 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:20:52] "GET /home/ HTTP/1.1" 200 - -2025-11-27 20:20:52,546 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:20:52] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:21:32,928 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:32] "GET /jobs HTTP/1.1" 200 - -2025-11-27 20:21:32,945 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:32] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:21:32,987 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:32] "GET /jobs/config HTTP/1.1" 200 - -2025-11-27 20:21:32,993 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-11-27 20:21:32,993 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:32] "GET /jobs/iplist HTTP/1.1" 200 - -2025-11-27 20:21:34,137 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:34] "GET /xml_management HTTP/1.1" 200 - -2025-11-27 20:21:34,156 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:34] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:21:34,164 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:34] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-11-27 20:21:34,164 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:34] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-11-27 20:21:34,600 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:34] "GET /home/ HTTP/1.1" 200 - -2025-11-27 20:21:34,617 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:34] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:21:35,135 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:35] "GET /index HTTP/1.1" 200 - -2025-11-27 20:21:35,151 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:35] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:21:35,154 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:35] "GET /static/script.js HTTP/1.1" 304 - -2025-11-27 20:21:35,599 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:35] "GET /xml_management HTTP/1.1" 200 - -2025-11-27 20:21:35,614 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:35] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:21:35,622 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:35] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-11-27 20:21:35,622 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:35] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-11-27 20:21:36,236 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:36] "GET /jobs HTTP/1.1" 200 - -2025-11-27 20:21:36,251 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:36] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:21:36,265 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:36] "GET /jobs/config HTTP/1.1" 200 - -2025-11-27 20:21:36,279 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-11-27 20:21:36,279 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:36] "GET /jobs/iplist HTTP/1.1" 200 - -2025-11-27 20:21:36,700 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:36] "GET /admin HTTP/1.1" 200 - -2025-11-27 20:21:36,715 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:36] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:21:38,082 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:38] "GET /jobs HTTP/1.1" 200 - -2025-11-27 20:21:38,101 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:38] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:21:38,109 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:38] "GET /jobs/config HTTP/1.1" 200 - -2025-11-27 20:21:38,127 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-11-27 20:21:38,128 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:38] "GET /jobs/iplist HTTP/1.1" 200 - -2025-11-27 20:21:38,372 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:38] "GET /xml_management HTTP/1.1" 200 - -2025-11-27 20:21:38,388 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:38] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:21:38,395 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:38] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-11-27 20:21:38,395 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:38] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-11-27 20:21:38,719 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:38] "GET /index HTTP/1.1" 200 - -2025-11-27 20:21:38,735 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:38] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:21:38,738 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:38] "GET /static/script.js HTTP/1.1" 304 - -2025-11-27 20:21:39,219 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:39] "GET /home/ HTTP/1.1" 200 - -2025-11-27 20:21:39,237 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:39] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:21:39,902 [INFO] app: LOGOUT: user=김강희 -2025-11-27 20:21:39,902 [INFO] app: LOGOUT: user=김강희 -2025-11-27 20:21:39,904 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:39] "GET /logout HTTP/1.1" 302 - -2025-11-27 20:21:39,910 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:39] "GET /login HTTP/1.1" 200 - -2025-11-27 20:21:39,926 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:39] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:21:41,234 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-27 20:21:42,246 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:42] "GET /register HTTP/1.1" 200 - -2025-11-27 20:21:42,262 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:21:42] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:22:04,167 [INFO] app: REGISTER: created id=3 email=rnfjrl@test.com token=jvoddlCPFQ -2025-11-27 20:22:04,167 [INFO] app: REGISTER: created id=3 email=rnfjrl@test.com token=jvoddlCPFQ -2025-11-27 20:22:04,168 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:22:04] "POST /register HTTP/1.1" 302 - -2025-11-27 20:22:04,172 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:22:04] "GET /login HTTP/1.1" 200 - -2025-11-27 20:22:04,190 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:22:04] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:22:05,431 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-27 20:25:48,870 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-27 20:25:48,891 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-27 20:25:48,891 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-27 20:25:48,908 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-27 20:25:48,931 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-27 20:25:48,931 [INFO] werkzeug: Press CTRL+C to quit -2025-11-27 20:25:53,316 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:25:53] "GET /login HTTP/1.1" 200 - -2025-11-27 20:25:53,377 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:25:53] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:25:53,444 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:25:53] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-27 20:25:53,880 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:25:53] "GET /login HTTP/1.1" 200 - -2025-11-27 20:25:53,893 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:25:53] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:25:53,913 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:25:53] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-27 20:28:38,443 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-27 20:28:38,463 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-27 20:28:38,463 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-27 20:28:38,481 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-27 20:28:38,494 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-27 20:28:38,494 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-27 20:28:38,494 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-27 20:28:38,494 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-27 20:28:38,525 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-27 20:28:38,525 [INFO] werkzeug: Press CTRL+C to quit -2025-11-27 20:28:39,629 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-27 20:28:39,861 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-27 20:28:39,861 [INFO] telegram.ext.Application: Application started -2025-11-27 20:28:43,484 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:28:43] "GET /login HTTP/1.1" 200 - -2025-11-27 20:28:43,527 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:28:43] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:28:43,542 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:28:43] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-27 20:28:50,542 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:28:50,849 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:28:51,707 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/answerCallbackQuery "HTTP/1.1 200 OK" -2025-11-27 20:28:51,707 [INFO] telegram_bot_service: Received callback: approve_jvoddlCPFQRfhbW_yZUPj3lzoaX9ByxZq6qJcrPtlHU -2025-11-27 20:28:52,115 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/editMessageText "HTTP/1.1 200 OK" -2025-11-27 20:28:52,115 [INFO] telegram_bot_service: User 꾸러기 approved -2025-11-27 20:29:01,076 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:29:11,305 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:29:21,550 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:29:31,778 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:29:42,004 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:29:46,006 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:29:46] "GET /login HTTP/1.1" 200 - -2025-11-27 20:29:46,027 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:29:46] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:29:46,051 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:29:46] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-27 20:29:51,337 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-27 20:29:51,337 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-27 20:29:51,385 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-11-27 20:29:51,385 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-11-27 20:29:51,385 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-27 20:29:51,385 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-27 20:29:51,387 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:29:51] "POST /login HTTP/1.1" 302 - -2025-11-27 20:29:51,403 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:29:51] "GET /index HTTP/1.1" 200 - -2025-11-27 20:29:51,424 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:29:51] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:29:51,426 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:29:51] "GET /static/script.js HTTP/1.1" 304 - -2025-11-27 20:29:52,238 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:29:52,602 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-27 20:29:52,831 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:29:52] "GET /admin HTTP/1.1" 200 - -2025-11-27 20:29:52,848 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:29:52] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:29:56,303 [INFO] root: 🗑 삭제된 사용자: 꾸러기 (id=3) -2025-11-27 20:29:56,304 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:29:56] "GET /admin/delete/3 HTTP/1.1" 302 - -2025-11-27 20:29:56,311 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:29:56] "GET /admin HTTP/1.1" 200 - -2025-11-27 20:29:56,327 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:29:56] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:29:59,804 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:29:59] "GET /home/ HTTP/1.1" 200 - -2025-11-27 20:29:59,821 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:29:59] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:30:02,465 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:30:12,699 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:30:22,951 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:30:33,178 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:30:40,127 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:30:40] "GET /xml_management HTTP/1.1" 200 - -2025-11-27 20:30:40,150 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:30:40] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:30:40,157 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:30:40] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-11-27 20:30:40,158 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:30:40] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-11-27 20:30:43,407 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:30:53,647 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:31:03,882 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:31:14,109 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:31:24,340 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:31:34,589 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:31:44,816 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:31:55,041 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:32:05,272 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:32:15,514 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:32:25,741 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:32:35,967 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:32:46,197 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:32:56,422 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:32:58,550 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:32:58] "GET /home/ HTTP/1.1" 200 - -2025-11-27 20:32:58,570 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:32:58] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:33:06,650 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:33:16,876 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:33:27,104 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:33:29,679 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:33:29] "GET /home/ HTTP/1.1" 200 - -2025-11-27 20:33:29,699 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:33:29] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:33:37,329 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:33:47,556 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:33:48,168 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:33:48] "GET /xml_management HTTP/1.1" 200 - -2025-11-27 20:33:48,184 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:33:48] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:33:48,192 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:33:48] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-11-27 20:33:48,192 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:33:48] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-11-27 20:33:49,273 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:33:49] "GET /index HTTP/1.1" 200 - -2025-11-27 20:33:49,291 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:33:49] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:33:49,295 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:33:49] "GET /static/script.js HTTP/1.1" 304 - -2025-11-27 20:33:50,150 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:33:50] "GET /xml_management HTTP/1.1" 200 - -2025-11-27 20:33:50,167 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:33:50] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:33:50,172 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:33:50] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-11-27 20:33:50,172 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:33:50] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-11-27 20:33:50,728 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:33:50] "GET /jobs HTTP/1.1" 200 - -2025-11-27 20:33:50,747 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:33:50] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:33:50,761 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:33:50] "GET /jobs/config HTTP/1.1" 200 - -2025-11-27 20:33:50,778 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-11-27 20:33:50,779 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:33:50] "GET /jobs/iplist HTTP/1.1" 200 - -2025-11-27 20:33:51,185 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:33:51] "GET /xml_management HTTP/1.1" 200 - -2025-11-27 20:33:51,205 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:33:51] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:33:51,210 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:33:51] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-11-27 20:33:51,211 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:33:51] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-11-27 20:33:52,127 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:33:52] "GET /xml_management HTTP/1.1" 200 - -2025-11-27 20:33:52,144 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:33:52] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:33:52,148 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:33:52] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-11-27 20:33:52,149 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:33:52] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-11-27 20:33:52,556 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:33:52] "GET /index HTTP/1.1" 200 - -2025-11-27 20:33:52,572 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:33:52] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:33:52,575 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:33:52] "GET /static/script.js HTTP/1.1" 304 - -2025-11-27 20:33:54,040 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:33:54] "GET /index HTTP/1.1" 200 - -2025-11-27 20:33:54,055 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:33:54] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:33:54,059 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:33:54] "GET /static/script.js HTTP/1.1" 304 - -2025-11-27 20:33:57,792 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:34:05,559 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:34:05] "GET /idrac HTTP/1.1" 308 - -2025-11-27 20:34:05,566 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:34:05] "GET /idrac/ HTTP/1.1" 200 - -2025-11-27 20:34:05,585 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:34:05] "GET /static/css/idrac_style.css HTTP/1.1" 200 - -2025-11-27 20:34:05,588 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:34:05] "GET /static/js/idrac_main.js HTTP/1.1" 200 - -2025-11-27 20:34:05,654 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:34:05] "GET /socket.io/?EIO=4&transport=polling&t=Ph55ufK HTTP/1.1" 200 - -2025-11-27 20:34:05,661 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:34:05] "GET /idrac/api/servers HTTP/1.1" 200 - -2025-11-27 20:34:05,662 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:34:05] "GET /idrac/api/groups HTTP/1.1" 200 - -2025-11-27 20:34:05,663 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:34:05] "POST /socket.io/?EIO=4&transport=polling&t=Ph55ufT&sid=Kd7MSTztfydrG7iVAAAA HTTP/1.1" 200 - -2025-11-27 20:34:05,665 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:34:05] "GET /favicon.ico HTTP/1.1" 404 - -2025-11-27 20:34:05,666 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:34:05] "GET /socket.io/?EIO=4&transport=polling&t=Ph55ufT.0&sid=Kd7MSTztfydrG7iVAAAA HTTP/1.1" 200 - -2025-11-27 20:34:08,020 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:34:18,248 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:34:24,288 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:34:24] "GET /socket.io/?EIO=4&transport=websocket&sid=Kd7MSTztfydrG7iVAAAA HTTP/1.1" 200 - -2025-11-27 20:34:26,800 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:34:26] "GET /jobs HTTP/1.1" 200 - -2025-11-27 20:34:26,818 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:34:26] "GET /static/style.css HTTP/1.1" 304 - -2025-11-27 20:34:26,835 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:34:26] "GET /jobs/config HTTP/1.1" 200 - -2025-11-27 20:34:26,849 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-11-27 20:34:26,849 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:34:26] "GET /jobs/iplist HTTP/1.1" 200 - -2025-11-27 20:34:28,478 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-27 20:34:31,570 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:34:31] "GET /admin HTTP/1.1" 200 - -2025-11-27 20:34:31,586 [INFO] werkzeug: 127.0.0.1 - - [27/Nov/2025 20:34:31] "GET /static/style.css HTTP/1.1" 304 - diff --git a/data/logs/2025-11-28.log b/data/logs/2025-11-28.log deleted file mode 100644 index 5435f3a..0000000 --- a/data/logs/2025-11-28.log +++ /dev/null @@ -1,95 +0,0 @@ -2025-11-28 15:15:26,731 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-28 15:15:26,756 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-28 15:15:26,756 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-28 15:15:26,778 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-28 15:15:26,792 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-28 15:15:26,792 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-28 15:15:26,793 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-28 15:15:26,793 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-28 15:15:26,835 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-28 15:15:26,835 [INFO] werkzeug: Press CTRL+C to quit -2025-11-28 15:15:27,893 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-28 15:15:28,121 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-28 15:15:28,122 [INFO] telegram.ext.Application: Application started -2025-11-28 15:15:38,822 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-28 15:15:49,057 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-28 15:15:59,291 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-28 15:16:09,530 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-28 15:16:19,765 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-28 15:16:30,000 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-28 15:16:40,234 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-28 15:21:41,955 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-28 15:21:41,978 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-28 15:21:41,978 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-28 15:21:41,997 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-28 15:21:42,011 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-28 15:21:42,011 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-28 15:21:42,012 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-28 15:21:42,012 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-28 15:21:42,028 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-28 15:21:42,028 [INFO] werkzeug: Press CTRL+C to quit -2025-11-28 15:21:43,126 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-28 15:21:43,358 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-28 15:21:43,360 [INFO] telegram.ext.Application: Application started -2025-11-28 15:21:49,495 [INFO] werkzeug: 127.0.0.1 - - [28/Nov/2025 15:21:49] "GET / HTTP/1.1" 302 - -2025-11-28 15:21:49,520 [INFO] werkzeug: 127.0.0.1 - - [28/Nov/2025 15:21:49] "GET /login?next=/ HTTP/1.1" 200 - -2025-11-28 15:21:49,602 [INFO] werkzeug: 127.0.0.1 - - [28/Nov/2025 15:21:49] "GET /static/style.css HTTP/1.1" 304 - -2025-11-28 15:21:54,039 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-28 15:21:58,823 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-28 15:21:58,823 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-28 15:21:58,900 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-11-28 15:21:58,900 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-11-28 15:21:58,901 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-28 15:21:58,901 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-28 15:21:58,901 [INFO] werkzeug: 127.0.0.1 - - [28/Nov/2025 15:21:58] "POST /login HTTP/1.1" 302 - -2025-11-28 15:21:58,918 [INFO] werkzeug: 127.0.0.1 - - [28/Nov/2025 15:21:58] "GET /index HTTP/1.1" 200 - -2025-11-28 15:21:58,935 [INFO] werkzeug: 127.0.0.1 - - [28/Nov/2025 15:21:58] "GET /static/style.css HTTP/1.1" 304 - -2025-11-28 15:21:58,946 [INFO] werkzeug: 127.0.0.1 - - [28/Nov/2025 15:21:58] "GET /static/script.js HTTP/1.1" 304 - -2025-11-28 15:22:00,150 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-28 15:22:01,767 [INFO] werkzeug: 127.0.0.1 - - [28/Nov/2025 15:22:01] "GET /admin HTTP/1.1" 200 - -2025-11-28 15:22:01,779 [INFO] werkzeug: 127.0.0.1 - - [28/Nov/2025 15:22:01] "GET /static/style.css HTTP/1.1" 304 - -2025-11-28 15:22:02,852 [INFO] werkzeug: 127.0.0.1 - - [28/Nov/2025 15:22:02] "GET /jobs HTTP/1.1" 200 - -2025-11-28 15:22:02,865 [INFO] werkzeug: 127.0.0.1 - - [28/Nov/2025 15:22:02] "GET /static/style.css HTTP/1.1" 304 - -2025-11-28 15:22:02,893 [INFO] werkzeug: 127.0.0.1 - - [28/Nov/2025 15:22:02] "GET /jobs/config HTTP/1.1" 200 - -2025-11-28 15:22:02,900 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-11-28 15:22:02,900 [INFO] werkzeug: 127.0.0.1 - - [28/Nov/2025 15:22:02] "GET /jobs/iplist HTTP/1.1" 200 - -2025-11-28 15:22:04,264 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-28 15:22:06,057 [INFO] werkzeug: 127.0.0.1 - - [28/Nov/2025 15:22:06] "GET /xml_management HTTP/1.1" 200 - -2025-11-28 15:22:06,070 [INFO] werkzeug: 127.0.0.1 - - [28/Nov/2025 15:22:06] "GET /static/style.css HTTP/1.1" 304 - -2025-11-28 15:22:06,076 [INFO] werkzeug: 127.0.0.1 - - [28/Nov/2025 15:22:06] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-11-28 15:22:06,076 [INFO] werkzeug: 127.0.0.1 - - [28/Nov/2025 15:22:06] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-11-28 15:22:14,492 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-28 15:22:24,718 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-28 15:22:25,589 [INFO] werkzeug: 127.0.0.1 - - [28/Nov/2025 15:22:25] "GET /edit_xml/LinePlus_T1.xml HTTP/1.1" 200 - -2025-11-28 15:22:25,607 [INFO] werkzeug: 127.0.0.1 - - [28/Nov/2025 15:22:25] "GET /static/style.css HTTP/1.1" 304 - -2025-11-28 15:22:29,679 [INFO] werkzeug: 127.0.0.1 - - [28/Nov/2025 15:22:29] "GET /xml_management HTTP/1.1" 200 - -2025-11-28 15:22:29,692 [INFO] werkzeug: 127.0.0.1 - - [28/Nov/2025 15:22:29] "GET /static/style.css HTTP/1.1" 304 - -2025-11-28 15:22:29,696 [INFO] werkzeug: 127.0.0.1 - - [28/Nov/2025 15:22:29] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-11-28 15:22:29,696 [INFO] werkzeug: 127.0.0.1 - - [28/Nov/2025 15:22:29] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-11-28 15:22:34,945 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-28 15:22:45,172 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-28 18:18:06,930 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-28 18:18:06,953 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-28 18:18:06,953 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-28 18:18:06,972 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-28 18:18:06,985 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-28 18:18:06,985 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-28 18:18:06,985 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-28 18:18:06,985 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-28 18:18:07,024 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-28 18:18:07,024 [INFO] werkzeug: Press CTRL+C to quit -2025-11-28 18:18:08,082 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-28 18:18:08,314 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-28 18:18:08,315 [INFO] telegram.ext.Application: Application started -2025-11-28 18:18:11,284 [INFO] werkzeug: 127.0.0.1 - - [28/Nov/2025 18:18:11] "GET / HTTP/1.1" 302 - -2025-11-28 18:18:11,304 [INFO] werkzeug: 127.0.0.1 - - [28/Nov/2025 18:18:11] "GET /login?next=/ HTTP/1.1" 200 - -2025-11-28 18:18:11,334 [INFO] werkzeug: 127.0.0.1 - - [28/Nov/2025 18:18:11] "GET /static/style.css HTTP/1.1" 304 - diff --git a/data/logs/2025-11-29.log b/data/logs/2025-11-29.log deleted file mode 100644 index 60b1487..0000000 --- a/data/logs/2025-11-29.log +++ /dev/null @@ -1,756 +0,0 @@ -2025-11-29 08:14:35,726 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-29 08:14:35,756 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-29 08:14:35,756 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-29 08:14:35,783 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-29 08:14:35,803 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-29 08:14:35,803 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-29 08:14:35,803 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-29 08:14:35,803 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-29 08:14:35,856 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-29 08:14:35,856 [INFO] werkzeug: Press CTRL+C to quit -2025-11-29 08:14:36,951 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-29 08:14:37,184 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-29 08:14:37,185 [INFO] telegram.ext.Application: Application started -2025-11-29 08:14:38,056 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:14:38] "GET / HTTP/1.1" 302 - -2025-11-29 08:14:38,088 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:14:38] "GET /login?next=/ HTTP/1.1" 200 - -2025-11-29 08:14:38,346 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:14:38] "GET /static/style.css HTTP/1.1" 200 - -2025-11-29 08:14:38,694 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:14:38] "GET /static/favicon.ico HTTP/1.1" 200 - -2025-11-29 08:14:43,883 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-29 08:14:43,883 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-29 08:14:43,954 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-11-29 08:14:43,954 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-11-29 08:14:43,955 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-29 08:14:43,955 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-29 08:14:43,956 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:14:43] "POST /login HTTP/1.1" 302 - -2025-11-29 08:14:44,191 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:14:44] "GET /index HTTP/1.1" 200 - -2025-11-29 08:14:44,517 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:14:44] "GET /static/style.css HTTP/1.1" 304 - -2025-11-29 08:14:44,522 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:14:44] "GET /static/css/index.css HTTP/1.1" 200 - -2025-11-29 08:14:44,525 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:14:44] "GET /static/script.js HTTP/1.1" 200 - -2025-11-29 08:14:44,529 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:14:44] "GET /static/js/index.js HTTP/1.1" 200 - -2025-11-29 08:14:45,195 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-29 08:14:47,867 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:14:49,161 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:14:49] "GET /idrac HTTP/1.1" 308 - -2025-11-29 08:14:49,475 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:14:49] "GET /idrac/ HTTP/1.1" 200 - -2025-11-29 08:14:49,797 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:14:49] "GET /static/css/idrac_style.css HTTP/1.1" 200 - -2025-11-29 08:14:49,798 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:14:49] "GET /static/js/idrac_main.js HTTP/1.1" 200 - -2025-11-29 08:14:50,054 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:14:50] "GET /socket.io/?EIO=4&transport=polling&t=PhClt5V HTTP/1.1" 200 - -2025-11-29 08:14:50,136 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:14:50] "POST /socket.io/?EIO=4&transport=polling&t=PhClt98&sid=ybpAZIBf9CdxVyJIAAAA HTTP/1.1" 200 - -2025-11-29 08:14:50,139 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:14:50] "GET /idrac/api/groups HTTP/1.1" 200 - -2025-11-29 08:14:50,140 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:14:50] "GET /favicon.ico HTTP/1.1" 404 - -2025-11-29 08:14:50,142 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:14:50] "GET /idrac/api/servers HTTP/1.1" 200 - -2025-11-29 08:14:50,367 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:14:50] "GET /socket.io/?EIO=4&transport=polling&t=PhClt99&sid=ybpAZIBf9CdxVyJIAAAA HTTP/1.1" 200 - -2025-11-29 08:14:50,372 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:14:50] "GET /socket.io/?EIO=4&transport=polling&t=PhCltE3&sid=ybpAZIBf9CdxVyJIAAAA HTTP/1.1" 200 - -2025-11-29 08:14:55,662 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:14:55] "GET /idrac/api/firmware-versions HTTP/1.1" 200 - -2025-11-29 08:14:58,093 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:15:06,515 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:15:06] "POST /catalog/sync HTTP/1.1" 200 - -2025-11-29 08:15:08,327 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:15:13,235 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:15:13] "POST /catalog/sync HTTP/1.1" 200 - -2025-11-29 08:15:18,557 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:15:20,040 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:15:20] "GET /idrac/api/firmware-versions HTTP/1.1" 200 - -2025-11-29 08:15:28,783 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:15:28,937 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:15:28] "POST /catalog/sync HTTP/1.1" 200 - -2025-11-29 08:15:34,670 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:15:34] "POST /catalog/sync HTTP/1.1" 200 - -2025-11-29 08:15:39,011 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:15:49,239 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:15:59,473 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:16:09,699 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:16:19,927 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:16:30,154 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:16:40,381 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:16:50,615 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:17:00,843 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:17:02,435 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:17:02] "GET /socket.io/?EIO=4&transport=websocket&sid=ybpAZIBf9CdxVyJIAAAA HTTP/1.1" 200 - -2025-11-29 08:17:02,757 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:17:02] "GET /index HTTP/1.1" 200 - -2025-11-29 08:17:02,776 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:17:02] "GET /static/style.css HTTP/1.1" 304 - -2025-11-29 08:17:03,002 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:17:03] "GET /static/css/index.css HTTP/1.1" 304 - -2025-11-29 08:17:03,082 [INFO] app: LOGIN: already auth → /index -2025-11-29 08:17:03,082 [INFO] app: LOGIN: already auth → /index -2025-11-29 08:17:03,082 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:17:03] "GET /login?next=/ HTTP/1.1" 302 - -2025-11-29 08:17:03,083 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:17:03] "GET /static/js/index.js HTTP/1.1" 304 - -2025-11-29 08:17:03,191 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:17:03] "GET /index HTTP/1.1" 200 - -2025-11-29 08:17:03,390 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:17:03] "GET /static/style.css HTTP/1.1" 304 - -2025-11-29 08:17:03,515 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:17:03] "GET /static/js/index.js HTTP/1.1" 304 - -2025-11-29 08:17:03,516 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:17:03] "GET /static/script.js HTTP/1.1" 200 - -2025-11-29 08:17:03,517 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:17:03] "GET /static/css/index.css HTTP/1.1" 304 - -2025-11-29 08:17:11,069 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:17:21,296 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:17:31,524 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:17:41,752 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:17:51,985 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:18:02,214 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:18:12,440 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:18:22,665 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:18:32,897 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:18:43,122 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:18:53,349 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:19:03,575 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:19:13,803 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:19:24,030 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:19:34,258 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:19:44,487 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:19:54,717 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:19:58,781 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:19:58] "GET /idrac HTTP/1.1" 308 - -2025-11-29 08:19:58,783 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:19:58] "GET /idrac/ HTTP/1.1" 200 - -2025-11-29 08:19:59,032 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:19:59] "GET /static/css/idrac_style.css HTTP/1.1" 304 - -2025-11-29 08:19:59,107 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:19:59] "GET /static/js/idrac_main.js HTTP/1.1" 304 - -2025-11-29 08:19:59,421 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:19:59] "GET /idrac/api/groups HTTP/1.1" 200 - -2025-11-29 08:19:59,421 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:19:59] "GET /socket.io/?EIO=4&transport=polling&t=PhCn2c6 HTTP/1.1" 200 - -2025-11-29 08:19:59,422 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:19:59] "GET /idrac/api/servers HTTP/1.1" 200 - -2025-11-29 08:19:59,683 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:19:59] "POST /socket.io/?EIO=4&transport=polling&t=PhCn2h1&sid=2pMufQvxsqmN2V1_AAAC HTTP/1.1" 200 - -2025-11-29 08:19:59,728 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:19:59] "GET /socket.io/?EIO=4&transport=polling&t=PhCn2h2&sid=2pMufQvxsqmN2V1_AAAC HTTP/1.1" 200 - -2025-11-29 08:19:59,731 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:19:59] "GET /socket.io/?EIO=4&transport=polling&t=PhCn2lp&sid=2pMufQvxsqmN2V1_AAAC HTTP/1.1" 200 - -2025-11-29 08:20:00,769 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:20:00] "GET /idrac/api/firmware-versions HTTP/1.1" 200 - -2025-11-29 08:20:04,945 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:20:15,177 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:20:25,403 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:20:35,632 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:20:45,864 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:20:56,090 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:21:06,318 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:21:16,543 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:21:26,770 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:21:36,999 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:21:47,226 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:21:57,452 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:22:07,684 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:22:17,910 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:22:28,138 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:22:38,367 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:22:48,595 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:22:58,821 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:23:09,047 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:23:19,273 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:23:29,500 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:23:39,735 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:23:49,961 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:24:00,192 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:24:10,417 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:24:20,646 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:24:30,873 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:24:41,103 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:24:51,330 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:25:01,559 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:25:11,790 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:25:22,018 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:25:32,246 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:25:42,473 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:25:52,705 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:26:02,931 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:26:13,187 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:26:23,415 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:26:33,648 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:26:43,874 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:26:54,100 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:27:04,325 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:27:14,551 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:27:24,777 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:27:35,003 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:27:45,231 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:27:55,457 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:28:05,685 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:28:15,911 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:28:26,138 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:28:36,363 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:28:46,594 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:28:56,820 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:29:07,047 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:29:17,276 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:29:27,503 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:29:37,731 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:29:47,957 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:29:58,191 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:30:02,765 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 08:30:02] "GET /idrac/api/firmware-versions HTTP/1.1" 200 - -2025-11-29 08:30:08,423 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:30:18,651 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:30:28,878 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:30:39,106 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:30:49,332 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:30:59,559 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:31:09,787 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:31:20,014 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:31:30,240 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:31:40,465 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:31:51,174 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:32:01,407 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:32:11,642 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:32:21,877 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:32:32,111 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:32:42,345 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:32:52,577 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:33:02,812 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:33:13,045 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:33:23,280 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:33:33,516 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:33:43,749 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:33:53,983 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:34:04,216 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:34:14,449 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:34:24,682 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:34:34,916 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:34:45,150 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:34:55,385 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:35:05,621 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:35:15,853 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:35:26,087 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:35:36,321 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:35:46,554 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:35:56,788 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:36:07,023 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:36:17,255 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:36:27,488 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:36:37,721 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:36:47,957 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:36:58,191 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:37:08,430 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:37:18,665 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:37:28,899 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:37:39,149 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:37:49,392 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:37:59,628 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:38:09,861 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:38:20,093 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:38:30,329 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:38:40,563 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:38:50,800 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:39:01,033 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:39:11,270 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:39:21,504 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:39:31,738 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:39:41,972 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:39:52,206 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:40:02,440 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:40:12,673 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:40:22,908 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:40:33,144 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:40:43,379 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:40:53,613 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:41:03,847 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:41:14,080 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:41:24,344 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:41:34,578 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:41:44,811 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:41:55,043 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:42:05,277 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:42:15,512 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:42:25,750 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:42:35,985 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:42:46,218 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:42:56,453 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:43:06,688 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:43:16,922 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:43:27,155 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:43:37,387 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:43:47,621 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:43:57,855 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:44:08,089 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:44:18,322 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:44:28,558 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:44:38,791 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:44:49,028 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:44:59,263 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:45:09,502 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:45:19,736 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:45:29,970 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:45:40,205 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:45:50,438 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:46:00,670 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:46:10,903 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:46:21,137 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:46:31,370 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:46:41,623 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:46:51,857 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:47:02,090 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:47:12,331 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:47:22,565 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:47:32,798 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:47:43,033 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:47:53,269 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:48:03,502 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:48:13,738 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:48:23,972 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:48:34,207 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:48:44,441 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:48:55,138 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:49:05,370 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:49:15,600 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:49:25,831 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:49:36,063 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:49:46,293 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:49:56,524 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:50:06,756 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:50:16,990 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:50:27,219 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:50:37,450 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:50:47,679 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:50:57,912 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:51:08,143 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:51:18,374 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:51:28,606 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:51:38,837 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:51:49,067 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:51:59,297 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:52:09,529 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:52:19,759 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:52:29,991 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:52:40,221 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:52:50,451 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:53:00,680 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:53:10,913 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:53:21,144 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:53:31,376 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:53:41,606 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:53:51,836 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:54:02,066 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:54:12,297 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:54:22,528 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:54:32,759 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:54:42,991 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:54:53,222 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:55:03,452 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:55:13,683 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:55:23,914 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:55:34,145 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:55:44,377 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:55:54,607 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:56:04,839 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:56:15,070 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:56:25,301 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:56:35,532 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:56:45,763 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:56:55,995 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:57:06,224 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:57:16,456 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:57:26,708 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:57:36,938 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:57:47,169 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:57:57,400 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:58:07,631 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:58:17,861 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:58:28,093 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:58:38,324 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:58:48,555 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:58:58,785 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:59:09,016 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:59:19,246 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:59:29,478 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:59:39,709 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 08:59:49,939 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:00:00,169 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:00:10,400 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:00:20,630 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:00:30,863 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:00:41,094 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:00:51,324 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:01:01,554 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:01:11,785 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:01:22,016 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:01:32,246 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:01:42,477 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:01:52,708 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:02:02,938 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:02:13,169 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:02:23,400 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:02:33,653 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:02:43,885 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:02:54,115 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:03:04,348 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:03:14,583 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:03:24,813 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:03:35,043 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:03:45,273 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:03:55,505 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:04:05,736 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:04:15,969 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:04:26,200 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:04:36,429 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:04:46,659 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:04:56,899 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:05:07,130 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:05:17,362 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:05:27,593 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:05:37,824 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:05:48,055 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:05:58,746 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:06:08,975 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:06:19,203 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:06:29,433 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:06:39,662 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:06:49,891 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:07:00,120 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:07:10,348 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:07:20,577 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:07:30,807 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:07:41,036 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:07:51,266 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:08:01,495 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:08:11,725 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:08:21,954 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:08:32,184 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:08:42,414 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:08:52,644 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:09:02,873 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:09:13,102 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:09:23,339 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:09:33,567 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:09:43,796 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:09:54,025 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:10:04,255 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:10:14,485 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:10:24,714 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:10:34,948 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:10:45,179 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:10:55,409 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:11:05,638 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:11:15,867 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:11:26,097 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:11:36,327 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:11:46,557 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:11:56,788 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:12:07,017 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:12:17,247 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:12:27,477 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:12:37,706 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:12:47,935 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:12:58,165 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:13:08,394 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:13:18,624 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:13:28,853 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:13:39,082 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:13:49,315 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:13:59,543 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:14:09,772 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:14:20,002 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:14:30,230 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:14:40,460 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:14:50,689 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:15:00,918 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:15:11,147 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:15:21,376 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:15:31,605 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:15:41,834 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:15:52,063 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:16:02,294 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:16:12,523 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:16:22,753 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:16:32,982 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:16:43,212 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:16:53,442 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:17:03,671 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:17:13,901 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:17:24,129 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:17:34,359 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:17:44,587 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:17:54,818 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:18:05,047 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:18:15,276 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:18:25,505 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:18:35,735 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:18:45,964 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:18:56,193 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:19:06,422 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:19:16,652 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:19:26,880 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:19:37,109 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:19:47,339 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:19:57,568 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:20:07,798 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:20:18,028 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 09:20:21,965 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 09:20:21] "GET /idrac/api/firmware-versions HTTP/1.1" 200 - -2025-11-29 09:20:22,683 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 09:20:22] "GET /idrac/api/firmware-versions HTTP/1.1" 200 - -2025-11-29 09:20:24,123 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 09:20:24] "GET /idrac/api/firmware-versions HTTP/1.1" 200 - -2025-11-29 09:20:24,715 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 09:20:24] "GET /idrac/api/firmware-versions HTTP/1.1" 200 - -2025-11-29 09:20:28,257 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 11:25:00,388 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-29 11:25:00,411 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-29 11:25:00,411 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-29 11:25:00,511 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-29 11:25:00,524 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-29 11:25:00,525 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-29 11:25:00,524 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-29 11:25:00,525 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-29 11:25:00,608 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-29 11:25:00,609 [INFO] werkzeug: Press CTRL+C to quit -2025-11-29 11:25:01,945 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-29 11:25:02,176 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-29 11:25:02,178 [INFO] telegram.ext.Application: Application started -2025-11-29 11:25:05,399 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:25:05] "GET / HTTP/1.1" 302 - -2025-11-29 11:25:05,453 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:25:05] "GET /login?next=/ HTTP/1.1" 200 - -2025-11-29 11:25:05,487 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:25:05] "GET /static/style.css HTTP/1.1" 304 - -2025-11-29 11:25:12,748 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:25:12] "POST /login HTTP/1.1" 500 - -2025-11-29 11:25:12,773 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:25:12] "GET /login?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 - -2025-11-29 11:25:12,779 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:25:12] "GET /login?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 - -2025-11-29 11:25:12,803 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:25:12] "GET /login?__debugger__=yes&cmd=resource&f=console.png&s=xoqKrRi6YNbxcjDr00Te HTTP/1.1" 200 - -2025-11-29 11:25:12,818 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:25:12] "GET /login?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 - -2025-11-29 11:25:12,859 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 11:25:23,086 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 11:25:33,316 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 11:25:46,857 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-29 11:25:46,875 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-29 11:25:46,875 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-29 11:25:46,891 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-29 11:25:46,904 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-29 11:25:46,904 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-29 11:25:46,904 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-29 11:25:46,904 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-29 11:25:46,917 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-29 11:25:46,917 [INFO] werkzeug: Press CTRL+C to quit -2025-11-29 11:25:47,784 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:25:47] "GET /login?next=/ HTTP/1.1" 200 - -2025-11-29 11:25:47,820 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:25:47] "GET /static/style.css HTTP/1.1" 304 - -2025-11-29 11:25:47,834 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:25:47] "GET /static/favicon.ico HTTP/1.1" 200 - -2025-11-29 11:25:47,981 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-29 11:25:48,215 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-29 11:25:48,217 [INFO] telegram.ext.Application: Application started -2025-11-29 11:25:55,161 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-29 11:25:55,161 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-29 11:25:55,164 [WARNING] root: password verify failed: argon2: no backends available -- recommend you install one (e.g. 'pip install argon2_cffi') -2025-11-29 11:25:55,164 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=False -2025-11-29 11:25:55,164 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=False -2025-11-29 11:25:55,165 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:25:55] "POST /login HTTP/1.1" 200 - -2025-11-29 11:25:55,178 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:25:55] "GET /static/style.css HTTP/1.1" 304 - -2025-11-29 11:25:58,922 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 11:26:00,658 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-29 11:26:00,658 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-29 11:26:00,660 [WARNING] root: password verify failed: argon2: no backends available -- recommend you install one (e.g. 'pip install argon2_cffi') -2025-11-29 11:26:00,660 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=False -2025-11-29 11:26:00,660 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=False -2025-11-29 11:26:00,661 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:26:00] "POST /login HTTP/1.1" 200 - -2025-11-29 11:26:00,680 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:26:00] "GET /static/style.css HTTP/1.1" 304 - -2025-11-29 11:26:09,154 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 11:26:14,556 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-29 11:26:14,556 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-29 11:26:14,557 [WARNING] root: password verify failed: argon2: no backends available -- recommend you install one (e.g. 'pip install argon2_cffi') -2025-11-29 11:26:14,557 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=False -2025-11-29 11:26:14,557 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=False -2025-11-29 11:26:14,558 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:26:14] "POST /login HTTP/1.1" 200 - -2025-11-29 11:26:14,571 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:26:14] "GET /static/style.css HTTP/1.1" 304 - -2025-11-29 11:26:14,592 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:26:14] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-29 11:26:16,303 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-29 11:26:16,303 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-29 11:26:16,305 [WARNING] root: password verify failed: argon2: no backends available -- recommend you install one (e.g. 'pip install argon2_cffi') -2025-11-29 11:26:16,305 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=False -2025-11-29 11:26:16,305 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=False -2025-11-29 11:26:16,306 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:26:16] "POST /login HTTP/1.1" 200 - -2025-11-29 11:26:16,318 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:26:16] "GET /static/style.css HTTP/1.1" 304 - -2025-11-29 11:26:16,338 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:26:16] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-29 11:26:19,385 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 11:26:26,537 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-29 11:26:26,537 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-29 11:26:26,538 [WARNING] root: password verify failed: argon2: no backends available -- recommend you install one (e.g. 'pip install argon2_cffi') -2025-11-29 11:26:26,539 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=False -2025-11-29 11:26:26,539 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=False -2025-11-29 11:26:26,539 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:26:26] "POST /login HTTP/1.1" 200 - -2025-11-29 11:26:26,556 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:26:26] "GET /static/style.css HTTP/1.1" 304 - -2025-11-29 11:26:29,618 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 11:26:30,145 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-29 11:26:30,145 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-29 11:26:30,147 [WARNING] root: password verify failed: argon2: no backends available -- recommend you install one (e.g. 'pip install argon2_cffi') -2025-11-29 11:26:30,147 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=False -2025-11-29 11:26:30,147 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=False -2025-11-29 11:26:30,148 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:26:30] "POST /login HTTP/1.1" 200 - -2025-11-29 11:26:30,163 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:26:30] "GET /static/style.css HTTP/1.1" 304 - -2025-11-29 11:26:39,849 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 11:26:46,795 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-29 11:26:46,814 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-29 11:26:46,814 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-29 11:26:46,830 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-29 11:26:46,843 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-29 11:26:46,843 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-29 11:26:46,843 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-29 11:26:46,843 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-29 11:26:46,856 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-29 11:26:46,856 [INFO] werkzeug: Press CTRL+C to quit -2025-11-29 11:26:47,893 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-29 11:26:48,119 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-29 11:26:48,121 [INFO] telegram.ext.Application: Application started -2025-11-29 11:26:48,563 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-29 11:26:48,563 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-29 11:26:48,614 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=False -2025-11-29 11:26:48,614 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=False -2025-11-29 11:26:48,623 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:26:48] "POST /login HTTP/1.1" 200 - -2025-11-29 11:26:48,656 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:26:48] "GET /static/style.css HTTP/1.1" 304 - -2025-11-29 11:26:48,664 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:26:48] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-29 11:26:52,625 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-29 11:26:52,625 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-29 11:26:52,672 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-11-29 11:26:52,672 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-11-29 11:26:52,673 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-29 11:26:52,673 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-29 11:26:52,674 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:26:52] "POST /login HTTP/1.1" 302 - -2025-11-29 11:26:52,700 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:26:52] "GET /index HTTP/1.1" 200 - -2025-11-29 11:26:52,716 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:26:52] "GET /static/style.css HTTP/1.1" 304 - -2025-11-29 11:26:52,728 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:26:52] "GET /static/css/index.css HTTP/1.1" 200 - -2025-11-29 11:26:52,731 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:26:52] "GET /static/script.js HTTP/1.1" 304 - -2025-11-29 11:26:52,734 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:26:52] "GET /static/js/index.js HTTP/1.1" 200 - -2025-11-29 11:26:54,110 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-29 11:26:58,026 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:26:58] "GET /admin HTTP/1.1" 200 - -2025-11-29 11:26:58,039 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:26:58] "GET /static/style.css HTTP/1.1" 304 - -2025-11-29 11:26:58,057 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:26:58] "GET /static/js/admin.js HTTP/1.1" 200 - -2025-11-29 11:26:58,801 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 11:26:59,260 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:26:59] "GET /admin/settings HTTP/1.1" 500 - -2025-11-29 11:26:59,271 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:26:59] "GET /admin/settings?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 - -2025-11-29 11:26:59,274 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:26:59] "GET /admin/settings?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 - -2025-11-29 11:26:59,279 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:26:59] "GET /admin/settings?__debugger__=yes&cmd=resource&f=console.png&s=THSpWanxyHDEaEXGoJp8 HTTP/1.1" 200 - -2025-11-29 11:26:59,302 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:26:59] "GET /admin/settings?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 - -2025-11-29 11:27:09,027 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 11:27:19,254 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 11:27:29,482 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 11:27:34,883 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:27:34] "GET /admin/settings HTTP/1.1" 500 - -2025-11-29 11:27:34,895 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:27:34] "GET /admin/settings?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 304 - -2025-11-29 11:27:34,898 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:27:34] "GET /admin/settings?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 304 - -2025-11-29 11:27:34,904 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:27:34] "GET /admin/settings?__debugger__=yes&cmd=resource&f=console.png&s=THSpWanxyHDEaEXGoJp8 HTTP/1.1" 304 - -2025-11-29 11:27:39,464 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:27:39] "GET /idrac HTTP/1.1" 308 - -2025-11-29 11:27:39,485 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:27:39] "GET /idrac/ HTTP/1.1" 200 - -2025-11-29 11:27:39,505 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:27:39] "GET /static/css/idrac_style.css HTTP/1.1" 200 - -2025-11-29 11:27:39,524 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:27:39] "GET /static/js/idrac_main.js HTTP/1.1" 200 - -2025-11-29 11:27:39,552 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:27:39] "GET /socket.io/?EIO=4&transport=polling&t=PhDR_kS HTTP/1.1" 200 - -2025-11-29 11:27:39,555 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:27:39] "GET /idrac/api/servers HTTP/1.1" 200 - -2025-11-29 11:27:39,558 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:27:39] "GET /idrac/api/groups HTTP/1.1" 200 - -2025-11-29 11:27:39,559 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:27:39] "GET /favicon.ico HTTP/1.1" 404 - -2025-11-29 11:27:39,561 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:27:39] "POST /socket.io/?EIO=4&transport=polling&t=PhDR_kc&sid=Rrkjr7nmXxZXXV5rAAAA HTTP/1.1" 200 - -2025-11-29 11:27:39,563 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:27:39] "GET /socket.io/?EIO=4&transport=polling&t=PhDR_kd&sid=Rrkjr7nmXxZXXV5rAAAA HTTP/1.1" 200 - -2025-11-29 11:27:39,709 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 11:27:40,780 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:27:40] "GET /idrac/api/firmware-versions HTTP/1.1" 200 - -2025-11-29 11:27:43,165 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:27:43] "GET /idrac/api/firmware-versions HTTP/1.1" 200 - -2025-11-29 11:27:47,382 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 11:27:47] "GET /socket.io/?EIO=4&transport=websocket&sid=Rrkjr7nmXxZXXV5rAAAA HTTP/1.1" 200 - -2025-11-29 11:27:49,936 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 11:28:00,164 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:19:05,980 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-29 16:19:06,006 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-29 16:19:06,006 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-29 16:19:06,078 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-29 16:19:06,096 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-29 16:19:06,096 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-29 16:19:06,096 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-29 16:19:06,096 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-29 16:19:06,145 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-29 16:19:06,146 [INFO] werkzeug: Press CTRL+C to quit -2025-11-29 16:19:07,200 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-29 16:19:07,434 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-29 16:19:07,436 [INFO] telegram.ext.Application: Application started -2025-11-29 16:19:12,329 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:19:12] "GET / HTTP/1.1" 302 - -2025-11-29 16:19:12,343 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:19:12] "GET /login?next=/ HTTP/1.1" 200 - -2025-11-29 16:19:12,375 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:19:12] "GET /static/style.css HTTP/1.1" 304 - -2025-11-29 16:19:17,479 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-29 16:19:17,479 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-29 16:19:17,547 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-11-29 16:19:17,547 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-11-29 16:19:17,548 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-29 16:19:17,548 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-29 16:19:17,549 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:19:17] "POST /login HTTP/1.1" 302 - -2025-11-29 16:19:17,564 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:19:17] "GET /index HTTP/1.1" 200 - -2025-11-29 16:19:17,586 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:19:17] "GET /static/style.css HTTP/1.1" 304 - -2025-11-29 16:19:17,590 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:19:17] "GET /static/css/index.css HTTP/1.1" 304 - -2025-11-29 16:19:17,590 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:19:17] "GET /static/js/index.js HTTP/1.1" 304 - -2025-11-29 16:19:17,590 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:19:17] "GET /static/script.js HTTP/1.1" 304 - -2025-11-29 16:19:18,134 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:19:18,818 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-29 16:19:19,001 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:19:19] "GET /admin HTTP/1.1" 200 - -2025-11-29 16:19:19,014 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:19:19] "GET /static/style.css HTTP/1.1" 304 - -2025-11-29 16:19:19,017 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:19:19] "GET /static/js/admin.js HTTP/1.1" 304 - -2025-11-29 16:19:20,031 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:19:20] "GET /admin/settings HTTP/1.1" 500 - -2025-11-29 16:19:20,055 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:19:20] "GET /admin/settings?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 304 - -2025-11-29 16:19:20,070 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:19:20] "GET /admin/settings?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 304 - -2025-11-29 16:19:20,088 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:19:20] "GET /admin/settings?__debugger__=yes&cmd=resource&f=console.png&s=nLGik2o7oqJf9jY3fsog HTTP/1.1" 200 - -2025-11-29 16:19:28,365 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:19:38,596 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:19:48,832 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:19:59,063 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:20:09,295 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:20:19,528 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:20:29,759 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:20:39,991 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:23:51,770 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-29 16:23:51,793 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-29 16:23:51,793 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-29 16:23:51,817 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-29 16:23:51,831 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-29 16:23:51,831 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-29 16:23:51,831 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-29 16:23:51,831 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-29 16:23:51,847 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-29 16:23:51,847 [INFO] werkzeug: Press CTRL+C to quit -2025-11-29 16:23:52,589 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:23:52] "GET /admin/settings HTTP/1.1" 200 - -2025-11-29 16:23:52,671 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:23:52] "GET /static/css/admin_settings.css HTTP/1.1" 200 - -2025-11-29 16:23:52,673 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:23:52] "GET /static/style.css HTTP/1.1" 304 - -2025-11-29 16:23:52,724 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:23:52] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-11-29 16:23:52,926 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-29 16:23:53,156 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-29 16:23:53,158 [INFO] telegram.ext.Application: Application started -2025-11-29 16:23:59,415 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-29 16:23:59,418 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:23:59] "POST /admin/settings/bot/test/1 HTTP/1.1" 302 - -2025-11-29 16:23:59,422 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:23:59] "GET /admin/settings HTTP/1.1" 200 - -2025-11-29 16:23:59,448 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:23:59] "GET /static/style.css HTTP/1.1" 304 - -2025-11-29 16:23:59,448 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:23:59] "GET /static/css/admin_settings.css HTTP/1.1" 304 - -2025-11-29 16:24:03,847 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:24:14,079 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:24:14,607 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:24:14] "GET /admin HTTP/1.1" 200 - -2025-11-29 16:24:14,623 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:24:14] "GET /static/style.css HTTP/1.1" 304 - -2025-11-29 16:24:14,624 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:24:14] "GET /static/js/admin.js HTTP/1.1" 304 - -2025-11-29 16:24:15,836 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:24:15] "GET /admin/settings HTTP/1.1" 200 - -2025-11-29 16:24:15,852 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:24:15] "GET /static/style.css HTTP/1.1" 304 - -2025-11-29 16:24:15,855 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:24:15] "GET /static/css/admin_settings.css HTTP/1.1" 304 - -2025-11-29 16:24:17,060 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:24:17] "GET /admin HTTP/1.1" 200 - -2025-11-29 16:24:17,074 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:24:17] "GET /static/style.css HTTP/1.1" 304 - -2025-11-29 16:24:17,080 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:24:17] "GET /static/js/admin.js HTTP/1.1" 304 - -2025-11-29 16:24:17,684 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:24:17] "GET /index HTTP/1.1" 200 - -2025-11-29 16:24:17,703 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:24:17] "GET /static/style.css HTTP/1.1" 304 - -2025-11-29 16:24:17,705 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:24:17] "GET /static/css/index.css HTTP/1.1" 304 - -2025-11-29 16:24:17,708 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:24:17] "GET /static/js/index.js HTTP/1.1" 304 - -2025-11-29 16:24:17,709 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:24:17] "GET /static/script.js HTTP/1.1" 304 - -2025-11-29 16:24:18,247 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:24:18] "GET /xml_management HTTP/1.1" 200 - -2025-11-29 16:24:18,262 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:24:18] "GET /static/style.css HTTP/1.1" 304 - -2025-11-29 16:24:18,266 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:24:18] "GET /static/css/scp.css HTTP/1.1" 200 - -2025-11-29 16:24:18,267 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:24:18] "GET /static/js/scp.js HTTP/1.1" 200 - -2025-11-29 16:24:20,336 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:24:20] "GET /edit_xml/LinePlus_T1.xml HTTP/1.1" 200 - -2025-11-29 16:24:20,365 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:24:20] "GET /static/css/edit_xml.css HTTP/1.1" 200 - -2025-11-29 16:24:20,368 [INFO] werkzeug: 127.0.0.1 - - [29/Nov/2025 16:24:20] "GET /static/style.css HTTP/1.1" 304 - -2025-11-29 16:24:24,311 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:24:34,542 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:24:44,774 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:24:55,005 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:25:05,234 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:25:15,464 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:25:25,695 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:25:35,928 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:25:46,157 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:25:56,389 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:26:06,619 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:26:16,849 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:26:27,079 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:26:37,310 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:26:47,540 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:26:57,770 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:27:08,002 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:27:18,232 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:27:28,463 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:27:38,693 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:27:48,923 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:27:59,154 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:28:09,384 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:28:19,614 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:28:29,845 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:28:40,076 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:28:50,307 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:29:00,537 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:29:10,768 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:29:20,998 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:29:31,228 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-29 16:29:41,458 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" diff --git a/data/logs/2025-11-30.log b/data/logs/2025-11-30.log deleted file mode 100644 index ef27a00..0000000 --- a/data/logs/2025-11-30.log +++ /dev/null @@ -1,96 +0,0 @@ -2025-11-30 07:56:33,462 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-11-30 07:56:33,483 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-30 07:56:33,483 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-11-30 07:56:33,535 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-11-30 07:56:33,548 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-30 07:56:33,548 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-11-30 07:56:33,549 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-30 07:56:33,549 [INFO] app: Starting polling for bot: admin_bot (ID: 1) -2025-11-30 07:56:33,595 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.122:5000 -2025-11-30 07:56:33,595 [INFO] werkzeug: Press CTRL+C to quit -2025-11-30 07:56:34,624 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-11-30 07:56:34,851 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-11-30 07:56:34,853 [INFO] telegram.ext.Application: Application started -2025-11-30 07:56:36,685 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:56:36] "GET / HTTP/1.1" 302 - -2025-11-30 07:56:36,714 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:56:36] "GET /login?next=/ HTTP/1.1" 200 - -2025-11-30 07:56:36,751 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:56:36] "GET /static/style.css HTTP/1.1" 304 - -2025-11-30 07:56:43,202 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-30 07:56:43,202 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-11-30 07:56:43,274 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-11-30 07:56:43,274 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-11-30 07:56:43,275 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-30 07:56:43,275 [INFO] app: LOGIN: SUCCESS → redirect -2025-11-30 07:56:43,276 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:56:43] "POST /login HTTP/1.1" 302 - -2025-11-30 07:56:43,301 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:56:43] "GET /index HTTP/1.1" 200 - -2025-11-30 07:56:43,321 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:56:43] "GET /static/style.css HTTP/1.1" 304 - -2025-11-30 07:56:43,326 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:56:43] "GET /static/css/index.css HTTP/1.1" 200 - -2025-11-30 07:56:43,334 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:56:43] "GET /static/script.js HTTP/1.1" 304 - -2025-11-30 07:56:43,339 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:56:43] "GET /static/js/index.js HTTP/1.1" 200 - -2025-11-30 07:56:44,539 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-11-30 07:56:45,533 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-30 07:56:55,764 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-30 07:57:05,992 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-30 07:57:16,220 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-30 07:57:20,071 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:20] "GET /admin HTTP/1.1" 200 - -2025-11-30 07:57:20,087 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:20] "GET /static/style.css HTTP/1.1" 304 - -2025-11-30 07:57:20,091 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:20] "GET /static/js/admin.js HTTP/1.1" 200 - -2025-11-30 07:57:21,784 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:21] "GET /jobs HTTP/1.1" 200 - -2025-11-30 07:57:21,802 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:21] "GET /static/style.css HTTP/1.1" 304 - -2025-11-30 07:57:21,812 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:21] "GET /static/css/jobs.css HTTP/1.1" 200 - -2025-11-30 07:57:21,827 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:21] "GET /static/js/jobs.js HTTP/1.1" 200 - -2025-11-30 07:57:21,832 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:21] "GET /jobs/config HTTP/1.1" 200 - -2025-11-30 07:57:21,837 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-11-30 07:57:21,837 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:21] "GET /jobs/iplist HTTP/1.1" 200 - -2025-11-30 07:57:23,860 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:23] "GET /admin HTTP/1.1" 200 - -2025-11-30 07:57:23,873 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:23] "GET /static/style.css HTTP/1.1" 304 - -2025-11-30 07:57:23,877 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:23] "GET /static/js/admin.js HTTP/1.1" 304 - -2025-11-30 07:57:26,447 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-30 07:57:27,008 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:27] "GET /admin/settings HTTP/1.1" 200 - -2025-11-30 07:57:27,021 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:27] "GET /static/style.css HTTP/1.1" 304 - -2025-11-30 07:57:27,032 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:27] "GET /static/css/admin_settings.css HTTP/1.1" 200 - -2025-11-30 07:57:35,500 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:35] "GET /jobs HTTP/1.1" 200 - -2025-11-30 07:57:35,514 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:35] "GET /static/style.css HTTP/1.1" 304 - -2025-11-30 07:57:35,517 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:35] "GET /static/css/jobs.css HTTP/1.1" 304 - -2025-11-30 07:57:35,518 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:35] "GET /static/js/jobs.js HTTP/1.1" 304 - -2025-11-30 07:57:35,537 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:35] "GET /jobs/config HTTP/1.1" 200 - -2025-11-30 07:57:35,542 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-11-30 07:57:35,542 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:35] "GET /jobs/iplist HTTP/1.1" 200 - -2025-11-30 07:57:36,597 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:36] "GET /xml_management HTTP/1.1" 200 - -2025-11-30 07:57:36,610 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:36] "GET /static/style.css HTTP/1.1" 304 - -2025-11-30 07:57:36,615 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:36] "GET /static/css/scp.css HTTP/1.1" 200 - -2025-11-30 07:57:36,615 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:36] "GET /static/js/scp.js HTTP/1.1" 200 - -2025-11-30 07:57:36,674 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-30 07:57:40,721 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:40] "GET /edit_xml/LinePlus_T1.xml HTTP/1.1" 200 - -2025-11-30 07:57:40,734 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:40] "GET /static/style.css HTTP/1.1" 304 - -2025-11-30 07:57:40,738 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:40] "GET /static/css/edit_xml.css HTTP/1.1" 200 - -2025-11-30 07:57:42,310 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:42] "GET /xml_management HTTP/1.1" 200 - -2025-11-30 07:57:42,322 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:42] "GET /static/style.css HTTP/1.1" 304 - -2025-11-30 07:57:42,326 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:42] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-11-30 07:57:42,327 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:57:42] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-11-30 07:57:46,902 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-30 07:57:57,128 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-30 07:58:07,122 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:58:07] "GET /scp/diff?file1=R6615.xml&file2=R6615_raid.xml HTTP/1.1" 200 - -2025-11-30 07:58:07,138 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:58:07] "GET /static/style.css HTTP/1.1" 304 - -2025-11-30 07:58:07,140 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:58:07] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-11-30 07:58:07,356 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-30 07:58:17,592 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-30 07:58:19,128 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:58:19] "GET /xml_management HTTP/1.1" 200 - -2025-11-30 07:58:19,142 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:58:19] "GET /static/style.css HTTP/1.1" 304 - -2025-11-30 07:58:19,146 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:58:19] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-11-30 07:58:19,146 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:58:19] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-11-30 07:58:19,647 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:58:19] "GET /index HTTP/1.1" 200 - -2025-11-30 07:58:19,661 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:58:19] "GET /static/style.css HTTP/1.1" 304 - -2025-11-30 07:58:19,667 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:58:19] "GET /static/css/index.css HTTP/1.1" 304 - -2025-11-30 07:58:19,667 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:58:19] "GET /static/js/index.js HTTP/1.1" 304 - -2025-11-30 07:58:19,668 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:58:19] "GET /static/script.js HTTP/1.1" 304 - -2025-11-30 07:58:24,733 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:58:24] "GET /home/ HTTP/1.1" 200 - -2025-11-30 07:58:24,746 [INFO] werkzeug: 127.0.0.1 - - [30/Nov/2025 07:58:24] "GET /static/style.css HTTP/1.1" 304 - -2025-11-30 07:58:27,818 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-30 07:58:38,046 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-30 07:58:48,273 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-30 07:58:58,501 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-30 07:59:08,734 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-11-30 07:59:18,960 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" diff --git a/data/logs/2025-12-18.log b/data/logs/2025-12-18.log deleted file mode 100644 index 97a465c..0000000 --- a/data/logs/2025-12-18.log +++ /dev/null @@ -1,3824 +0,0 @@ -2025-12-18 13:01:00,619 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-12-18 13:01:00,637 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-18 13:01:00,637 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-18 13:01:00,773 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-12-18 13:01:00,786 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-18 13:01:00,787 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-12-18 13:01:00,786 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-18 13:01:00,899 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.20:5000 -2025-12-18 13:01:00,899 [INFO] werkzeug: Press CTRL+C to quit -2025-12-18 13:01:01,819 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-12-18 13:01:02,044 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-12-18 13:01:02,046 [INFO] telegram.ext.Application: Application started -2025-12-18 13:01:06,434 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:01:06] "GET / HTTP/1.1" 302 - -2025-12-18 13:01:06,473 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:01:06] "GET /login?next=/ HTTP/1.1" 200 - -2025-12-18 13:01:06,515 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:01:06] "GET /static/style.css HTTP/1.1" 200 - -2025-12-18 13:01:06,576 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:01:06] "GET /static/favicon.ico HTTP/1.1" 200 - -2025-12-18 13:01:12,724 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:01:15,906 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-12-18 13:01:15,906 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-12-18 13:01:15,946 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-12-18 13:01:15,946 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-12-18 13:01:15,947 [INFO] app: LOGIN: SUCCESS → redirect -2025-12-18 13:01:15,947 [INFO] app: LOGIN: SUCCESS → redirect -2025-12-18 13:01:15,948 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:01:15] "POST /login HTTP/1.1" 302 - -2025-12-18 13:01:15,983 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:01:15] "GET /index HTTP/1.1" 200 - -2025-12-18 13:01:16,001 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:01:16] "GET /static/css/index.css HTTP/1.1" 200 - -2025-12-18 13:01:16,002 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:01:16] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:01:16,011 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:01:16] "GET /static/script.js HTTP/1.1" 200 - -2025-12-18 13:01:16,014 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:01:16] "GET /static/js/index.js HTTP/1.1" 200 - -2025-12-18 13:01:17,210 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-12-18 13:01:22,951 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:01:33,178 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:01:43,405 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:01:53,635 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:02:03,864 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:02:14,091 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:05:51,960 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-12-18 13:05:51,977 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-18 13:05:51,977 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-18 13:05:51,992 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-12-18 13:05:52,003 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-18 13:05:52,003 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-12-18 13:05:52,003 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-18 13:05:52,019 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.20:5000 -2025-12-18 13:05:52,019 [INFO] werkzeug: Press CTRL+C to quit -2025-12-18 13:05:53,021 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-12-18 13:05:53,248 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-12-18 13:05:53,250 [INFO] telegram.ext.Application: Application started -2025-12-18 13:05:54,434 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:05:54] "GET /index HTTP/1.1" 200 - -2025-12-18 13:05:54,527 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:05:54] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:05:54,531 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:05:54] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 13:05:54,532 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:05:54] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 13:05:54,534 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:05:54] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 13:05:54,556 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:05:54] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 13:06:03,928 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:06:14,154 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:06:24,380 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:06:34,607 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:06:44,834 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:06:55,060 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:07:05,286 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:07:15,512 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:07:25,738 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:07:35,964 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:07:46,190 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:07:53,008 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:07:53] "GET /index HTTP/1.1" 200 - -2025-12-18 13:07:53,032 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:07:53] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:07:53,035 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:07:53] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 13:07:53,036 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:07:53] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 13:07:53,036 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:07:53] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 13:07:53,543 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:07:53] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 13:07:53,562 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:07:53] "GET /static/css/scp.css HTTP/1.1" 200 - -2025-12-18 13:07:53,563 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:07:53] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:07:53,563 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:07:53] "GET /static/js/scp.js HTTP/1.1" 200 - -2025-12-18 13:07:56,416 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:07:57,965 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:07:57] "GET /jobs HTTP/1.1" 200 - -2025-12-18 13:07:57,979 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:07:57] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:07:57,980 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:07:57] "GET /static/css/jobs.css HTTP/1.1" 200 - -2025-12-18 13:07:57,981 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:07:57] "GET /static/js/jobs.js HTTP/1.1" 200 - -2025-12-18 13:07:57,993 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:07:57] "GET /jobs/config HTTP/1.1" 200 - -2025-12-18 13:07:58,008 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-12-18 13:07:58,009 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:07:58] "GET /jobs/iplist HTTP/1.1" 200 - -2025-12-18 13:07:59,990 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:07:59] "GET /index HTTP/1.1" 200 - -2025-12-18 13:08:00,005 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:08:00] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:08:00,006 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:08:00] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 13:08:00,009 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:08:00] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 13:08:00,009 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:08:00] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 13:11:40,175 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-12-18 13:11:40,192 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-18 13:11:40,192 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-18 13:11:40,208 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-12-18 13:11:40,220 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-18 13:11:40,220 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-18 13:11:40,220 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-12-18 13:11:40,237 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.20:5000 -2025-12-18 13:11:40,237 [INFO] werkzeug: Press CTRL+C to quit -2025-12-18 13:11:40,304 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:11:40] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 13:11:40,357 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:11:40] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:11:40,357 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:11:40] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 13:11:40,537 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:11:40] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 13:11:40,550 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:11:40] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 13:11:41,258 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-12-18 13:11:41,485 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-12-18 13:11:41,487 [INFO] telegram.ext.Application: Application started -2025-12-18 13:11:52,158 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:12:02,383 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:12:12,608 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:12:22,832 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:12:33,055 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:12:43,279 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:12:53,503 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:13:03,727 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:13:13,951 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:13:24,174 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:13:34,398 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:13:44,622 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:13:54,846 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:13:55,685 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:13:55] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 13:13:55,703 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:13:55] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:13:55,708 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:13:55] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 13:13:55,709 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:13:55] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 13:14:02,747 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:14:02] "POST /upload_xml HTTP/1.1" 302 - -2025-12-18 13:14:02,751 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:14:02] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 13:14:02,775 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:14:02] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:14:02,775 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:14:02] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 13:14:02,776 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:14:02] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 13:14:05,070 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:14:15,297 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:14:25,522 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:14:35,746 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:14:45,970 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:14:56,194 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:15:06,418 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:15:16,643 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:15:26,866 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:15:37,090 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:15:42,305 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:15:42] "GET /edit_xml/LinePlus_T1.xml HTTP/1.1" 200 - -2025-12-18 13:15:42,325 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:15:42] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:15:42,328 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:15:42] "GET /static/css/edit_xml.css HTTP/1.1" 200 - -2025-12-18 13:15:43,750 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:15:43] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 13:15:43,767 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:15:43] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:15:43,768 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:15:43] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 13:15:43,769 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:15:43] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 13:15:47,315 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:15:57,538 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:16:07,763 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:16:17,987 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:16:28,211 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:16:38,435 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:16:48,658 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:16:58,882 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:17:09,106 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:17:19,329 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:17:29,553 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:17:39,776 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:17:48,823 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:17:48] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 13:17:48,841 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:17:48] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 13:17:48,842 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:17:48] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:17:48,842 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:17:48] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 13:17:48,882 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:17:48] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 13:17:50,000 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:18:00,223 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:18:10,447 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:18:20,671 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:18:30,894 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:18:41,119 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:18:51,343 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:18:56,059 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:18:56] "GET /index HTTP/1.1" 200 - -2025-12-18 13:18:56,081 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:18:56] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:18:56,084 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:18:56] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 13:18:56,085 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:18:56] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 13:18:56,086 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:18:56] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 13:19:01,567 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:19:11,791 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:19:22,015 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:19:29,940 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:19:29] "GET /index HTTP/1.1" 200 - -2025-12-18 13:19:29,957 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:19:29] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:19:29,961 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:19:29] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 13:19:29,961 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:19:29] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 13:19:29,962 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:19:29] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 13:19:29,997 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:19:29] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 13:19:30,684 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:19:30] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 13:19:30,701 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:19:30] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:19:30,702 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:19:30] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 13:19:30,703 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:19:30] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 13:19:31,323 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:19:31] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 13:19:31,336 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:19:31] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:19:31,340 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:19:31] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 13:19:31,341 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:19:31] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 13:19:31,376 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:19:31] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 13:19:32,239 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:19:42,463 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:19:52,687 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:19:54,888 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:19:54] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 13:19:54,902 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:19:54] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:19:54,905 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:19:54] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 13:19:54,906 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:19:54] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 13:19:54,934 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:19:54] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 13:20:02,910 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:20:03,908 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:20:03] "GET /edit_xml/R6625_RAID.xml HTTP/1.1" 200 - -2025-12-18 13:20:03,926 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:20:03] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:20:03,929 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:20:03] "GET /static/css/edit_xml.css HTTP/1.1" 304 - -2025-12-18 13:20:13,134 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:20:14,807 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:20:14] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 13:20:14,823 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:20:14] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:20:14,828 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:20:14] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 13:20:14,828 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:20:14] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 13:20:23,358 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:20:33,584 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:20:43,808 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:20:54,032 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:21:04,256 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:21:11,128 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:21:11] "GET /edit_xml/R650_TY1.xml HTTP/1.1" 200 - -2025-12-18 13:21:11,146 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:21:11] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:21:14,480 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:21:24,704 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:21:30,544 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:21:30] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 13:21:30,560 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:21:30] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:21:30,562 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:21:30] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 13:21:30,563 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:21:30] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 13:21:31,368 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:21:31] "GET /edit_xml/T6_R760_RAID_A.xml HTTP/1.1" 200 - -2025-12-18 13:21:31,380 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:21:31] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:21:33,731 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:21:33] "GET /edit_xml/R6625_RAID.xml HTTP/1.1" 200 - -2025-12-18 13:21:33,746 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:21:33] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:21:34,928 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:21:45,153 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:21:55,377 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:22:05,601 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:22:15,825 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:22:26,052 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:22:36,276 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:22:46,500 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:22:56,049 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:22:56] "GET /index HTTP/1.1" 200 - -2025-12-18 13:22:56,066 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:22:56] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:22:56,068 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:22:56] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 13:22:56,069 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:22:56] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 13:22:56,070 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:22:56] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 13:22:56,724 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:23:06,947 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:23:17,171 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:23:27,395 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:23:37,618 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:23:47,842 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:23:58,065 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:24:08,290 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:24:18,515 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:24:28,739 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:24:38,962 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:24:49,186 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:24:59,410 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:25:09,634 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:25:19,858 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:25:30,083 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:25:40,309 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:25:48,147 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:25:48] "GET /index HTTP/1.1" 200 - -2025-12-18 13:25:48,166 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:25:48] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:25:48,168 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:25:48] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 13:25:48,168 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:25:48] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 13:25:48,169 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:25:48] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 13:25:48,199 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:25:48] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 13:25:49,234 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:25:49] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 13:25:49,246 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:25:49] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:25:49,249 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:25:49] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 13:25:49,249 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:25:49] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 13:25:50,181 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:25:50] "GET /edit_xml/R650_TY1.xml HTTP/1.1" 200 - -2025-12-18 13:25:50,196 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:25:50] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:25:50,532 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:26:00,757 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:26:10,980 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:26:21,204 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:26:31,429 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:26:41,653 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:26:51,877 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:27:02,100 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:27:12,325 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:27:22,548 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:27:32,772 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:27:42,996 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:27:53,221 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:27:59,684 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:27:59] "GET /jobs HTTP/1.1" 200 - -2025-12-18 13:27:59,704 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:27:59] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:27:59,705 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:27:59] "GET /static/css/jobs.css HTTP/1.1" 304 - -2025-12-18 13:27:59,706 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:27:59] "GET /static/js/jobs.js HTTP/1.1" 304 - -2025-12-18 13:27:59,735 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:27:59] "GET /jobs/config HTTP/1.1" 200 - -2025-12-18 13:27:59,742 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-12-18 13:27:59,742 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:27:59] "GET /jobs/iplist HTTP/1.1" 200 - -2025-12-18 13:28:03,444 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:28:13,667 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:28:23,891 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:28:34,114 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:28:44,338 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:28:55,019 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:29:05,246 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:29:15,471 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:29:25,697 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:29:35,924 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:29:46,152 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:29:56,379 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:30:06,607 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:30:09,619 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:30:09] "GET /admin HTTP/1.1" 200 - -2025-12-18 13:30:09,639 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:30:09] "GET /static/js/admin.js HTTP/1.1" 200 - -2025-12-18 13:30:09,640 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:30:09] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:30:16,833 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:30:21,870 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:30:21] "GET /index HTTP/1.1" 200 - -2025-12-18 13:30:21,890 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:30:21] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:30:21,892 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:30:21] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 13:30:21,893 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:30:21] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 13:30:21,894 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:30:21] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 13:30:27,060 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:30:29,000 [INFO] app: LOGOUT: user=김강희 -2025-12-18 13:30:29,000 [INFO] app: LOGOUT: user=김강희 -2025-12-18 13:30:29,002 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:30:29] "GET /logout HTTP/1.1" 302 - -2025-12-18 13:30:29,007 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:30:29] "GET /login HTTP/1.1" 200 - -2025-12-18 13:30:29,022 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:30:29] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:30:30,242 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-12-18 13:30:37,288 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:30:47,517 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:30:53,934 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-12-18 13:30:53,934 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-12-18 13:30:53,973 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-12-18 13:30:53,973 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-12-18 13:30:53,974 [INFO] app: LOGIN: SUCCESS → redirect -2025-12-18 13:30:53,974 [INFO] app: LOGIN: SUCCESS → redirect -2025-12-18 13:30:53,975 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:30:53] "POST /login HTTP/1.1" 302 - -2025-12-18 13:30:53,980 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:30:53] "GET /index HTTP/1.1" 200 - -2025-12-18 13:30:54,001 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:30:54] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:30:54,003 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:30:54] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 13:30:54,003 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:30:54] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 13:30:54,004 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:30:54] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 13:30:55,186 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-12-18 13:30:57,744 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:31:07,970 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:31:18,198 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:31:28,428 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:31:38,654 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:31:48,880 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:31:59,107 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:32:09,332 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:32:19,559 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:32:29,793 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:32:40,018 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:32:50,245 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:33:00,471 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:33:10,697 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:33:20,923 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:33:31,148 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:33:41,374 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:33:51,601 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:34:01,835 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:34:12,060 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:34:22,287 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:34:32,514 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:34:42,739 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:34:52,968 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:35:03,195 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:35:13,422 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:35:23,649 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:35:33,876 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:35:44,101 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:35:48,709 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:35:48] "GET /jobs HTTP/1.1" 200 - -2025-12-18 13:35:48,746 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:35:48] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:35:48,748 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:35:48] "GET /static/css/jobs.css HTTP/1.1" 304 - -2025-12-18 13:35:48,749 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:35:48] "GET /static/js/jobs.js HTTP/1.1" 304 - -2025-12-18 13:35:48,775 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:35:48] "GET /jobs/config HTTP/1.1" 200 - -2025-12-18 13:35:48,781 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-12-18 13:35:48,781 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:35:48] "GET /jobs/iplist HTTP/1.1" 200 - -2025-12-18 13:35:49,481 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:35:49] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 13:35:49,500 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:35:49] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:35:49,501 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:35:49] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 13:35:49,502 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:35:49] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 13:35:51,057 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:35:51] "GET /edit_xml/PO-20250826-0158%20_가산3_XE9680_384EA.xml HTTP/1.1" 200 - -2025-12-18 13:35:51,072 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:35:51] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:35:54,328 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:36:00,949 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:36:00] "GET /scp/diff?file1=R650_TY1.xml&file2=R6615.xml HTTP/1.1" 200 - -2025-12-18 13:36:00,963 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:36:00] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:36:00,964 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:36:00] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 13:36:04,555 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:36:14,781 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:36:25,008 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:36:35,235 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:36:45,461 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:36:55,686 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:37:05,913 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:37:16,139 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:37:21,555 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:37:21] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 13:37:21,571 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:37:21] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:37:21,572 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:37:21] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 13:37:21,573 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:37:21] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 13:37:21,599 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:37:21] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 13:37:24,147 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:37:24] "GET /scp/diff?file1=R650_TY1.xml&file2=R6615.xml HTTP/1.1" 200 - -2025-12-18 13:37:24,161 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:37:24] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:37:26,365 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:37:36,593 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:37:46,821 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:37:51,370 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:37:51] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 13:37:51,382 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:37:51] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:37:51,387 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:37:51] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 13:37:51,387 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:37:51] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 13:37:51,414 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:37:51] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 13:37:57,047 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:38:07,272 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:38:17,499 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:38:27,725 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:38:37,951 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:38:48,177 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:38:58,406 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:39:08,633 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:39:18,859 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:39:29,085 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:39:39,312 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:39:40,196 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:39:40] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 13:39:40,217 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:39:40] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:39:40,218 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:39:40] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 13:39:40,219 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:39:40] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 13:39:40,251 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:39:40] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 13:39:43,678 [ERROR] backend.routes.scp_routes: Diff error: Object of type Undefined is not JSON serializable -2025-12-18 13:39:43,679 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:39:43] "GET /scp/diff?file1=R650_TY1.xml&file2=R6615.xml HTTP/1.1" 302 - -2025-12-18 13:39:43,683 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:39:43] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 13:39:43,707 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:39:43] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:39:43,707 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:39:43] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 13:39:43,708 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:39:43] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 13:39:49,543 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:39:52,523 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:39:52] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 13:39:52,535 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:39:52] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:39:52,539 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:39:52] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 13:39:52,540 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:39:52] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 13:39:52,565 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:39:52] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 13:39:59,782 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:40:10,010 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:40:20,238 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:40:30,467 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:40:40,695 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:40:50,921 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:41:01,147 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:41:08,572 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:41:08] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 13:41:08,589 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:41:08] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:41:08,594 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:41:08] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 13:41:08,594 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:41:08] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 13:41:08,629 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:41:08] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 13:41:10,717 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:41:10] "GET /scp/diff?file1=R650_TY1.xml&file2=R6615.xml HTTP/1.1" 200 - -2025-12-18 13:41:10,733 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:41:10] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:41:11,376 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:41:21,602 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:41:31,829 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:41:33,789 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:41:33] "GET /edit_xml/R6615.xml HTTP/1.1" 200 - -2025-12-18 13:41:33,805 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:41:33] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:41:42,054 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:41:47,058 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:41:47] "GET /scp/diff?file1=R6615.xml&file2=R6625_RAID.xml HTTP/1.1" 200 - -2025-12-18 13:41:47,072 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:41:47] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:41:52,280 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:42:02,505 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:42:12,731 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:42:22,956 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:42:33,183 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:42:43,411 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:42:53,639 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:43:03,865 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:43:14,095 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:43:24,322 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:43:34,548 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:43:40,892 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:43:40] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 13:43:40,910 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:43:40] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:43:40,913 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:43:40] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 13:43:40,928 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:43:40] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 13:43:40,957 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:43:40] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 13:43:43,553 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:43:43] "GET /scp/diff?file1=R650_TY1.xml&file2=R6615.xml HTTP/1.1" 200 - -2025-12-18 13:43:43,575 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:43:43] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:43:44,775 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:43:55,001 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:44:05,230 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:44:08,973 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:44:08] "GET /scp/diff?file1=T6_R760_XML_P.xml&file2=T6_R760_XML_S.xml HTTP/1.1" 200 - -2025-12-18 13:44:08,986 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:44:08] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:44:15,457 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:44:25,684 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:44:35,909 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:44:46,135 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:44:56,361 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:45:06,588 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:45:16,816 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:45:27,041 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:45:37,268 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:45:47,494 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:45:58,181 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:46:08,414 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:46:18,640 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:46:28,866 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:46:39,098 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:46:49,325 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:46:54,776 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:46:54] "GET /scp/diff?file1=T6_R760_XML_P.xml&file2=T6_R760_XML_S.xml HTTP/1.1" 200 - -2025-12-18 13:46:54,794 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:46:54] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:46:54,838 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:46:54] "GET /scp/content/T6_R760_XML_P.xml HTTP/1.1" 404 - -2025-12-18 13:46:54,838 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:46:54] "GET /scp/content/T6_R760_XML_S.xml HTTP/1.1" 404 - -2025-12-18 13:46:54,844 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:46:54] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 13:46:55,474 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:46:55] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 13:46:55,488 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:46:55] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:46:55,489 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:46:55] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 13:46:55,490 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:46:55] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 13:46:59,552 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:47:08,069 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:47:08] "GET /scp/diff?file1=T8A_R6625_P.xml&file2=T8A_R6625_P_NoRaid.xml HTTP/1.1" 200 - -2025-12-18 13:47:08,084 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:47:08] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:47:08,135 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:47:08] "GET /scp/content/T8A_R6625_P_NoRaid.xml HTTP/1.1" 404 - -2025-12-18 13:47:08,135 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:47:08] "GET /scp/content/T8A_R6625_P.xml HTTP/1.1" 404 - -2025-12-18 13:47:09,778 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:47:20,005 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:47:25,707 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:47:25] "GET /edit_xml/T8A_R6625_P.xml HTTP/1.1" 200 - -2025-12-18 13:47:25,721 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:47:25] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:47:30,231 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:47:40,465 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:47:50,692 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:48:00,921 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:48:11,154 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:48:21,380 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:48:31,607 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:48:41,833 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:48:52,060 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:48:53,403 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:48:53] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 13:48:53,419 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:48:53] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:48:53,420 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:48:53] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 13:48:53,421 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:48:53] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 13:48:53,451 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:48:53] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 13:48:54,396 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:48:54] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 13:48:54,409 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:48:54] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:48:54,413 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:48:54] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 13:48:54,413 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:48:54] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 13:48:54,448 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:48:54] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 13:48:57,256 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:48:57] "GET /scp/diff?file1=T8A_R6625_P.xml&file2=T8A_R6625_P_NoRaid.xml HTTP/1.1" 200 - -2025-12-18 13:48:57,271 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:48:57] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:49:02,287 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:49:12,514 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:49:22,742 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:49:44,641 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-12-18 13:49:44,660 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-18 13:49:44,660 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-18 13:49:44,677 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-12-18 13:49:44,689 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-18 13:49:44,689 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-18 13:49:44,689 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-12-18 13:49:44,706 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.20:5000 -2025-12-18 13:49:44,706 [INFO] werkzeug: Press CTRL+C to quit -2025-12-18 13:49:45,410 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:49:45] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 13:49:45,484 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:49:45] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:49:45,487 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:49:45] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 13:49:45,488 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:49:45] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 13:49:45,574 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:49:45] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 13:49:45,709 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-12-18 13:49:45,932 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-12-18 13:49:45,934 [INFO] telegram.ext.Application: Application started -2025-12-18 13:49:48,170 [INFO] backend.routes.scp_routes: Reading file1: D:\Code\iDRAC_Info\idrac_info\data\xml\LinePlus_T1.xml -2025-12-18 13:49:48,171 [INFO] backend.routes.scp_routes: Reading file2: D:\Code\iDRAC_Info\idrac_info\data\xml\PO-20250826-0158 _가산3_XE9680_384EA.xml -2025-12-18 13:49:48,171 [INFO] backend.routes.scp_routes: Content1 length: 244874, Content2 length: 272030 -2025-12-18 13:49:48,176 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:49:48] "GET /scp/diff?file1=LinePlus_T1.xml&file2=PO-20250826-0158%20_가산3_XE9680_384EA.xml HTTP/1.1" 200 - -2025-12-18 13:49:48,192 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:49:48] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:49:56,611 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:50:06,812 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:50:06] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 13:50:06,824 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:50:06] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:50:06,829 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:50:06] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 13:50:06,830 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:50:06] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 13:50:06,840 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:50:06,862 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:50:06] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 13:50:07,244 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:50:07] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 13:50:07,259 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:50:07] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:50:07,262 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:50:07] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 13:50:07,263 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:50:07] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 13:50:07,293 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:50:07] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 13:50:07,404 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:50:07] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 13:50:07,418 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:50:07] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:50:07,425 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:50:07] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 13:50:07,425 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:50:07] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 13:50:07,458 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:50:07] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 13:50:07,573 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:50:07] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 13:50:07,585 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:50:07] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:50:07,590 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:50:07] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 13:50:07,590 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:50:07] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 13:50:07,629 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:50:07] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 13:50:10,063 [INFO] backend.routes.scp_routes: Reading file1: D:\Code\iDRAC_Info\idrac_info\data\xml\T8A_R6625_P.xml -2025-12-18 13:50:10,063 [INFO] backend.routes.scp_routes: Reading file2: D:\Code\iDRAC_Info\idrac_info\data\xml\T8A_R6625_P_NoRaid.xml -2025-12-18 13:50:10,063 [INFO] backend.routes.scp_routes: Content1 length: 242350, Content2 length: 240509 -2025-12-18 13:50:10,066 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:50:10] "GET /scp/diff?file1=T8A_R6625_P.xml&file2=T8A_R6625_P_NoRaid.xml HTTP/1.1" 200 - -2025-12-18 13:50:10,081 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:50:10] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:50:17,069 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:50:27,296 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:50:35,842 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:50:35] "GET /home/ HTTP/1.1" 200 - -2025-12-18 13:50:35,856 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:50:35] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:50:37,523 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:50:47,751 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:50:47,790 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:50:47] "GET /home/ HTTP/1.1" 200 - -2025-12-18 13:50:47,804 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:50:47] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:50:48,278 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:50:48] "GET /index HTTP/1.1" 200 - -2025-12-18 13:50:48,292 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:50:48] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 13:50:48,297 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:50:48] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 13:50:48,298 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:50:48] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 13:50:48,299 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 13:50:48] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 13:50:57,978 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:51:08,208 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:51:18,434 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:51:28,660 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:51:38,885 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:51:49,115 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:51:59,342 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:52:09,567 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:52:19,798 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:52:30,027 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:52:40,252 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:52:50,479 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:53:00,707 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:53:10,932 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:53:21,161 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:53:31,387 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:53:41,614 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:53:51,839 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:54:02,067 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:54:12,296 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:54:22,523 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:54:32,750 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:54:42,978 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:54:53,204 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:55:03,432 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:55:13,659 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:55:23,888 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:55:34,146 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:55:44,373 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:55:54,599 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:56:04,849 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:56:15,077 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:56:25,305 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:56:35,531 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:56:45,758 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:56:55,984 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:57:06,212 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:57:16,437 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:57:26,663 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:57:36,890 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:57:47,115 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:57:57,352 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:58:07,579 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:58:17,805 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:58:28,031 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:58:38,269 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:58:48,495 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:58:58,722 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:59:08,950 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:59:19,196 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:59:29,424 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:59:39,650 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 13:59:49,876 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:00:00,103 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:00:10,331 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:00:20,557 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:00:30,784 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:00:41,011 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:00:51,237 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:01:01,463 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:01:11,689 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:01:21,915 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:01:32,141 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:01:42,367 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:01:52,600 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:02:02,825 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:02:13,053 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:02:23,278 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:02:33,504 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:02:43,731 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:02:53,958 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:03:04,184 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:03:14,414 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:03:24,641 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:03:34,871 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:03:45,097 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:03:55,324 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:04:05,551 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:04:15,779 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:04:26,006 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:04:36,235 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:04:46,463 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:04:56,689 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:05:06,915 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:05:17,141 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:05:27,379 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:05:37,607 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:05:47,832 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:05:58,060 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:06:08,287 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:06:18,513 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:06:28,743 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:06:38,969 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:06:49,202 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:06:59,898 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:07:10,138 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:07:20,371 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:07:30,603 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:07:40,833 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:07:51,063 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:08:01,293 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:08:11,525 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:08:21,754 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:08:31,984 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:08:42,215 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:08:52,445 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:09:02,675 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:09:12,904 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:09:23,135 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:09:33,365 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:09:43,596 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:09:53,826 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:10:04,056 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:10:14,285 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:10:24,515 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:10:34,747 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:10:44,976 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:10:55,205 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:11:05,435 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:11:15,669 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:11:25,900 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:11:36,130 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:11:46,359 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:11:56,592 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:12:06,822 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:12:17,053 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:12:27,284 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:12:37,517 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:12:47,748 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:12:57,978 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:13:08,210 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:13:18,442 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:13:28,672 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:13:38,902 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:13:49,135 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:13:59,366 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:14:09,597 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:14:19,829 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:14:30,059 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:14:40,289 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:14:50,521 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:15:00,751 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:15:10,981 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:15:21,211 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:15:31,441 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:15:41,670 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:15:51,901 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:16:02,131 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:16:12,366 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:16:22,596 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:16:32,829 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:16:43,062 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:16:53,292 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:17:03,525 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:17:13,756 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:17:23,986 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:17:34,216 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:17:44,445 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:17:54,676 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:18:04,907 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:18:15,137 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:18:25,367 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:18:35,596 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:18:45,825 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:18:56,055 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:19:06,285 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:19:16,522 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:19:26,754 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:19:36,986 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:19:47,219 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:19:57,448 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:20:07,694 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:20:17,924 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:20:28,153 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:20:38,383 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:20:48,613 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:20:58,844 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:21:09,074 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:21:19,304 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:21:29,534 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:21:39,765 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:21:49,995 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:22:00,228 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:22:10,460 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:22:20,694 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:22:30,928 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:22:41,161 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:22:51,394 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:23:01,627 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:23:11,862 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:23:22,094 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:23:32,329 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:23:42,565 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:23:52,798 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:24:03,476 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:24:13,708 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:24:23,938 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:24:34,163 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:24:44,390 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:24:54,612 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:25:04,847 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:25:15,072 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:25:25,293 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:25:35,516 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:25:45,739 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:25:55,961 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:26:06,188 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:26:16,410 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:26:26,638 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:26:36,861 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:26:47,086 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:26:57,309 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:27:07,535 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:27:17,759 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:27:27,984 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:27:38,206 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:27:48,429 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:27:58,653 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:28:08,876 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:28:19,101 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:28:29,325 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:28:39,550 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:28:49,774 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:28:59,998 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:29:10,232 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:29:20,458 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:29:30,681 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:29:40,904 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:29:51,127 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:30:01,352 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:30:11,578 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:30:21,804 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:30:32,028 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:30:42,253 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:30:52,477 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:31:02,702 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:31:12,940 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:31:23,163 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:31:33,386 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:31:43,610 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:31:53,835 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:32:04,058 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:32:14,287 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:32:24,514 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:32:34,738 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:32:44,964 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:32:55,187 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:33:05,410 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:33:15,636 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:33:25,860 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:33:36,083 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:33:46,307 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:33:56,536 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:34:06,759 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:34:16,984 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:34:27,209 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:34:37,434 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:34:47,659 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:34:57,887 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:35:08,120 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:35:18,348 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:35:28,575 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:35:38,798 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:35:49,025 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:35:59,250 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:36:09,473 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:36:19,706 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:36:29,929 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:36:40,153 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:36:50,376 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:37:00,601 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:37:10,830 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:37:21,054 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:37:31,289 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:37:41,511 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:37:51,757 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:38:01,983 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:38:12,205 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:38:22,427 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:38:32,652 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:38:42,886 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:38:53,113 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:39:03,340 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:39:13,562 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:39:23,786 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:39:34,009 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:39:44,235 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:39:54,457 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:40:04,689 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:40:14,912 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:40:25,137 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:40:35,361 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:40:45,585 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:40:55,809 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:41:06,498 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:41:16,725 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:41:26,954 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:41:37,187 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:41:47,415 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:41:57,646 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:42:07,875 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:42:18,108 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:42:28,336 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:42:38,562 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:42:48,790 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:42:59,017 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:43:09,244 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:43:19,470 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:43:29,697 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:43:39,925 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:43:50,151 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:44:00,378 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:44:10,608 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:44:20,845 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:44:31,072 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:44:41,297 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:44:51,535 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:45:01,762 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:45:11,988 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:45:22,220 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:45:32,445 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:45:42,671 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:45:52,901 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:46:03,128 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:46:13,358 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:46:23,583 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:46:33,811 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:46:44,037 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:46:54,266 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:47:04,493 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:47:14,719 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:47:24,945 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:47:35,172 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:47:45,401 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:47:55,627 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:48:05,854 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:48:16,082 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:48:26,325 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:48:36,557 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:48:46,784 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:48:57,012 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:49:07,241 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:49:17,472 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:49:27,705 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:49:37,932 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:49:48,159 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:49:58,389 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:50:08,618 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:50:18,844 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:50:29,072 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:50:39,299 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:50:49,526 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:50:59,753 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:51:09,982 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:51:20,209 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:51:30,435 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:51:40,662 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:51:50,889 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:52:01,115 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:52:11,342 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:52:21,570 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:52:31,801 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:52:42,028 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:52:52,255 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:53:02,483 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:53:12,710 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:53:22,938 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:53:33,165 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:53:43,408 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:53:53,637 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:54:03,864 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:54:14,092 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:54:24,320 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:54:34,553 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:54:44,779 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:54:55,009 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:55:05,236 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:55:15,462 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:55:25,689 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:55:35,916 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:55:46,147 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:55:56,373 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:56:06,602 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:56:16,829 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:56:27,054 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:56:37,284 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:56:47,518 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:56:57,747 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:57:07,973 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:57:18,199 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:57:28,427 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:57:38,656 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:57:48,883 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:57:59,117 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:58:09,819 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:58:20,045 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:58:30,271 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:58:40,497 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:58:50,724 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:59:00,950 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:59:11,177 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:59:21,404 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:59:31,632 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:59:41,858 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 14:59:52,087 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:00:02,315 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:00:12,565 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:00:22,791 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:00:33,020 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:00:43,249 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:00:53,475 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:01:03,715 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:01:13,941 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:01:24,167 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:01:34,397 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:01:44,622 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:01:54,849 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:02:05,078 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:02:15,309 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:02:25,536 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:02:35,762 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:02:45,989 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:02:56,215 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:03:06,441 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:03:16,667 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:03:26,902 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:03:37,128 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:03:47,356 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:03:57,583 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:04:07,812 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:04:18,039 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:04:28,265 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:04:38,508 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:04:48,735 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:04:58,961 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:05:09,189 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 15:05:19,424 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:00:12,118 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-12-18 16:00:12,136 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-18 16:00:12,136 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-18 16:00:12,197 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-12-18 16:00:12,210 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-18 16:00:12,210 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-12-18 16:00:12,210 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-18 16:00:12,246 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.20:5000 -2025-12-18 16:00:12,246 [INFO] werkzeug: Press CTRL+C to quit -2025-12-18 16:00:13,254 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-12-18 16:00:13,484 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-12-18 16:00:13,486 [INFO] telegram.ext.Application: Application started -2025-12-18 16:00:24,165 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:00:34,391 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:00:38,663 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:00:38] "GET / HTTP/1.1" 302 - -2025-12-18 16:00:38,689 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:00:38] "GET /login?next=/ HTTP/1.1" 200 - -2025-12-18 16:00:38,739 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:00:38] "GET /static/style.css HTTP/1.1" 200 - -2025-12-18 16:00:38,801 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:00:38] "GET /static/favicon.ico HTTP/1.1" 200 - -2025-12-18 16:00:44,618 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:00:45,598 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-12-18 16:00:45,598 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-12-18 16:00:45,637 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-12-18 16:00:45,637 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-12-18 16:00:45,638 [INFO] app: LOGIN: SUCCESS → redirect -2025-12-18 16:00:45,638 [INFO] app: LOGIN: SUCCESS → redirect -2025-12-18 16:00:45,639 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:00:45] "POST /login HTTP/1.1" 302 - -2025-12-18 16:00:45,654 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:00:45] "GET /index HTTP/1.1" 200 - -2025-12-18 16:00:45,675 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:00:45] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 16:00:45,676 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:00:45] "GET /static/css/index.css HTTP/1.1" 200 - -2025-12-18 16:00:45,685 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:00:45] "GET /static/script.js HTTP/1.1" 200 - -2025-12-18 16:00:45,688 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:00:45] "GET /static/js/index.js HTTP/1.1" 200 - -2025-12-18 16:00:46,909 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-12-18 16:00:54,845 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:01:05,072 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:01:15,298 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:01:25,524 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:01:25,553 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:01:25] "GET /jobs HTTP/1.1" 200 - -2025-12-18 16:01:25,573 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:01:25] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 16:01:25,578 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:01:25] "GET /static/css/jobs.css HTTP/1.1" 200 - -2025-12-18 16:01:25,593 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:01:25] "GET /static/js/jobs.js HTTP/1.1" 200 - -2025-12-18 16:01:25,610 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:01:25] "GET /jobs/config HTTP/1.1" 200 - -2025-12-18 16:01:25,618 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-12-18 16:01:25,618 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:01:25] "GET /jobs/iplist HTTP/1.1" 200 - -2025-12-18 16:01:26,177 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:01:26] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 16:01:26,194 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:01:26] "GET /static/css/scp.css HTTP/1.1" 200 - -2025-12-18 16:01:26,195 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:01:26] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 16:01:26,209 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:01:26] "GET /static/js/scp.js HTTP/1.1" 200 - -2025-12-18 16:01:30,110 [INFO] backend.routes.scp_routes: Reading file1: D:\Code\iDRAC_Info\idrac_info\data\xml\LinePlus_T1.xml -2025-12-18 16:01:30,122 [INFO] backend.routes.scp_routes: Reading file2: D:\Code\iDRAC_Info\idrac_info\data\xml\PO-20250826-0158 _가산3_XE9680_384EA.xml -2025-12-18 16:01:30,133 [INFO] backend.routes.scp_routes: Content1 length: 244874, Content2 length: 272030 -2025-12-18 16:01:30,137 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:01:30] "GET /scp/diff?file1=LinePlus_T1.xml&file2=PO-20250826-0158%20_가산3_XE9680_384EA.xml HTTP/1.1" 200 - -2025-12-18 16:01:30,151 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:01:30] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 16:01:35,751 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:01:45,977 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:01:56,203 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:01:59,286 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:01:59] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 16:01:59,301 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:01:59] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 16:01:59,306 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:01:59] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 16:01:59,306 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:01:59] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 16:02:06,429 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:02:11,121 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:02:11] "GET /home/ HTTP/1.1" 200 - -2025-12-18 16:02:11,134 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:02:11] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 16:02:16,656 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:02:26,883 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:02:37,111 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:02:47,340 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:02:57,567 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:03:07,793 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:03:18,020 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:03:28,245 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:03:38,471 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:03:48,699 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:03:58,925 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:04:09,151 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:04:19,379 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:04:29,605 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:04:39,832 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:04:50,059 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:05:00,285 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:05:10,512 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:05:20,738 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:05:30,969 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:05:41,197 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:05:51,425 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:06:01,651 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:06:11,877 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:06:22,106 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:06:32,332 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:06:42,559 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:06:52,787 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:07:03,013 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:07:13,239 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:07:20,205 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:07:20] "GET /index HTTP/1.1" 200 - -2025-12-18 16:07:20,222 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:07:20] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 16:07:20,224 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:07:20] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 16:07:20,225 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:07:20] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 16:07:20,226 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:07:20] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 16:07:22,311 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:07:22] "GET /index HTTP/1.1" 200 - -2025-12-18 16:07:22,326 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:07:22] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 16:07:22,332 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:07:22] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 16:07:22,332 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:07:22] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 16:07:22,333 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:07:22] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 16:07:22,978 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:07:22] "GET /index HTTP/1.1" 200 - -2025-12-18 16:07:22,992 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:07:22] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 16:07:22,997 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:07:22] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 16:07:22,998 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:07:22] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 16:07:22,998 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:07:22] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 16:07:23,450 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:07:23] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 16:07:23,465 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:07:23] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 16:07:23,468 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:07:23,469 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:07:23] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 16:07:23,470 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:07:23] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 16:07:25,834 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:07:25] "GET /jobs HTTP/1.1" 200 - -2025-12-18 16:07:25,847 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:07:25] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 16:07:25,852 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:07:25] "GET /static/css/jobs.css HTTP/1.1" 304 - -2025-12-18 16:07:25,853 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:07:25] "GET /static/js/jobs.js HTTP/1.1" 304 - -2025-12-18 16:07:25,859 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:07:25] "GET /jobs/config HTTP/1.1" 200 - -2025-12-18 16:07:25,879 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-12-18 16:07:25,880 [INFO] werkzeug: 192.168.0.20 - - [18/Dec/2025 16:07:25] "GET /jobs/iplist HTTP/1.1" 200 - -2025-12-18 16:07:33,697 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:07:43,923 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:07:54,151 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:08:04,378 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:08:14,605 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:08:24,832 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:08:35,061 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 16:08:45,287 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:22:39,086 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-12-18 20:22:39,108 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-18 20:22:39,108 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-18 20:22:39,133 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-12-18 20:22:39,147 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-18 20:22:39,147 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-18 20:22:39,148 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-12-18 20:22:39,166 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.20:5000 -2025-12-18 20:22:39,166 [INFO] werkzeug: Press CTRL+C to quit -2025-12-18 20:22:40,188 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-12-18 20:22:40,414 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-12-18 20:22:40,416 [INFO] telegram.ext.Application: Application started -2025-12-18 20:22:43,258 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:22:43] "GET / HTTP/1.1" 302 - -2025-12-18 20:22:43,271 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:22:43] "GET /login?next=/ HTTP/1.1" 200 - -2025-12-18 20:22:43,320 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:22:43] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:22:51,094 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:22:53,238 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-12-18 20:22:53,238 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-12-18 20:22:53,277 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-12-18 20:22:53,277 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-12-18 20:22:53,279 [INFO] app: LOGIN: SUCCESS → redirect -2025-12-18 20:22:53,279 [INFO] app: LOGIN: SUCCESS → redirect -2025-12-18 20:22:53,279 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:22:53] "POST /login HTTP/1.1" 302 - -2025-12-18 20:22:53,294 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:22:53] "GET /index HTTP/1.1" 200 - -2025-12-18 20:22:53,313 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:22:53] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:22:53,315 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:22:53] "GET /static/js/index.js HTTP/1.1" 200 - -2025-12-18 20:22:53,316 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:22:53] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:22:53,326 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:22:53] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:22:54,518 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-12-18 20:23:01,321 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:23:04,863 [INFO] root: [AJAX] 작업 시작: 1766056984.8591661, script: TYPE8A_Server_info.sh -2025-12-18 20:23:04,863 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:23:04] "POST /process_ips HTTP/1.1" 200 - -2025-12-18 20:23:04,869 [ERROR] root: 10.10.0.1 처리 중 오류 발생: name 'shutil' is not defined -2025-12-18 20:23:05,369 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:23:05] "GET /progress_status/1766056984.8591661 HTTP/1.1" 200 - -2025-12-18 20:23:06,883 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:23:06] "GET /index HTTP/1.1" 200 - -2025-12-18 20:23:06,896 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:23:06] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:23:06,901 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:23:06] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:23:06,901 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:23:06] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:23:06,902 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:23:06] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:23:06,938 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:23:06] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:23:10,030 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:23:10] "GET /index HTTP/1.1" 200 - -2025-12-18 20:23:10,042 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:23:10] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:23:10,047 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:23:10] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:23:10,047 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:23:10] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:23:10,047 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:23:10] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:23:10,072 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:23:10] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:23:11,549 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:23:13,558 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:23:13] "GET /index HTTP/1.1" 200 - -2025-12-18 20:23:13,572 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:23:13] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:23:13,577 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:23:13] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:23:13,577 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:23:13] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:23:13,578 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:23:13] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:23:13,603 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:23:13] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:23:21,776 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:23:32,002 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:23:42,229 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:23:52,455 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:24:02,682 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:24:12,908 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:24:14,554 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:24:14] "GET /index HTTP/1.1" 200 - -2025-12-18 20:24:14,571 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:24:14] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:24:14,574 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:24:14] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:24:14,577 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:24:14] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:24:14,578 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:24:14] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:24:14,614 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:24:14] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:24:15,198 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:24:15] "GET /index HTTP/1.1" 200 - -2025-12-18 20:24:15,214 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:24:15] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:24:15,216 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:24:15] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:24:15,216 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:24:15] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:24:15,218 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:24:15] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:24:15,249 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:24:15] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:24:23,135 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:24:33,361 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:24:43,587 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:24:53,814 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:25:04,041 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:25:05,903 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:25:05] "GET /index HTTP/1.1" 200 - -2025-12-18 20:25:05,919 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:25:05] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:25:05,924 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:25:05] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:25:05,926 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:25:05] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:25:05,926 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:25:05] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:25:05,953 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:25:05] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:25:14,266 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:25:24,492 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:25:34,719 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:25:44,945 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:25:55,171 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:26:05,399 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:26:15,626 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:26:16,004 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:26:16] "GET /index HTTP/1.1" 200 - -2025-12-18 20:26:16,026 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:26:16] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:26:16,028 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:26:16] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:26:16,029 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:26:16] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:26:16,030 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:26:16] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:26:16,068 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:26:16] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:26:25,854 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:26:36,082 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:26:46,309 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:26:56,535 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:27:06,762 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:27:16,990 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:27:27,217 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:27:37,444 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:27:47,672 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:27:57,898 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:28:08,124 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:28:18,350 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:28:28,576 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:28:38,804 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:28:40,527 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:28:40] "GET /index HTTP/1.1" 200 - -2025-12-18 20:28:40,549 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:28:40] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:28:40,552 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:28:40] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:28:40,552 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:28:40] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:28:40,553 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:28:40] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:28:40,583 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:28:40] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:28:49,030 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:28:59,257 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:29:09,483 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:29:19,710 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:29:20,439 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:29:20] "GET /index HTTP/1.1" 200 - -2025-12-18 20:29:20,460 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:29:20] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:29:20,462 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:29:20] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:29:20,463 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:29:20] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:29:20,464 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:29:20] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:29:20,498 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:29:20] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:29:29,936 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:29:40,162 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:29:50,388 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:30:00,615 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:30:10,842 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:30:21,069 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:30:27,832 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:30:27] "GET /index HTTP/1.1" 200 - -2025-12-18 20:30:27,852 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:30:27] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:30:27,854 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:30:27] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:30:27,854 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:30:27] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:30:27,856 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:30:27] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:30:27,887 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:30:27] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:30:31,295 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:30:41,521 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:30:51,749 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:31:01,975 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:31:12,202 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:31:22,428 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:31:32,655 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:31:42,881 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:31:53,108 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:32:03,334 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:32:13,562 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:32:23,788 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:32:27,751 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:27] "GET /index HTTP/1.1" 200 - -2025-12-18 20:32:27,770 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:27] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:32:27,771 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:27] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:32:27,773 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:27] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:32:27,774 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:27] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:32:27,807 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:27] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:32:28,262 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:28] "GET /index HTTP/1.1" 200 - -2025-12-18 20:32:28,280 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:28] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:32:28,281 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:28] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:32:28,282 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:28] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:32:28,282 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:28] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:32:28,312 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:28] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:32:28,438 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:28] "GET /index HTTP/1.1" 200 - -2025-12-18 20:32:28,450 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:28] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:32:28,454 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:28] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:32:28,455 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:28] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:32:28,455 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:28] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:32:28,487 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:28] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:32:28,622 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:28] "GET /index HTTP/1.1" 200 - -2025-12-18 20:32:28,633 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:28] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:32:28,638 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:28] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:32:28,638 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:28] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:32:28,638 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:28] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:32:28,673 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:28] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:32:28,846 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:28] "GET /index HTTP/1.1" 200 - -2025-12-18 20:32:28,858 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:28] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:32:28,863 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:28] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:32:28,863 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:28] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:32:28,864 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:28] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:32:28,897 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:28] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:32:29,270 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:29] "GET /index HTTP/1.1" 200 - -2025-12-18 20:32:29,284 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:29] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:32:29,289 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:29] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:32:29,289 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:29] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:32:29,290 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:29] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:32:29,319 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:29] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:32:30,061 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:30] "GET /index HTTP/1.1" 200 - -2025-12-18 20:32:30,076 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:30] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:32:30,077 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:30] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:32:30,077 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:30] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:32:30,079 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:30] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:32:30,115 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:30] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:32:30,277 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:30] "GET /index HTTP/1.1" 200 - -2025-12-18 20:32:30,289 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:30] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:32:30,293 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:30] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:32:30,294 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:30] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:32:30,294 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:30] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:32:30,329 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:30] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:32:33,410 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:33] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 20:32:33,422 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:33] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:32:33,426 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:33] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 20:32:33,426 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:32:33] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 20:32:34,014 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:32:44,240 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:32:54,466 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:33:04,694 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:33:14,921 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:33:25,147 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:33:35,375 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:33:45,603 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:33:55,829 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:34:06,056 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:34:16,283 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:34:26,510 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:34:36,739 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:34:46,967 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:34:57,193 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:35:07,419 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:35:17,646 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:35:27,875 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:35:38,103 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:35:48,329 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:35:58,556 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:36:08,783 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:36:19,011 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:36:29,238 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:36:39,465 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:36:49,691 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:36:59,918 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:37:04,647 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:04] "GET /home/ HTTP/1.1" 200 - -2025-12-18 20:37:04,664 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:04] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:37:05,557 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:05] "GET /index HTTP/1.1" 200 - -2025-12-18 20:37:05,576 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:05] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:37:05,577 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:05] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:37:05,578 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:05] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:37:05,579 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:05] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:37:06,007 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:06] "GET /index HTTP/1.1" 200 - -2025-12-18 20:37:06,021 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:06] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:37:06,026 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:06] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:37:06,026 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:06] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:37:06,027 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:06] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:37:06,063 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:06] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:37:06,846 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:06] "GET /index HTTP/1.1" 200 - -2025-12-18 20:37:06,859 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:06] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:37:06,863 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:06] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:37:06,864 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:06] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:37:06,865 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:06] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:37:06,897 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:06] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:37:10,144 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:37:20,370 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:37:25,255 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:25] "GET /index HTTP/1.1" 200 - -2025-12-18 20:37:25,267 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:25] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:37:25,272 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:25] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:37:25,273 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:25] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:37:25,273 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:25] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:37:25,299 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:25] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:37:26,702 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:26] "GET /index HTTP/1.1" 200 - -2025-12-18 20:37:26,713 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:26] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:37:26,718 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:26] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:37:26,718 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:26] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:37:26,719 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:26] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:37:26,746 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:26] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:37:27,575 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:27] "GET /index HTTP/1.1" 200 - -2025-12-18 20:37:27,591 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:27] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:37:27,592 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:27] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:37:27,593 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:27] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:37:27,593 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:27] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:37:27,622 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:27] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:37:30,597 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:37:39,104 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:39] "GET /index HTTP/1.1" 200 - -2025-12-18 20:37:39,116 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:39] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:37:39,121 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:39] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:37:39,122 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:39] "GET /static/js/index.js HTTP/1.1" 200 - -2025-12-18 20:37:39,123 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:39] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:37:39,148 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:39] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:37:39,614 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:39] "GET /index HTTP/1.1" 200 - -2025-12-18 20:37:39,625 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:39] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:37:39,630 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:39] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:37:39,631 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:39] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:37:39,631 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:39] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:37:39,665 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:37:39] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:37:40,823 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:37:51,049 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:38:01,275 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:38:11,502 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:38:21,729 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:38:31,957 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:38:42,183 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:38:52,410 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:39:02,636 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:39:12,863 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:39:19,642 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:39:19] "GET /index HTTP/1.1" 200 - -2025-12-18 20:39:19,661 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:39:19] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:39:19,667 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:39:19] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:39:19,667 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:39:19] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:39:19,667 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:39:19] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:39:19,701 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:39:19] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:39:23,090 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:39:33,316 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:39:43,542 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:39:54,216 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:40:04,440 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:40:14,665 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:40:24,889 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:40:35,115 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:40:45,339 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:40:55,563 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:41:05,787 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:41:16,012 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:41:26,236 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:41:36,460 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:41:46,684 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:41:56,910 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:42:07,136 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:42:17,361 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:42:27,586 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:42:37,812 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:42:48,036 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:42:58,260 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:43:08,485 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:43:10,485 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:10] "GET /index HTTP/1.1" 200 - -2025-12-18 20:43:10,505 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:10] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:43:10,508 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:10] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:43:10,510 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:10] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:43:10,510 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:10] "GET /static/js/index.js HTTP/1.1" 200 - -2025-12-18 20:43:10,552 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:10] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:43:11,016 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:11] "GET /index HTTP/1.1" 200 - -2025-12-18 20:43:11,033 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:11] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:43:11,035 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:11] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:43:11,037 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:11] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:43:11,037 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:11] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:43:11,071 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:11] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:43:11,495 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:11] "GET /index HTTP/1.1" 200 - -2025-12-18 20:43:11,511 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:11] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:43:11,514 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:11] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:43:11,515 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:11] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:43:11,515 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:11] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:43:11,547 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:11] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:43:11,871 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:11] "GET /index HTTP/1.1" 200 - -2025-12-18 20:43:11,886 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:11] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:43:11,889 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:11] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:43:11,890 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:11] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:43:11,890 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:11] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:43:11,919 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:11] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:43:13,354 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:13] "GET /index HTTP/1.1" 200 - -2025-12-18 20:43:13,369 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:13] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:43:13,371 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:13] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:43:13,372 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:13] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:43:13,372 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:13] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:43:13,404 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:13] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:43:13,639 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:13] "GET /index HTTP/1.1" 200 - -2025-12-18 20:43:13,651 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:13] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:43:13,657 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:13] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:43:13,657 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:13] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:43:13,658 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:13] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:43:13,690 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:13] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:43:18,709 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:43:20,992 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:20] "GET /index HTTP/1.1" 200 - -2025-12-18 20:43:21,006 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:21] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:43:21,010 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:21] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:43:21,012 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:21] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:43:21,012 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:21] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:43:21,040 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:21] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:43:21,270 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:21] "GET /index HTTP/1.1" 200 - -2025-12-18 20:43:21,286 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:21] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:43:21,286 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:21] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:43:21,287 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:21] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:43:21,287 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:21] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:43:21,319 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:21] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:43:28,934 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:43:39,158 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:43:49,382 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:43:56,199 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:56] "GET /index HTTP/1.1" 200 - -2025-12-18 20:43:56,217 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:56] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:43:56,222 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:56] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:43:56,223 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:56] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:43:56,224 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:56] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:43:56,253 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:43:56] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:43:59,607 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:44:09,834 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:44:20,057 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:44:30,281 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:44:40,504 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:44:50,729 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:45:00,953 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:45:05,864 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:45:05] "GET /index HTTP/1.1" 200 - -2025-12-18 20:45:05,883 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:45:05] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:45:05,887 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:45:05] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:45:05,888 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:45:05] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:45:05,888 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:45:05] "GET /static/js/index.js HTTP/1.1" 200 - -2025-12-18 20:45:05,925 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:45:05] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:45:06,351 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:45:06] "GET /index HTTP/1.1" 200 - -2025-12-18 20:45:06,368 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:45:06] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:45:06,371 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:45:06] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:45:06,372 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:45:06] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:45:06,372 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:45:06] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:45:06,408 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:45:06] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:45:11,177 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:45:21,401 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:45:31,626 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:45:41,852 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:45:52,076 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:46:02,306 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:46:12,529 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:46:22,753 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:46:32,978 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:46:43,202 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:46:44,685 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:46:44] "POST /utils/scan_network HTTP/1.1" 404 - -2025-12-18 20:46:48,457 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:46:48] "POST /utils/scan_network HTTP/1.1" 404 - -2025-12-18 20:46:49,960 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:46:49] "GET /index HTTP/1.1" 200 - -2025-12-18 20:46:49,977 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:46:49] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:46:49,981 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:46:49] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:46:49,983 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:46:49] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:46:49,984 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:46:49] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:46:50,010 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:46:50] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:46:50,119 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:46:50] "GET /index HTTP/1.1" 200 - -2025-12-18 20:46:50,135 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:46:50] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:46:50,137 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:46:50] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:46:50,138 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:46:50] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:46:50,139 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:46:50] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:46:50,167 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:46:50] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:46:50,759 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:46:50] "POST /utils/scan_network HTTP/1.1" 404 - -2025-12-18 20:46:53,426 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:47:01,006 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:47:01] "GET /index HTTP/1.1" 200 - -2025-12-18 20:47:01,022 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:47:01] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:47:01,026 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:47:01] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:47:01,027 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:47:01] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:47:01,027 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:47:01] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:47:01,056 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:47:01] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:47:03,650 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:47:13,878 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:47:24,104 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:47:34,328 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:47:44,552 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:47:54,776 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:48:05,001 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:48:15,231 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:48:25,455 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:48:35,678 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:48:36,618 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:36] "GET /index HTTP/1.1" 200 - -2025-12-18 20:48:36,635 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:36] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:48:36,640 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:36] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:48:36,641 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:36] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:48:36,641 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:36] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:48:36,673 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:36] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:48:37,239 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:37] "GET /index HTTP/1.1" 200 - -2025-12-18 20:48:37,255 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:37] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:48:37,258 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:37] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:48:37,259 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:37] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:48:37,260 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:37] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:48:37,290 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:37] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:48:38,199 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:38] "GET /index HTTP/1.1" 200 - -2025-12-18 20:48:38,211 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:38] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:48:38,216 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:38] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:48:38,217 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:38] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:48:38,217 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:38] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:48:38,251 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:38] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:48:38,918 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:38] "GET /index HTTP/1.1" 200 - -2025-12-18 20:48:38,932 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:38] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:48:38,935 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:38] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:48:38,936 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:38] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:48:38,937 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:38] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:48:38,969 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:38] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:48:39,703 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:39] "GET /index HTTP/1.1" 200 - -2025-12-18 20:48:39,715 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:39] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:48:39,720 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:39] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:48:39,721 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:39] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:48:39,721 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:39] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:48:39,753 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:39] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:48:40,879 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:40] "GET /index HTTP/1.1" 200 - -2025-12-18 20:48:40,891 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:40] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:48:40,896 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:40] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:48:40,897 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:40] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:48:40,897 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:40] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:48:40,924 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:40] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:48:41,783 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:41] "GET /index HTTP/1.1" 200 - -2025-12-18 20:48:41,795 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:41] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:48:41,798 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:41] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:48:41,799 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:41] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:48:41,800 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:41] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:48:41,831 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:41] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:48:42,455 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:42] "GET /index HTTP/1.1" 200 - -2025-12-18 20:48:42,466 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:42] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:48:42,471 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:42] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:48:42,472 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:42] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:48:42,473 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:42] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:48:42,506 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:42] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:48:43,111 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:43] "GET /index HTTP/1.1" 200 - -2025-12-18 20:48:43,123 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:43] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:48:43,127 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:43] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:48:43,128 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:43] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:48:43,128 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:43] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:48:43,160 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:43] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:48:44,135 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:44] "GET /index HTTP/1.1" 200 - -2025-12-18 20:48:44,147 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:44] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:48:44,153 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:44] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:48:44,154 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:44] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:48:44,154 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:44] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:48:44,181 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:44] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:48:44,897 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:44] "GET /index HTTP/1.1" 200 - -2025-12-18 20:48:44,909 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:44] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:48:44,913 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:44] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:48:44,915 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:44] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:48:44,915 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:44] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:48:44,948 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:44] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:48:45,609 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:45] "GET /index HTTP/1.1" 200 - -2025-12-18 20:48:45,621 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:45] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:48:45,626 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:45] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:48:45,627 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:45] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:48:45,627 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:45] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:48:45,660 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:45] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:48:45,903 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:48:46,230 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:46] "GET /index HTTP/1.1" 200 - -2025-12-18 20:48:46,245 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:46] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:48:46,246 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:46] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:48:46,248 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:46] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:48:46,249 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:46] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:48:46,279 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:46] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:48:47,481 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:47] "GET /index HTTP/1.1" 200 - -2025-12-18 20:48:47,494 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:47] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:48:47,498 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:47] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:48:47,499 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:47] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:48:47,499 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:47] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:48:47,525 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:47] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:48:48,592 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:48] "GET /index HTTP/1.1" 200 - -2025-12-18 20:48:48,610 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:48] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:48:48,612 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:48] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:48:48,614 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:48] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:48:48,615 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:48] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:48:48,641 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:48] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:48:51,038 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:51] "GET /index HTTP/1.1" 200 - -2025-12-18 20:48:51,050 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:51] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:48:51,055 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:51] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:48:51,056 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:51] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:48:51,056 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:51] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:48:51,082 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:51] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:48:51,550 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:51] "GET /index HTTP/1.1" 200 - -2025-12-18 20:48:51,562 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:51] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:48:51,567 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:51] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:48:51,568 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:51] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:48:51,567 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:51] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:48:51,595 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:51] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:48:52,355 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:52] "GET /index HTTP/1.1" 200 - -2025-12-18 20:48:52,368 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:52] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:48:52,373 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:52] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:48:52,374 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:52] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:48:52,374 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:52] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:48:52,408 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:52] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:48:52,983 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:52] "GET /index HTTP/1.1" 200 - -2025-12-18 20:48:52,995 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:52] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:48:53,000 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:53] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:48:53,001 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:53] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:48:53,001 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:53] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:48:53,032 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:53] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:48:53,623 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:53] "GET /index HTTP/1.1" 200 - -2025-12-18 20:48:53,634 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:53] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:48:53,639 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:53] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:48:53,640 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:53] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:48:53,640 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:53] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:48:53,676 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:53] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:48:55,593 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:55] "GET /index HTTP/1.1" 200 - -2025-12-18 20:48:55,605 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:55] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:48:55,610 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:55] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:48:55,610 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:55] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:48:55,611 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:55] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:48:55,637 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:55] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:48:56,054 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:56] "GET /index HTTP/1.1" 200 - -2025-12-18 20:48:56,071 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:56] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:48:56,072 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:56] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:48:56,073 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:56] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:48:56,073 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:56] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:48:56,111 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:56] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:48:56,126 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:48:57,134 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:57] "GET /index HTTP/1.1" 200 - -2025-12-18 20:48:57,146 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:57] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:48:57,151 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:57] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:48:57,152 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:57] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:48:57,152 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:57] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:48:57,180 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:57] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:48:57,776 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:57] "GET /index HTTP/1.1" 200 - -2025-12-18 20:48:57,788 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:57] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:48:57,792 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:57] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:48:57,793 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:57] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:48:57,793 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:57] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:48:57,826 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:57] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:48:58,272 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:58] "GET /index HTTP/1.1" 200 - -2025-12-18 20:48:58,285 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:58] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:48:58,290 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:58] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:48:58,291 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:58] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:48:58,291 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:58] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:48:58,319 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:58] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:48:59,081 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:59] "GET /index HTTP/1.1" 200 - -2025-12-18 20:48:59,098 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:59] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:48:59,103 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:59] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:48:59,104 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:59] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:48:59,105 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:59] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:48:59,141 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:48:59] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:01,136 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:01] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:01,152 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:01] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:01,157 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:01] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:01,158 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:01] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:01,159 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:01] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:01,187 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:01] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:01,382 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:01] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:01,395 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:01] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:01,399 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:01] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:01,400 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:01] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:01,401 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:01] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:01,433 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:01] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:01,582 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:01] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:01,601 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:01] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:01,603 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:01] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:01,605 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:01] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:01,605 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:01] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:01,636 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:01] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:02,583 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:02] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:02,596 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:02] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:02,601 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:02] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:02,601 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:02] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:02,602 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:02] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:02,635 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:02] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:02,950 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:02] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:02,963 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:02] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:02,966 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:02] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:02,966 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:02] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:02,967 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:02] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:03,000 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:03] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:05,959 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:05] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:05,971 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:05] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:05,975 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:05] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:05,976 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:05] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:05,976 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:05] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:06,001 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:06] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:06,222 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:06] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:06,235 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:06] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:06,240 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:06] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:06,241 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:06] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:06,241 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:06] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:06,271 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:06] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:06,351 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:49:06,462 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:06] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:06,475 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:06] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:06,480 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:06] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:06,481 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:06] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:06,481 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:06] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:06,514 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:06] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:07,207 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:07] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:07,222 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:07] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:07,228 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:07] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:07,228 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:07] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:07,229 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:07] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:07,264 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:07] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:08,911 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:08] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:08,923 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:08] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:08,928 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:08] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:08,928 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:08] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:08,930 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:08] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:08,954 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:08] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:09,086 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:09] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:09,100 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:09] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:09,104 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:09] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:09,105 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:09] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:09,105 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:09] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:09,136 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:09] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:16,575 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:49:16,934 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:16] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:16,947 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:16] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:16,952 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:16] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:16,953 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:16] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:16,954 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:16] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:16,982 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:16] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:17,542 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:17] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:17,554 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:17] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:17,559 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:17] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:17,560 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:17] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:17,560 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:17] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:17,590 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:17] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:20,351 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:20] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:20,363 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:20] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:20,368 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:20] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:20,369 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:20] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:20,369 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:20] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:20,399 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:20] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:20,862 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:20] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:20,875 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:20] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:20,880 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:20] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:20,881 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:20] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:20,880 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:20] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:20,914 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:20] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:21,352 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:21] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:21,365 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:21] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:21,369 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:21] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:21,370 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:21] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:21,370 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:21] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:21,404 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:21] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:21,718 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:21] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:21,731 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:21] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:21,735 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:21] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:21,736 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:21] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:21,736 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:21] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:21,770 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:21] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:22,158 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:22] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:22,172 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:22] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:22,177 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:22] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:22,177 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:22] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:22,177 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:22] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:22,213 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:22] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:23,167 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:23] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:23,179 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:23] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:23,184 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:23] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:23,185 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:23] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:23,185 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:23] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:23,215 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:23] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:23,983 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:23] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:23,995 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:23] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:24,000 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:24] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:24,001 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:24] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:24,001 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:24] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:24,034 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:24] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:24,455 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:24] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:24,467 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:24] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:24,472 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:24] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:24,473 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:24] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:24,473 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:24] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:24,506 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:24] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:25,166 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:25] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:25,179 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:25] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:25,185 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:25] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:25,186 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:25] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:25,186 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:25] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:25,212 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:25] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:25,718 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:25] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:25,733 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:25] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:25,736 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:25] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:25,736 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:25] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:25,736 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:25] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:25,768 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:25] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:26,294 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:26] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:26,305 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:26] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:26,310 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:26] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:26,310 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:26] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:26,312 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:26] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:26,339 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:26] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:26,799 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:49:27,007 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:27] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:27,019 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:27] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:27,024 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:27] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:27,025 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:27] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:27,025 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:27] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:27,059 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:27] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:27,671 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:27] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:27,683 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:27] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:27,688 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:27] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:27,688 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:27] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:27,689 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:27] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:27,722 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:27] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:28,406 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:28] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:28,418 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:28] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:28,423 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:28] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:28,423 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:28] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:28,424 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:28] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:28,456 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:28] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:28,935 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:28] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:28,948 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:28] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:28,953 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:28] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:28,953 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:28] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:28,954 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:28] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:28,988 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:28] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:29,503 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:29] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:29,515 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:29] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:29,522 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:29] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:29,522 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:29] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:29,522 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:29] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:29,549 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:29] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:30,511 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:30] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:30,524 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:30] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:30,527 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:30] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:30,530 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:30] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:30,530 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:30] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:30,558 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:30] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:31,110 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:31] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:31,122 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:31] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:31,128 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:31] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:31,128 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:31] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:31,128 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:31] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:31,162 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:31] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:31,567 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:31] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:31,579 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:31] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:31,583 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:31] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:31,584 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:31] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:31,584 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:31] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:31,618 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:31] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:32,016 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:32] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:32,028 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:32] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:32,033 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:32] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:32,033 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:32] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:32,033 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:32] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:32,070 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:32] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:32,518 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:32] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:32,531 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:32] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:32,536 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:32] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:32,536 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:32] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:32,537 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:32] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:32,571 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:32] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:33,103 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:33] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:33,115 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:33] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:33,119 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:33] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:33,120 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:33] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:33,120 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:33] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:33,153 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:33] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:33,718 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:33] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:33,731 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:33] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:33,736 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:33] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:33,736 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:33] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:33,737 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:33] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:33,767 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:33] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:34,328 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:34] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:34,341 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:34] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:34,345 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:34] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:34,346 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:34] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:34,346 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:34] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:34,380 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:34] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:36,647 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:36] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:36,659 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:36] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:36,664 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:36] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:36,665 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:36] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:36,665 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:36] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:36,692 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:36] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:37,025 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:49:37,210 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:37] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:37,224 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:37] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:37,228 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:37] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:37,229 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:37] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:37,230 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:37] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:37,264 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:37] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:38,119 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:38] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:38,131 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:38] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:38,137 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:38] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:38,137 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:38] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:38,137 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:38] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:38,170 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:38] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:38,950 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:38] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:38,966 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:38] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:38,969 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:38] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:38,969 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:38] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:38,969 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:38] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:38,999 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:38] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:39,742 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:39] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:39,757 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:39] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:39,758 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:39] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:39,760 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:39] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:39,761 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:39] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:39,793 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:39] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:40,631 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:40] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:40,644 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:40] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:40,649 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:40] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:40,649 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:40] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:40,650 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:40] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:40,685 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:40] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:41,111 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:41] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:41,125 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:41] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:41,129 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:41] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:41,130 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:41] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:41,130 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:41] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:41,165 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:41] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:41,502 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:41] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:41,515 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:41] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:41,519 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:41] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:41,520 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:41] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:41,521 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:41] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:41,553 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:41] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:45,998 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:45] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:46,010 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:46] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:46,015 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:46] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:46,015 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:46] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:46,016 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:46] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:46,046 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:46] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:46,527 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:46] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:46,539 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:46] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:46,543 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:46] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:46,544 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:46] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:46,544 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:46] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:46,577 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:46] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:47,006 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:47] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:47,018 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:47] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:47,023 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:47] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:47,023 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:47] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:47,023 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:47] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:47,065 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:47] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:47,249 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:49:47,863 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:47] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:47,875 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:47] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:47,880 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:47] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:47,880 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:47] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:47,880 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:47] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:47,915 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:47] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:48,374 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:48] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:48,390 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:48] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:48,392 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:48] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:48,393 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:48] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:48,393 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:48] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:48,424 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:48] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:48,807 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:48] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:48,819 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:48] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:48,824 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:48] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:48,824 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:48] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:48,825 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:48] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:48,858 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:48] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:49,143 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:49] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:49,156 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:49] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:49,160 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:49] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:49,160 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:49] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:49,161 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:49] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:49,195 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:49] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:49,446 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:49] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:49,458 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:49] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:49,462 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:49] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:49,463 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:49] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:49,464 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:49] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:49,497 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:49] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:50,478 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:50] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:50,492 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:50] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:50,496 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:50] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:50,496 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:50] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:50,497 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:50] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:50,525 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:50] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:51,071 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:51] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:51,083 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:51] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:51,087 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:51] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:51,088 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:51] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:51,088 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:51] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:51,121 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:51] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:51,863 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:51] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:51,878 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:51] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:51,880 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:51] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:51,883 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:51] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:51,883 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:51] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:51,918 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:51] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:52,880 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:52] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:52,894 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:52] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:52,899 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:52] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:52,899 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:52] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:52,900 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:52] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:52,927 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:52] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:53,367 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:53] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:53,379 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:53] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:53,385 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:53] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:53,386 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:53] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:53,386 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:53] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:53,419 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:53] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:53,655 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:53] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:53,668 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:53] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:53,672 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:53] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:53,673 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:53] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:53,673 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:53] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:53,706 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:53] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:54,016 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:54] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:54,030 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:54] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:54,033 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:54] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:54,034 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:54] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:54,034 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:54] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:54,068 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:54] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:56,520 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:56] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:56,535 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:56] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:56,536 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:56] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:56,537 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:56] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:56,538 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:56] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:56,566 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:56] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:57,183 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:57] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:57,195 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:57] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:57,201 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:57] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:57,201 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:57] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:57,202 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:57] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:57,232 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:57] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:57,473 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:49:57,536 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:57] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:57,549 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:57] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:57,554 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:57] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:57,555 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:57] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:57,555 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:57] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:57,593 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:57] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:57,784 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:57] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:57,796 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:57] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:57,802 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:57] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:57,802 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:57] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:57,802 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:57] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:57,827 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:57] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:58,295 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:58] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:58,308 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:58] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:58,313 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:58] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:58,314 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:58] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:58,314 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:58] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:58,349 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:58] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:58,591 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:58] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:58,604 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:58] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:58,612 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:58] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:58,614 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:58] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:58,615 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:58] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:58,648 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:58] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:49:58,871 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:58] "GET /index HTTP/1.1" 200 - -2025-12-18 20:49:58,883 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:58] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:49:58,889 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:58] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:49:58,890 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:58] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:49:58,890 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:58] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:49:58,923 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:49:58] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:07,697 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:50:12,335 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:12] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:12,349 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:12] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:12,352 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:12] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:12,354 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:12] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:12,354 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:12] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:12,380 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:12] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:12,929 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:12] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:12,941 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:12] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:12,945 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:12] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:12,945 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:12] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:12,946 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:12] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:12,978 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:12] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:13,496 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:13] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:13,508 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:13] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:13,513 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:13] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:13,514 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:13] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:13,514 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:13] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:13,551 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:13] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:14,167 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:14] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:14,184 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:14] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:14,184 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:14] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:14,185 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:14] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:14,186 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:14] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:14,217 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:14] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:15,247 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:15] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:15,261 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:15] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:15,264 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:15] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:15,265 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:15] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:15,265 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:15] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:15,290 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:15] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:16,295 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:16] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:16,306 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:16] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:16,311 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:16] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:16,312 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:16] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:16,312 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:16] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:16,340 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:16] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:17,272 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:17] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:17,286 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:17] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:17,288 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:17] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:17,289 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:17] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:17,290 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:17] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:17,322 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:17] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:17,921 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:50:18,552 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:18] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:18,566 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:18] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:18,571 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:18] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:18,572 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:18] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:18,572 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:18] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:18,604 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:18] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:19,462 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:19] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:19,475 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:19] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:19,480 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:19] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:19,481 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:19] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:19,482 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:19] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:19,516 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:19] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:20,086 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:20] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:20,098 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:20] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:20,104 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:20] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:20,104 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:20] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:20,105 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:20] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:20,140 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:20] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:20,608 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:20] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:20,622 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:20] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:20,627 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:20] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:20,629 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:20] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:20,630 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:20] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:20,663 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:20] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:21,368 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:21] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:21,381 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:21] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:21,387 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:21] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:21,387 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:21] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:21,388 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:21] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:21,420 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:21] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:21,983 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:21] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:21,997 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:21] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:22,001 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:22] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:22,002 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:22] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:22,002 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:22] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:22,033 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:22] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:22,807 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:22] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:22,820 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:22] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:22,825 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:22] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:22,825 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:22] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:22,826 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:22] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:22,858 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:22] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:23,440 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:23] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:23,453 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:23] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:23,457 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:23] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:23,458 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:23] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:23,459 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:23] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:23,494 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:23] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:24,272 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:24] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:24,286 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:24] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:24,290 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:24] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:24,290 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:24] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:24,291 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:24] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:24,324 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:24] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:25,023 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:25] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:25,036 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:25] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:25,041 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:25] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:25,041 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:25] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:25,042 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:25] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:25,076 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:25] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:25,767 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:25] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:25,780 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:25] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:25,786 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:25] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:25,786 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:25] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:25,786 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:25] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:25,818 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:25] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:27,111 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:27] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:27,123 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:27] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:27,129 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:27] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:27,130 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:27] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:27,130 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:27] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:27,155 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:27] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:27,671 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:27] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:27,685 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:27] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:27,688 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:27] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:27,689 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:27] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:27,689 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:27] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:27,723 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:27] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:28,146 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:50:28,206 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:28] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:28,219 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:28] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:28,223 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:28] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:28,224 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:28] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:28,225 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:28] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:28,255 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:28] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:28,775 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:28] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:28,789 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:28] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:28,792 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:28] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:28,794 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:28] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:28,794 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:28] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:28,829 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:28] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:29,368 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:29] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:29,382 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:29] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:29,386 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:29] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:29,388 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:29] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:29,388 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:29] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:29,422 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:29] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:30,086 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:30] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:30,100 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:30] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:30,105 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:30] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:30,106 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:30] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:30,107 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:30] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:30,141 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:30] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:31,071 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:31] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:31,084 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:31] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:31,088 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:31] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:31,089 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:31] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:31,090 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:31] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:31,124 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:31] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:31,775 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:31] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:31,788 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:31] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:31,792 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:31] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:31,793 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:31] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:31,794 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:31] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:31,829 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:31] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:32,342 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:32] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:32,354 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:32] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:32,360 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:32] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:32,360 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:32] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:32,361 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:32] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:32,389 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:32] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:32,913 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:32] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:32,926 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:32] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:32,930 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:32] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:32,931 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:32] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:32,931 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:32] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:32,958 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:32] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:33,697 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:33] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:33,710 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:33] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:33,715 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:33] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:33,716 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:33] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:33,716 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:33] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:33,745 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:33] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:34,389 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:34] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:34,401 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:34] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:34,407 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:34] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:34,407 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:34] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:34,408 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:34] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:34,442 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:34] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:35,049 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:35] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:35,061 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:35] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:35,065 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:35] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:35,066 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:35] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:35,066 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:35] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:35,100 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:35] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:35,830 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:35] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:35,842 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:35] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:35,846 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:35] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:35,847 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:35] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:35,847 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:35] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:35,880 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:35] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:36,455 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:36] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:36,468 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:36] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:36,472 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:36] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:36,473 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:36] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:36,473 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:36] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:36,507 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:36] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:37,487 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:37] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:37,499 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:37] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:37,504 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:37] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:37,504 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:37] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:37,505 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:37] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:37,532 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:37] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:37,984 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:37] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:37,997 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:37] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:38,001 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:38] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:38,001 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:38] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:38,002 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:38] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:38,044 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:38] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:38,371 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:50:38,414 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:38] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:38,428 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:38] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:38,433 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:38] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:38,433 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:38] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:38,434 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:38] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:38,468 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:38] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:39,110 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:39] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:39,123 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:39] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:39,129 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:39] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:39,129 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:39] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:39,129 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:39] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:39,160 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:39] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:39,638 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:39] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:39,651 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:39] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:39,657 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:39] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:39,657 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:39] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:39,658 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:39] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:39,692 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:39] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:40,375 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:40] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:40,387 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:40] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:40,392 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:40] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:40,393 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:40] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:40,393 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:40] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:40,420 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:40] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:41,487 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:41] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:41,500 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:41] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:41,504 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:41] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:41,505 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:41] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:41,505 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:41] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:41,533 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:41] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:42,055 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:42] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:42,067 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:42] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:42,072 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:42] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:42,072 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:42] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:42,073 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:42] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:42,106 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:42] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:42,535 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:42] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:42,548 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:42] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:42,553 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:42] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:42,554 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:42] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:42,554 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:42] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:42,587 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:42] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:43,198 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:43] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:43,213 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:43] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:43,216 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:43] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:43,216 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:43] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:43,217 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:43] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:43,247 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:43] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:43,928 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:43] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:43,941 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:43] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:43,942 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:43] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:43,943 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:43] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:43,945 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:43] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:43,975 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:43] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:44,903 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:44] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:44,916 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:44] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:44,920 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:44] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:44,921 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:44] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:44,920 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:44] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:44,954 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:44] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:45,487 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:45] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:45,498 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:45] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:45,503 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:45] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:45,504 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:45] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:45,504 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:45] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:45,539 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:45] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:46,206 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:46] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:46,218 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:46] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:46,222 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:46] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:46,223 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:46] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:46,224 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:46] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:46,256 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:46] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:46,871 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:46] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:46,882 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:46] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:46,886 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:46] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:46,887 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:46] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:46,888 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:46] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:46,917 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:46] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:47,567 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:47] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:47,579 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:47] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:47,585 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:47] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:47,586 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:47] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:47,586 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:47] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:47,624 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:47] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:48,288 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:48] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:48,301 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:48] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:48,306 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:48] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:48,307 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:48] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:48,308 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:48] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:48,342 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:48] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:48,594 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:50:49,031 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:49] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:49,046 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:49] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:49,049 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:49] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:49,049 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:49] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:49,049 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:49] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:49,082 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:49] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:49,695 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:49] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:49,707 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:49] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:49,711 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:49] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:49,712 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:49] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:49,712 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:49] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:49,745 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:49] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:50,274 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:50] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:50,288 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:50] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:50,294 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:50] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:50,295 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:50] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:50,296 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:50] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:50,331 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:50] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:50,776 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:50] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:50,788 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:50] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:50,793 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:50] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:50,794 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:50] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:50,794 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:50] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:50,828 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:50] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:51,047 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:51] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:51,060 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:51] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:51,064 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:51] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:51,065 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:51] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:51,065 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:51] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:51,099 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:51] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:51,254 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:51] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:51,267 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:51] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:51,271 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:51] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:51,273 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:51] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:51,273 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:51] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:51,309 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:51] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:51,479 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:51] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:51,491 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:51] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:51,495 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:51] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:51,496 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:51] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:51,496 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:51] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:51,535 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:51] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:51,734 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:51] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:51,746 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:51] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:51,751 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:51] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:51,752 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:51] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:51,753 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:51] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:51,785 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:51] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:51,974 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:51] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:51,986 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:51] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:51,991 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:51] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:51,992 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:51] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:51,992 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:51] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:52,023 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:52] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:52,198 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:52] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:52,212 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:52] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:52,213 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:52] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:52,214 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:52] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:52,215 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:52] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:52,247 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:52] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:52,440 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:52] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:52,456 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:52] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:52,458 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:52] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:52,458 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:52] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:52,459 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:52] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:52,487 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:52] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:52,679 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:52] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:52,691 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:52] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:52,696 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:52] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:52,696 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:52] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:52,697 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:52] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:52,727 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:52] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:52,918 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:52] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:52,932 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:52] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:52,935 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:52] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:52,936 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:52] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:52,936 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:52] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:52,963 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:52] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:53,176 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:53] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:53,190 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:53] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:53,193 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:53] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:53,194 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:53] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:53,195 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:53] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:53,228 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:53] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:53,398 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:53] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:53,413 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:53] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:53,415 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:53] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:53,416 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:53] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:53,417 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:53] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:53,443 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:53] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:53,639 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:53] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:53,654 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:53] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:53,657 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:53] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:53,658 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:53] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:53,658 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:53] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:53,689 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:53] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:54,471 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:54] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:54,483 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:54] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:54,488 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:54] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:54,488 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:54] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:54,489 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:54] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:54,521 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:54] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:55,278 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:55] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:55,291 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:55] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:55,296 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:55] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:55,296 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:55] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:55,297 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:55] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:55,330 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:55] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:55,959 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:55] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:55,974 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:55] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:55,975 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:55] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:55,977 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:55] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:55,978 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:55] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:56,010 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:56] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:56,703 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:56] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:56,714 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:56] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:56,718 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:56] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:56,719 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:56] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:56,720 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:56] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:56,754 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:56] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:57,239 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:57] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:57,251 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:57] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:57,256 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:57] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:57,257 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:57] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:57,257 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:57] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:57,291 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:57] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:57,848 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:57] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:57,859 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:57] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:57,863 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:57] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:57,864 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:57] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:57,864 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:57] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:57,897 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:57] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:58,414 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:58] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:58,426 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:58] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:58,431 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:58] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:58,432 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:58] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:58,432 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:58] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:58,466 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:58] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:58,622 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:58] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:58,637 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:58] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:58,639 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:58] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:58,640 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:58] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:58,641 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:58] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:58,675 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:58] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:50:58,815 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:58] "GET /index HTTP/1.1" 200 - -2025-12-18 20:50:58,818 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:50:58,832 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:58] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:50:58,834 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:58] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:50:58,834 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:58] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:50:58,836 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:58] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:50:58,869 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:50:58] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:51:02,239 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:02] "GET /index HTTP/1.1" 200 - -2025-12-18 20:51:02,251 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:02] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:51:02,256 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:02] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:51:02,256 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:02] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:51:02,256 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:02] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:51:02,288 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:02] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:51:02,543 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:02] "GET /index HTTP/1.1" 200 - -2025-12-18 20:51:02,556 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:02] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:51:02,561 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:02] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:51:02,562 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:02] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:51:02,563 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:02] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:51:02,599 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:02] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:51:03,223 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:03] "GET /index HTTP/1.1" 200 - -2025-12-18 20:51:03,235 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:03] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:51:03,240 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:03] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:51:03,240 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:03] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:51:03,240 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:03] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:51:03,274 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:03] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:51:03,913 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:03] "GET /index HTTP/1.1" 200 - -2025-12-18 20:51:03,928 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:03] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:51:03,930 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:03] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:51:03,931 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:03] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:51:03,932 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:03] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:51:03,961 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:03] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:51:04,383 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:04] "GET /index HTTP/1.1" 200 - -2025-12-18 20:51:04,395 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:04] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:51:04,401 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:04] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:51:04,403 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:04] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:51:04,404 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:04] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:51:04,439 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:04] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:51:05,831 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:05] "GET /index HTTP/1.1" 200 - -2025-12-18 20:51:05,844 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:05] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:51:05,849 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:05] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:51:05,849 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:05] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:51:05,850 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:05] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:51:05,881 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:05] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:51:06,759 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:06] "GET /index HTTP/1.1" 200 - -2025-12-18 20:51:06,771 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:06] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:51:06,775 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:06] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:51:06,776 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:06] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:51:06,776 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:06] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:51:06,810 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:06] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:51:07,446 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:07] "GET /index HTTP/1.1" 200 - -2025-12-18 20:51:07,461 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:07] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:51:07,463 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:07] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:51:07,464 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:07] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:51:07,465 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:07] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:51:07,499 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:51:07] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:51:09,042 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:51:19,269 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:51:29,493 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:51:39,717 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:51:49,941 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:52:00,167 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:52:10,391 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:52:20,614 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:52:30,838 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:52:41,068 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:52:51,292 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:53:01,516 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:53:11,739 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:53:21,969 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:53:32,196 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:53:42,422 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:53:52,647 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:54:02,870 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:54:13,094 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:54:18,408 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:54:18] "GET /index HTTP/1.1" 200 - -2025-12-18 20:54:18,430 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:54:18] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:54:18,432 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:54:18] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:54:18,433 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:54:18] "GET /static/js/index.js HTTP/1.1" 200 - -2025-12-18 20:54:18,434 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:54:18] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:54:18,465 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:54:18] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:54:23,318 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:54:33,543 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:54:43,768 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:54:53,992 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:55:04,217 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:55:14,440 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:55:24,664 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:55:34,888 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:55:38,177 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:55:38] "GET /index HTTP/1.1" 200 - -2025-12-18 20:55:38,199 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:55:38] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:55:38,201 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:55:38] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:55:38,204 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:55:38] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:55:38,205 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:55:38] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:55:38,241 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:55:38] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:55:45,113 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:55:55,337 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:56:05,560 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:56:15,784 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:56:26,008 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:56:36,233 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:56:46,456 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:56:57,137 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:57:07,364 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:57:17,589 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:57:27,817 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:57:38,043 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:57:42,856 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:57:42] "GET /index HTTP/1.1" 200 - -2025-12-18 20:57:42,876 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:57:42] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:57:42,877 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:57:42] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:57:42,880 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:57:42] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:57:42,880 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:57:42] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:57:42,912 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:57:42] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:57:43,959 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:57:43] "GET /index HTTP/1.1" 200 - -2025-12-18 20:57:43,974 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:57:43] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:57:43,976 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:57:43] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:57:43,979 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:57:43] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:57:43,979 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:57:43] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:57:44,007 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:57:44] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:57:48,269 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:57:58,494 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:58:08,720 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:58:18,946 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:58:29,172 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:58:39,398 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:58:47,832 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:47] "GET /index HTTP/1.1" 200 - -2025-12-18 20:58:47,848 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:47] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:58:47,853 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:47] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:58:47,854 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:47] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:58:47,855 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:47] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:58:47,886 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:47] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:58:48,560 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:48] "GET /index HTTP/1.1" 200 - -2025-12-18 20:58:48,576 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:48] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:58:48,577 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:48] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:58:48,579 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:48] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:58:48,580 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:48] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:58:48,611 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:48] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:58:49,624 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:58:49,694 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:49] "GET /index HTTP/1.1" 200 - -2025-12-18 20:58:49,709 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:49] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:58:49,712 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:49] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:58:49,713 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:49] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:58:49,713 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:49] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:58:49,739 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:49] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:58:50,447 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:50] "GET /index HTTP/1.1" 200 - -2025-12-18 20:58:50,462 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:50] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:58:50,464 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:50] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:58:50,465 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:50] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:58:50,465 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:50] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:58:50,499 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:50] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:58:52,463 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:52] "GET /index HTTP/1.1" 200 - -2025-12-18 20:58:52,476 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:52] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:58:52,481 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:52] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:58:52,481 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:52] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:58:52,482 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:52] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:58:52,509 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:52] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:58:53,239 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:53] "GET /index HTTP/1.1" 200 - -2025-12-18 20:58:53,254 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:53] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:58:53,257 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:53] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:58:53,259 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:53] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:58:53,259 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:53] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:58:53,292 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:53] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:58:53,967 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:53] "GET /index HTTP/1.1" 200 - -2025-12-18 20:58:53,979 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:53] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:58:53,984 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:53] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:58:53,985 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:53] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:58:53,985 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:53] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:58:54,017 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:54] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:58:57,511 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:57] "GET /index HTTP/1.1" 200 - -2025-12-18 20:58:57,523 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:57] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:58:57,528 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:57] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:58:57,529 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:57] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:58:57,529 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:57] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:58:57,561 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:58:57] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:58:59,849 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:59:03,191 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:03] "GET /index HTTP/1.1" 200 - -2025-12-18 20:59:03,204 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:03] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:59:03,210 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:03] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:59:03,210 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:03] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:59:03,210 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:03] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:59:03,242 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:03] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:59:03,584 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:03] "GET /index HTTP/1.1" 200 - -2025-12-18 20:59:03,600 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:03] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:59:03,602 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:03] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:59:03,603 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:03] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:59:03,604 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:03] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:59:03,634 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:03] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:59:03,927 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:03] "GET /index HTTP/1.1" 200 - -2025-12-18 20:59:03,939 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:03] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:59:03,944 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:03] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:59:03,944 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:03] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:59:03,945 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:03] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:59:03,979 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:03] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:59:06,031 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:06] "GET /index HTTP/1.1" 200 - -2025-12-18 20:59:06,044 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:06] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:59:06,047 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:06] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:59:06,048 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:06] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:59:06,049 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:06] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:59:06,073 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:06] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:59:06,456 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:06] "GET /index HTTP/1.1" 200 - -2025-12-18 20:59:06,469 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:06] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:59:06,473 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:06] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:59:06,474 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:06] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:59:06,475 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:06] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:59:06,509 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:06] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:59:08,738 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:08] "GET /index HTTP/1.1" 200 - -2025-12-18 20:59:08,753 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:08] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:59:08,757 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:08] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:59:08,758 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:08] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:59:08,759 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:08] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:59:08,785 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:08] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:59:09,303 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:09] "GET /index HTTP/1.1" 200 - -2025-12-18 20:59:09,316 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:09] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 20:59:09,322 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:09] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 20:59:09,323 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:09] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 20:59:09,323 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:09] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 20:59:09,357 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 20:59:09] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 20:59:10,075 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:59:20,308 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:59:30,534 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:59:40,760 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 20:59:50,986 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:00:01,212 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:00:11,437 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:00:21,663 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:00:31,889 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:00:42,114 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:00:52,354 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:01:02,580 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:01:11,280 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 21:01:11] "GET /index HTTP/1.1" 200 - -2025-12-18 21:01:11,308 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 21:01:11] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 21:01:11,310 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 21:01:11] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 21:01:11,311 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 21:01:11] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 21:01:11,313 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 21:01:11] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 21:01:11,375 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 21:01:11] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 21:01:11,994 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 21:01:11] "GET /index HTTP/1.1" 200 - -2025-12-18 21:01:12,010 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 21:01:12] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 21:01:12,012 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 21:01:12] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 21:01:12,013 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 21:01:12] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 21:01:12,013 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 21:01:12] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 21:01:12,045 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 21:01:12] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 21:01:12,814 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:01:23,041 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:01:33,267 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:01:43,493 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:01:45,696 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 21:01:45] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 21:01:45,711 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 21:01:45] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 21:01:45,716 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 21:01:45] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 21:01:45,717 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 21:01:45] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 21:01:53,430 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 21:01:53] "GET /edit_xml/T6_R760_RAID_A.xml HTTP/1.1" 200 - -2025-12-18 21:01:53,445 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 21:01:53] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 21:01:53,722 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:01:56,875 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 21:01:56] "GET /edit_xml/R650_TY1.xml HTTP/1.1" 200 - -2025-12-18 21:01:56,890 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 21:01:56] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 21:02:03,948 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:02:14,174 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:02:19,378 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 21:02:19] "GET /home/ HTTP/1.1" 200 - -2025-12-18 21:02:19,392 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 21:02:19] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 21:02:21,598 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 21:02:21] "GET /index HTTP/1.1" 200 - -2025-12-18 21:02:21,615 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 21:02:21] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 21:02:21,617 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 21:02:21] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 21:02:21,618 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 21:02:21] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 21:02:21,618 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 21:02:21] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 21:02:24,400 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:02:34,627 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:02:44,853 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:02:55,079 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:03:05,307 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:03:15,533 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:03:25,760 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:03:35,986 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:03:46,212 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:03:56,439 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:04:06,664 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:04:16,890 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:04:27,116 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:04:34,695 [INFO] app: LOGOUT: user=김강희 -2025-12-18 21:04:34,695 [INFO] app: LOGOUT: user=김강희 -2025-12-18 21:04:34,696 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 21:04:34] "GET /logout HTTP/1.1" 302 - -2025-12-18 21:04:34,699 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 21:04:34] "GET /login HTTP/1.1" 200 - -2025-12-18 21:04:34,715 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 21:04:34] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 21:04:35,942 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-12-18 21:04:37,341 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:04:47,567 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:04:57,792 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:05:08,019 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:05:18,245 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:05:28,471 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:05:38,697 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:05:48,924 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:05:59,151 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:06:09,378 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 21:06:19,604 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:53:19,078 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-12-18 22:53:19,100 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-18 22:53:19,100 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-18 22:53:19,123 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-12-18 22:53:19,137 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-18 22:53:19,137 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-18 22:53:19,138 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-12-18 22:53:19,157 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.20:5000 -2025-12-18 22:53:19,157 [INFO] werkzeug: Press CTRL+C to quit -2025-12-18 22:53:20,167 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-12-18 22:53:20,407 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-12-18 22:53:20,409 [INFO] telegram.ext.Application: Application started -2025-12-18 22:53:22,588 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 22:53:22] "GET / HTTP/1.1" 302 - -2025-12-18 22:53:22,601 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 22:53:22] "GET /login?next=/ HTTP/1.1" 200 - -2025-12-18 22:53:22,630 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 22:53:22] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 22:53:31,101 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:53:32,041 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-12-18 22:53:32,041 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-12-18 22:53:32,079 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-12-18 22:53:32,079 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-12-18 22:53:32,081 [INFO] app: LOGIN: SUCCESS → redirect -2025-12-18 22:53:32,081 [INFO] app: LOGIN: SUCCESS → redirect -2025-12-18 22:53:32,082 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 22:53:32] "POST /login HTTP/1.1" 302 - -2025-12-18 22:53:32,098 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 22:53:32] "GET /index HTTP/1.1" 200 - -2025-12-18 22:53:32,117 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 22:53:32] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 22:53:32,119 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 22:53:32] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 22:53:32,120 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 22:53:32] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 22:53:32,120 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 22:53:32] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 22:53:33,294 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-12-18 22:53:41,335 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:53:51,568 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:54:01,803 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:54:04,062 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 22:54:04] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 22:54:04,077 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 22:54:04] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 22:54:04,082 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 22:54:04] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 22:54:04,083 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 22:54:04] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 22:54:12,035 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:54:12,145 [INFO] backend.routes.scp_routes: Reading file1: D:\Code\iDRAC_Info\idrac_info\data\xml\R650_TY1.xml -2025-12-18 22:54:12,145 [INFO] backend.routes.scp_routes: Reading file2: D:\Code\iDRAC_Info\idrac_info\data\xml\R6615.xml -2025-12-18 22:54:12,158 [INFO] backend.routes.scp_routes: Content1 length: 240341, Content2 length: 249202 -2025-12-18 22:54:12,162 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 22:54:12] "GET /scp/diff?file1=R650_TY1.xml&file2=R6615.xml HTTP/1.1" 200 - -2025-12-18 22:54:12,176 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 22:54:12] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 22:54:20,199 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 22:54:20] "GET /index HTTP/1.1" 200 - -2025-12-18 22:54:20,210 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 22:54:20] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 22:54:20,214 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 22:54:20] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 22:54:20,215 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 22:54:20] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 22:54:20,217 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 22:54:20] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 22:54:22,266 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:54:32,501 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:54:42,736 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:54:52,968 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:55:03,200 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:55:13,435 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:55:23,667 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:55:33,903 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:55:44,136 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:55:54,371 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:56:04,605 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:56:14,874 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:56:25,105 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:56:35,339 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:56:45,579 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:56:55,819 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:57:06,056 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:57:16,305 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:57:26,537 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:57:36,774 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:57:47,006 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:57:57,239 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:58:07,475 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:58:17,707 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:58:27,942 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:58:38,180 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:58:48,410 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:58:58,642 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:59:08,876 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:59:19,109 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:59:29,342 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:59:39,574 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 22:59:49,805 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:00:00,045 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:00:10,279 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:00:20,514 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:00:30,776 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:00:41,015 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:00:51,246 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:01:01,476 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:01:11,711 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:01:21,941 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:01:32,177 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:01:42,409 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:01:52,644 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:02:02,923 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:02:13,172 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:02:23,403 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:02:33,634 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:02:43,871 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:08:05,140 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-12-18 23:08:05,157 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-18 23:08:05,157 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-18 23:08:05,172 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-12-18 23:08:05,184 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-18 23:08:05,184 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-18 23:08:05,184 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-12-18 23:08:05,199 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.20:5000 -2025-12-18 23:08:05,200 [INFO] werkzeug: Press CTRL+C to quit -2025-12-18 23:08:06,208 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-12-18 23:08:06,435 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-12-18 23:08:06,437 [INFO] telegram.ext.Application: Application started -2025-12-18 23:08:12,557 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:12] "GET / HTTP/1.1" 200 - -2025-12-18 23:08:12,607 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:12] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:08:12,607 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:12] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 23:08:12,616 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:12] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 23:08:12,618 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:12] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 23:08:13,881 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:13] "GET / HTTP/1.1" 200 - -2025-12-18 23:08:13,898 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:13] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:08:13,899 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:13] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 23:08:13,901 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:13] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 23:08:13,902 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:13] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 23:08:13,944 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:13] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:08:17,103 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:08:22,356 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:22] "GET /index HTTP/1.1" 200 - -2025-12-18 23:08:22,369 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:22] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:08:22,374 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:22] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 23:08:22,375 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:22] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 23:08:22,375 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:22] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 23:08:22,756 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:22] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 23:08:22,772 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:22] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:08:22,773 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:22] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 23:08:22,774 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:22] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 23:08:25,753 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:25] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 23:08:25,766 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:25] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:08:25,772 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:25] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 23:08:25,773 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:25] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 23:08:26,358 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:26] "GET /jobs HTTP/1.1" 200 - -2025-12-18 23:08:26,370 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:26] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:08:26,374 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:26] "GET /static/css/jobs.css HTTP/1.1" 304 - -2025-12-18 23:08:26,394 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:26] "GET /static/js/jobs.js HTTP/1.1" 304 - -2025-12-18 23:08:26,402 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:26] "GET /jobs/config HTTP/1.1" 200 - -2025-12-18 23:08:26,416 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-12-18 23:08:26,416 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:26] "GET /jobs/iplist HTTP/1.1" 200 - -2025-12-18 23:08:27,327 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:08:28,160 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:28] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 23:08:28,172 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:28] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:08:28,176 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:28] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 23:08:28,176 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:28] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 23:08:30,598 [INFO] backend.routes.scp_routes: Reading file1: D:\Code\iDRAC_Info\idrac_info\data\xml\R650_TY1.xml -2025-12-18 23:08:30,598 [INFO] backend.routes.scp_routes: Reading file2: D:\Code\iDRAC_Info\idrac_info\data\xml\R6615.xml -2025-12-18 23:08:30,598 [INFO] backend.routes.scp_routes: Content1 length: 240341, Content2 length: 249202 -2025-12-18 23:08:30,602 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:30] "GET /scp/diff?file1=R650_TY1.xml&file2=R6615.xml HTTP/1.1" 200 - -2025-12-18 23:08:30,616 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:08:30] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:08:37,552 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:08:47,787 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:08:58,012 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:09:08,234 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:09:18,458 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:09:28,683 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:09:38,906 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:09:49,128 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:09:57,518 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:09:57] "GET /index HTTP/1.1" 200 - -2025-12-18 23:09:57,535 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:09:57] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:09:57,536 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:09:57] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 23:09:57,538 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:09:57] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 23:09:57,539 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:09:57] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 23:09:57,574 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:09:57] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:09:59,353 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:10:09,581 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:10:19,804 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:10:20,833 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:20] "GET /index HTTP/1.1" 200 - -2025-12-18 23:10:20,846 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:20] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:10:20,850 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:20] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 23:10:20,851 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:20] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 23:10:20,852 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:20] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 23:10:20,882 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:20] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:10:21,453 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:21] "GET /index HTTP/1.1" 200 - -2025-12-18 23:10:21,466 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:21] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:10:21,471 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:21] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 23:10:21,471 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:21] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 23:10:21,471 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:21] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 23:10:30,029 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:10:30,184 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:30] "POST /backup HTTP/1.1" 302 - -2025-12-18 23:10:30,190 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:30] "GET /index HTTP/1.1" 200 - -2025-12-18 23:10:30,209 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:30] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:10:30,212 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:30] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 23:10:30,213 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:30] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 23:10:30,214 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:30] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 23:10:32,466 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:32] "POST /backup HTTP/1.1" 302 - -2025-12-18 23:10:32,472 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:32] "GET /index HTTP/1.1" 200 - -2025-12-18 23:10:32,490 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:32] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:10:32,491 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:32] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 23:10:32,492 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:32] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 23:10:32,493 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:32] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 23:10:34,037 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:34] "POST /backup HTTP/1.1" 302 - -2025-12-18 23:10:34,042 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:34] "GET /index HTTP/1.1" 200 - -2025-12-18 23:10:34,058 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:34] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:10:34,060 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:34] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 23:10:34,061 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:34] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 23:10:34,062 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:34] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 23:10:40,254 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:10:42,766 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:42] "GET /jobs HTTP/1.1" 200 - -2025-12-18 23:10:42,779 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:42] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:10:42,783 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:42] "GET /static/css/jobs.css HTTP/1.1" 304 - -2025-12-18 23:10:42,784 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:42] "GET /static/js/jobs.js HTTP/1.1" 304 - -2025-12-18 23:10:42,797 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:42] "GET /jobs/config HTTP/1.1" 200 - -2025-12-18 23:10:42,811 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-12-18 23:10:42,812 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:42] "GET /jobs/iplist HTTP/1.1" 200 - -2025-12-18 23:10:47,718 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:47] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 23:10:47,730 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:47] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:10:47,733 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:47] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 23:10:47,737 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:47] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 23:10:49,442 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:49] "GET /edit_xml/PO-20250826-0158%20_가산3_XE9680_384EA.xml HTTP/1.1" 200 - -2025-12-18 23:10:49,457 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:49] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:10:50,479 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:10:57,829 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:57] "GET /index HTTP/1.1" 200 - -2025-12-18 23:10:57,843 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:57] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:10:57,845 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:57] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 23:10:57,845 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:57] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 23:10:57,846 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:10:57] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 23:11:00,704 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:11:04,337 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:11:04] "GET /admin HTTP/1.1" 200 - -2025-12-18 23:11:04,351 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:11:04] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:11:04,368 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:11:04] "GET /static/js/admin.js HTTP/1.1" 200 - -2025-12-18 23:11:10,928 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:11:21,153 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:11:31,376 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:11:41,601 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:11:51,825 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:12:02,047 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:12:12,269 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:12:22,492 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:12:32,715 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:12:42,938 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:12:50,703 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:12:50] "GET / HTTP/1.1" 200 - -2025-12-18 23:12:50,711 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:12:50] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:12:50,713 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:12:50] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 23:12:50,731 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:12:50] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 23:12:50,736 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:12:50] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 23:12:52,559 [INFO] app: LOGOUT: user=김강희 -2025-12-18 23:12:52,559 [INFO] app: LOGOUT: user=김강희 -2025-12-18 23:12:52,561 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:12:52] "GET /logout HTTP/1.1" 302 - -2025-12-18 23:12:52,566 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:12:52] "GET /login HTTP/1.1" 200 - -2025-12-18 23:12:52,581 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:12:52] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:12:53,161 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:12:53,801 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-12-18 23:13:00,811 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-12-18 23:13:00,811 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-12-18 23:13:00,850 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-12-18 23:13:00,850 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-12-18 23:13:00,851 [INFO] app: LOGIN: SUCCESS → redirect -2025-12-18 23:13:00,851 [INFO] app: LOGIN: SUCCESS → redirect -2025-12-18 23:13:00,852 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:13:00] "POST /login HTTP/1.1" 302 - -2025-12-18 23:13:00,857 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:13:00] "GET /index HTTP/1.1" 200 - -2025-12-18 23:13:00,876 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:13:00] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:13:00,881 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:13:00] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 23:13:00,881 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:13:00] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 23:13:00,881 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:13:00] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 23:13:02,147 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-12-18 23:13:03,384 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:13:13,606 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:13:18,291 [INFO] app: LOGOUT: user=김강희 -2025-12-18 23:13:18,291 [INFO] app: LOGOUT: user=김강희 -2025-12-18 23:13:18,292 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:13:18] "GET /logout HTTP/1.1" 302 - -2025-12-18 23:13:18,295 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:13:18] "GET /login HTTP/1.1" 200 - -2025-12-18 23:13:18,309 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:13:18] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:13:19,490 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-12-18 23:13:23,829 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:13:34,052 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:13:44,274 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:13:54,497 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:14:02,705 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-12-18 23:14:02,705 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-12-18 23:14:02,738 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:14:02] "POST /login HTTP/1.1" 500 - -2025-12-18 23:14:02,768 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:14:02] "GET /login?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 - -2025-12-18 23:14:02,777 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:14:02] "GET /login?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 - -2025-12-18 23:14:02,801 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:14:02] "GET /login?__debugger__=yes&cmd=resource&f=console.png&s=z8y1LlnccjoxyH5waJCN HTTP/1.1" 200 - -2025-12-18 23:14:02,821 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:14:02] "GET /login?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 - -2025-12-18 23:14:04,720 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:14:14,645 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:14:14] "GET /login HTTP/1.1" 200 - -2025-12-18 23:14:14,659 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:14:14] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:14:14,948 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:14:25,170 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:14:35,391 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:14:45,625 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:14:55,847 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:15:06,074 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:15:08,032 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-12-18 23:15:08,032 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-12-18 23:15:08,068 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-12-18 23:15:08,068 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-12-18 23:15:08,069 [INFO] app: LOGIN: SUCCESS → redirect -2025-12-18 23:15:08,069 [INFO] app: LOGIN: SUCCESS → redirect -2025-12-18 23:15:08,070 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:08] "POST /login HTTP/1.1" 302 - -2025-12-18 23:15:08,075 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:08] "GET /index HTTP/1.1" 200 - -2025-12-18 23:15:08,098 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:08] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:15:08,098 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:08] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 23:15:08,099 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:08] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 23:15:08,101 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:08] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 23:15:09,365 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-12-18 23:15:16,297 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:15:21,161 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:21] "GET /index HTTP/1.1" 200 - -2025-12-18 23:15:21,175 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:21] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:15:21,180 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:21] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 23:15:21,180 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:21] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 23:15:21,181 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:21] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 23:15:21,211 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:21] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:15:26,521 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:15:32,626 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:32] "GET /jobs HTTP/1.1" 200 - -2025-12-18 23:15:32,639 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:32] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:15:32,643 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:32] "GET /static/css/jobs.css HTTP/1.1" 304 - -2025-12-18 23:15:32,643 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:32] "GET /static/js/jobs.js HTTP/1.1" 304 - -2025-12-18 23:15:32,648 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:32] "GET /jobs/config HTTP/1.1" 200 - -2025-12-18 23:15:32,669 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-12-18 23:15:32,669 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:32] "GET /jobs/iplist HTTP/1.1" 200 - -2025-12-18 23:15:33,624 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:33] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 23:15:33,637 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:33] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:15:33,639 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:33] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 23:15:33,640 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:33] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 23:15:34,975 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:34] "GET /index HTTP/1.1" 200 - -2025-12-18 23:15:34,988 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:34] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:15:34,994 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:34] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 23:15:34,994 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:34] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 23:15:34,995 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:34] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 23:15:35,716 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:35] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 23:15:35,728 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:35] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:15:35,732 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:35] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 23:15:35,732 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:35] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 23:15:36,746 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:15:39,085 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:39] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 23:15:39,098 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:39] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:15:39,102 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:39] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 23:15:39,102 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:39] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 23:15:39,677 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:39] "GET /jobs HTTP/1.1" 200 - -2025-12-18 23:15:39,689 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:39] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:15:39,692 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:39] "GET /static/css/jobs.css HTTP/1.1" 304 - -2025-12-18 23:15:39,693 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:39] "GET /static/js/jobs.js HTTP/1.1" 304 - -2025-12-18 23:15:39,714 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:39] "GET /jobs/config HTTP/1.1" 200 - -2025-12-18 23:15:39,728 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-12-18 23:15:39,728 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:39] "GET /jobs/iplist HTTP/1.1" 200 - -2025-12-18 23:15:40,037 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:40] "GET /admin HTTP/1.1" 200 - -2025-12-18 23:15:40,050 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:40] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:15:40,053 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:15:40] "GET /static/js/admin.js HTTP/1.1" 304 - -2025-12-18 23:15:46,970 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:15:57,206 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:16:07,430 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:16:17,653 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:16:21,686 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:16:21] "GET /admin/settings HTTP/1.1" 200 - -2025-12-18 23:16:21,704 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:16:21] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:16:21,707 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:16:21] "GET /static/css/admin_settings.css HTTP/1.1" 200 - -2025-12-18 23:16:27,877 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:16:27,987 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:16:27] "GET /admin HTTP/1.1" 200 - -2025-12-18 23:16:28,002 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:16:28] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:16:28,003 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:16:28] "GET /static/js/admin.js HTTP/1.1" 304 - -2025-12-18 23:16:32,120 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:16:32] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 23:16:32,133 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:16:32] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:16:32,136 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:16:32] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 23:16:32,137 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:16:32] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 23:16:38,098 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:16:48,320 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:16:58,542 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:17:08,767 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:17:18,996 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:17:29,219 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:17:36,252 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:17:36] "GET /home/ HTTP/1.1" 200 - -2025-12-18 23:17:36,266 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:17:36] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:17:37,873 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:17:37] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 23:17:37,886 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:17:37] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:17:37,887 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:17:37] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 23:17:37,893 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:17:37] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 23:17:39,178 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:17:39] "GET /index HTTP/1.1" 200 - -2025-12-18 23:17:39,193 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:17:39] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:17:39,195 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:17:39] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 23:17:39,195 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:17:39] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 23:17:39,196 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:17:39] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 23:17:39,442 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:17:49,665 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:17:59,894 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:18:10,118 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:18:20,341 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:18:30,563 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:18:40,786 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:18:51,009 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:19:01,231 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:19:09,458 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:19:09] "GET /index HTTP/1.1" 200 - -2025-12-18 23:19:09,475 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:19:09] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:19:09,477 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:19:09] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 23:19:09,479 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:19:09] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 23:19:09,480 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:19:09] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 23:19:09,509 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:19:09] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:19:10,775 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:19:10] "GET /admin HTTP/1.1" 500 - -2025-12-18 23:19:10,789 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:19:10] "GET /admin?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 - -2025-12-18 23:19:10,791 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:19:10] "GET /admin?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 - -2025-12-18 23:19:10,799 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:19:10] "GET /admin?__debugger__=yes&cmd=resource&f=console.png&s=z8y1LlnccjoxyH5waJCN HTTP/1.1" 200 - -2025-12-18 23:19:10,820 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:19:10] "GET /admin?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 - -2025-12-18 23:19:11,458 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:19:21,683 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:19:23,739 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-12-18 23:19:23,756 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-18 23:19:23,756 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-18 23:19:23,772 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-12-18 23:19:23,783 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-18 23:19:23,783 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-18 23:19:23,784 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-12-18 23:19:23,801 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.20:5000 -2025-12-18 23:19:23,801 [INFO] werkzeug: Press CTRL+C to quit -2025-12-18 23:19:24,636 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:19:24] "GET /admin HTTP/1.1" 200 - -2025-12-18 23:19:24,692 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:19:24] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:19:24,693 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:19:24] "GET /static/js/admin.js HTTP/1.1" 304 - -2025-12-18 23:19:24,755 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:19:24] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:19:24,820 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getMe "HTTP/1.1 200 OK" -2025-12-18 23:19:25,049 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/deleteWebhook "HTTP/1.1 200 OK" -2025-12-18 23:19:25,050 [INFO] telegram.ext.Application: Application started -2025-12-18 23:19:34,893 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:19:34] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:19:34,908 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:19:34] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:19:35,744 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:19:41,720 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:19:41] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:19:41,733 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:19:41] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:19:44,218 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:19:44] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:19:44,231 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:19:44] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:19:45,202 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:19:45] "GET /admin HTTP/1.1" 200 - -2025-12-18 23:19:45,216 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:19:45] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:19:45,218 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:19:45] "GET /static/js/admin.js HTTP/1.1" 304 - -2025-12-18 23:19:45,973 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:19:56,203 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:20:06,435 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:20:16,668 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:20:26,898 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:20:37,128 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:20:47,360 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:20:53,972 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:20:53] "GET /admin/settings HTTP/1.1" 200 - -2025-12-18 23:20:53,990 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:20:53] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:20:53,993 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:20:53] "GET /static/css/admin_settings.css HTTP/1.1" 304 - -2025-12-18 23:20:56,139 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:20:56] "GET /admin HTTP/1.1" 200 - -2025-12-18 23:20:56,155 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:20:56] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:20:56,156 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:20:56] "GET /static/js/admin.js HTTP/1.1" 304 - -2025-12-18 23:20:57,591 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:20:57,849 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:20:57] "GET /admin/settings HTTP/1.1" 200 - -2025-12-18 23:20:57,864 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:20:57] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:20:57,865 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:20:57] "GET /static/css/admin_settings.css HTTP/1.1" 304 - -2025-12-18 23:20:58,937 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:20:58] "GET /admin HTTP/1.1" 200 - -2025-12-18 23:20:58,951 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:20:58] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:20:58,953 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:20:58] "GET /static/js/admin.js HTTP/1.1" 304 - -2025-12-18 23:21:07,823 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:21:18,054 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:21:28,288 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:21:38,519 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:21:48,748 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:21:51,772 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:21:51] "GET /admin HTTP/1.1" 200 - -2025-12-18 23:21:51,787 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:21:51] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:21:51,787 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:21:51] "GET /static/js/admin.js HTTP/1.1" 304 - -2025-12-18 23:21:51,812 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:21:51] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:21:52,441 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:21:52] "GET /admin HTTP/1.1" 200 - -2025-12-18 23:21:52,453 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:21:52] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:21:52,456 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:21:52] "GET /static/js/admin.js HTTP/1.1" 304 - -2025-12-18 23:21:52,478 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:21:52] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:21:52,616 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:21:52] "GET /admin HTTP/1.1" 200 - -2025-12-18 23:21:52,628 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:21:52] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:21:52,630 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:21:52] "GET /static/js/admin.js HTTP/1.1" 304 - -2025-12-18 23:21:52,652 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:21:52] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:21:58,978 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:22:09,209 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:22:19,443 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:22:29,678 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:22:39,922 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:22:50,151 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:23:00,119 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:23:00] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:23:00,136 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:23:00] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:23:00,384 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:23:10,614 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:23:20,845 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:23:29,976 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:23:29] "GET /admin HTTP/1.1" 200 - -2025-12-18 23:23:29,990 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:23:29] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:23:29,990 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:23:29] "GET /static/js/admin.js HTTP/1.1" 304 - -2025-12-18 23:23:31,074 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:23:41,305 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:23:51,536 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:24:00,612 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:24:00] "GET /admin HTTP/1.1" 200 - -2025-12-18 23:24:00,626 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:24:00] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:24:00,627 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:24:00] "GET /static/js/admin.js HTTP/1.1" 304 - -2025-12-18 23:24:00,654 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:24:00] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:24:01,765 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:24:11,998 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:24:13,364 [INFO] app: LOGOUT: user=김강희 -2025-12-18 23:24:13,364 [INFO] app: LOGOUT: user=김강희 -2025-12-18 23:24:13,365 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:24:13] "GET /logout HTTP/1.1" 302 - -2025-12-18 23:24:13,370 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:24:13] "GET /login HTTP/1.1" 200 - -2025-12-18 23:24:13,384 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:24:13] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:24:14,591 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-12-18 23:24:22,227 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:24:32,458 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:24:42,689 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:24:52,921 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:24:59,060 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:24:59] "GET /register HTTP/1.1" 200 - -2025-12-18 23:24:59,075 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:24:59] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:25:03,154 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:25:13,385 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:25:15,927 [INFO] app: REGISTER: form errors={'password': ['비밀번호에 대문자가 1자 이상 포함되어야 합니다.']} -2025-12-18 23:25:15,927 [INFO] app: REGISTER: form errors={'password': ['비밀번호에 대문자가 1자 이상 포함되어야 합니다.']} -2025-12-18 23:25:15,932 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:25:15] "POST /register HTTP/1.1" 200 - -2025-12-18 23:25:15,951 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:25:15] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:25:23,618 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:25:33,851 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:25:44,081 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:25:54,203 [INFO] app: REGISTER: form errors={'password': ['비밀번호에 소문자가 1자 이상 포함되어야 합니다.']} -2025-12-18 23:25:54,203 [INFO] app: REGISTER: form errors={'password': ['비밀번호에 소문자가 1자 이상 포함되어야 합니다.']} -2025-12-18 23:25:54,204 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:25:54] "POST /register HTTP/1.1" 200 - -2025-12-18 23:25:54,224 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:25:54] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:25:54,310 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:26:04,546 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:26:14,781 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:26:25,012 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:26:35,252 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:26:43,770 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:26:43] "GET /home/ HTTP/1.1" 200 - -2025-12-18 23:26:43,791 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:26:43] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:26:44,384 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:26:44] "GET /home/ HTTP/1.1" 200 - -2025-12-18 23:26:44,398 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:26:44] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:26:44,419 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:26:44] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:26:45,327 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:26:45] "GET /home/ HTTP/1.1" 200 - -2025-12-18 23:26:45,339 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:26:45] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:26:45,361 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:26:45] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:26:45,484 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:26:45,550 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:26:45] "GET /home/ HTTP/1.1" 200 - -2025-12-18 23:26:45,562 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:26:45] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:26:45,584 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:26:45] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:26:46,311 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:26:46] "GET /home/ HTTP/1.1" 200 - -2025-12-18 23:26:46,322 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:26:46] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:26:46,345 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:26:46] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:26:46,470 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:26:46] "GET /home/ HTTP/1.1" 200 - -2025-12-18 23:26:46,482 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:26:46] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:26:46,504 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:26:46] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:26:55,713 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:27:05,944 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:27:16,175 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:27:26,408 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:27:31,975 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:27:31] "GET /home/ HTTP/1.1" 200 - -2025-12-18 23:27:31,987 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:27:31] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:27:32,014 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:27:32] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:27:33,389 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:27:33] "GET /register HTTP/1.1" 200 - -2025-12-18 23:27:33,400 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:27:33] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:27:36,638 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:27:46,869 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:27:57,106 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:28:00,941 [INFO] app: REGISTER: created id=3 email=test@test.com token=ge-h7By0SR -2025-12-18 23:28:00,941 [INFO] app: REGISTER: created id=3 email=test@test.com token=ge-h7By0SR -2025-12-18 23:28:00,942 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:00] "POST /register HTTP/1.1" 302 - -2025-12-18 23:28:00,945 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:00] "GET /login HTTP/1.1" 200 - -2025-12-18 23:28:00,961 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:00] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:28:02,120 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-12-18 23:28:07,335 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:28:17,571 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:28:19,160 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-12-18 23:28:19,160 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-12-18 23:28:19,197 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-12-18 23:28:19,197 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-12-18 23:28:19,198 [INFO] app: LOGIN: SUCCESS → redirect -2025-12-18 23:28:19,198 [INFO] app: LOGIN: SUCCESS → redirect -2025-12-18 23:28:19,199 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:19] "POST /login HTTP/1.1" 302 - -2025-12-18 23:28:19,212 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:19] "GET /index HTTP/1.1" 200 - -2025-12-18 23:28:19,232 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:19] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 23:28:19,233 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:19] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:28:19,236 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:19] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 23:28:19,236 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:19] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 23:28:20,388 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/sendMessage "HTTP/1.1 200 OK" -2025-12-18 23:28:23,719 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:23] "GET /admin HTTP/1.1" 200 - -2025-12-18 23:28:23,733 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:23] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:28:23,733 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:23] "GET /static/js/admin.js HTTP/1.1" 304 - -2025-12-18 23:28:27,810 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:28:28,125 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:28:29,037 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/answerCallbackQuery "HTTP/1.1 200 OK" -2025-12-18 23:28:29,039 [INFO] telegram_bot_service: Received callback: approve_ge-h7By0SRrCO9hsSYUyLBp3KfgYYefFDWSdxaY8un4 -2025-12-18 23:28:29,464 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/editMessageText "HTTP/1.1 200 OK" -2025-12-18 23:28:29,465 [INFO] telegram_bot_service: User 테디창 approved -2025-12-18 23:28:31,311 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:31] "GET /admin HTTP/1.1" 200 - -2025-12-18 23:28:31,324 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:31] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:28:31,327 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:31] "GET /static/js/admin.js HTTP/1.1" 304 - -2025-12-18 23:28:31,351 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:31] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:28:36,717 [INFO] root: 🗑 삭제된 사용자: 테디창 (id=3) -2025-12-18 23:28:36,718 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:36] "GET /admin/delete/3 HTTP/1.1" 302 - -2025-12-18 23:28:36,722 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:36] "GET /admin HTTP/1.1" 200 - -2025-12-18 23:28:36,737 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:36] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:28:36,738 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:36] "GET /static/js/admin.js HTTP/1.1" 304 - -2025-12-18 23:28:38,357 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:28:40,398 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:40] "GET /home/ HTTP/1.1" 200 - -2025-12-18 23:28:40,412 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:40] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:28:41,961 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:41] "GET /index HTTP/1.1" 200 - -2025-12-18 23:28:41,973 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:41] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:28:41,978 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:41] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 23:28:41,979 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:41] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 23:28:41,980 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:41] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 23:28:42,541 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:42] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 23:28:42,558 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:42] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:28:42,559 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:42] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 23:28:42,560 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:42] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 23:28:44,332 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:44] "GET /edit_xml/PO-20250826-0158%20_가산3_XE9680_384EA.xml HTTP/1.1" 200 - -2025-12-18 23:28:44,347 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:44] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:28:48,589 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:28:54,761 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:54] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 23:28:54,776 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:54] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:28:54,783 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:54] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 23:28:54,784 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:54] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 23:28:56,360 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:56] "GET /index HTTP/1.1" 200 - -2025-12-18 23:28:56,373 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:56] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:28:56,378 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:56] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 23:28:56,379 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:56] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 23:28:56,379 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:28:56] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 23:28:58,836 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:29:09,067 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:29:19,298 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:29:29,530 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:29:39,762 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:29:50,046 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:30:00,277 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:30:10,509 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:30:19,077 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:30:19] "GET /admin HTTP/1.1" 200 - -2025-12-18 23:30:19,091 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:30:19] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:30:19,093 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:30:19] "GET /static/js/admin.js HTTP/1.1" 304 - -2025-12-18 23:30:20,743 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:30:30,973 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:30:41,208 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:30:51,437 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:31:01,671 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:31:11,901 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:31:22,133 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:31:30,067 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:31:30] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:31:30,085 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:31:30] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:31:32,365 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:31:42,598 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:31:47,931 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:31:47] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:31:47,947 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:31:47] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:31:49,018 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:31:49] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:31:49,033 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:31:49] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:31:50,166 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:31:50] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:31:50,179 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:31:50] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:31:52,829 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:32:03,063 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:32:03,077 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:32:03] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:32:03,090 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:32:03] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:32:03,137 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:32:03] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:32:13,295 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:32:23,538 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:32:29,955 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:32:29] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:32:29,969 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:32:29] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:32:33,768 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:32:37,906 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:32:37] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:32:37,919 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:32:37] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:32:43,998 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:32:54,228 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:33:02,985 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:33:02] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:33:02,998 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:33:02] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:33:03,063 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:33:03] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:33:04,461 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:33:14,691 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:33:24,922 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:33:35,151 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:33:45,382 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:33:55,612 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:34:05,846 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:34:07,093 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:34:07] "GET /home/ HTTP/1.1" 200 - -2025-12-18 23:34:07,111 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:34:07] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:34:09,154 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:34:09] "GET /admin HTTP/1.1" 200 - -2025-12-18 23:34:09,171 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:34:09] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:34:09,172 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:34:09] "GET /static/js/admin.js HTTP/1.1" 304 - -2025-12-18 23:34:09,988 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:34:09] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:34:10,001 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:34:10] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:34:16,079 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:34:26,311 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:34:36,542 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:34:46,773 [INFO] httpx: HTTP Request: POST https://api.telegram.org/bot6719918880:AAHC1on-KlzH0G3ylJP57p-q5qMyorFUGZo/getUpdates "HTTP/1.1 200 OK" -2025-12-18 23:34:58,614 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-12-18 23:34:58,632 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-18 23:34:58,632 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-18 23:34:58,648 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-12-18 23:34:58,661 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-18 23:34:58,661 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-12-18 23:34:58,661 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-18 23:34:58,674 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.20:5000 -2025-12-18 23:34:58,674 [INFO] werkzeug: Press CTRL+C to quit -2025-12-18 23:35:03,564 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:35:03] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:35:03,607 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:35:03] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:35:03,660 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:35:03] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:35:04,419 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:35:04] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:35:04,434 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:35:04] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:35:04,498 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:35:04] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:35:05,073 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:35:05] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:35:05,085 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:35:05] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:35:05,151 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:35:05] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:35:05,554 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:35:05] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:35:05,567 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:35:05] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:35:05,633 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:35:05] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:35:16,974 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:35:16] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:35:16,988 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:35:16] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:36:38,929 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:36:38] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:36:38,943 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:36:38] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:36:39,007 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:36:39] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:36:39,890 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:36:39] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:36:39,904 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:36:39] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:36:39,975 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:36:39] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:36:40,047 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:36:40] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:36:40,060 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:36:40] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:36:40,119 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:36:40] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:36:42,754 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:36:42] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:36:42,769 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:36:42] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:36:49,170 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-12-18 23:36:49,187 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-18 23:36:49,187 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-18 23:36:49,201 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-12-18 23:36:49,213 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-18 23:36:49,213 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-18 23:36:49,213 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-12-18 23:36:49,226 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.20:5000 -2025-12-18 23:36:49,226 [INFO] werkzeug: Press CTRL+C to quit -2025-12-18 23:36:51,063 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:36:51] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:36:51,099 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:36:51] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:36:51,146 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:36:51] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:39:03,273 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:03] "GET /admin/logs HTTP/1.1" 500 - -2025-12-18 23:39:03,286 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:03] "GET /admin/logs?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 - -2025-12-18 23:39:03,288 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:03] "GET /admin/logs?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 - -2025-12-18 23:39:03,297 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:03] "GET /admin/logs?__debugger__=yes&cmd=resource&f=console.png&s=fJoQEPfpzFL01L1aviYw HTTP/1.1" 200 - -2025-12-18 23:39:03,317 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:03] "GET /admin/logs?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 - -2025-12-18 23:39:04,277 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:04] "GET /admin/logs HTTP/1.1" 500 - -2025-12-18 23:39:04,291 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:04] "GET /admin/logs?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 304 - -2025-12-18 23:39:04,292 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:04] "GET /admin/logs?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 304 - -2025-12-18 23:39:04,300 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:04] "GET /admin/logs?__debugger__=yes&cmd=resource&f=console.png&s=fJoQEPfpzFL01L1aviYw HTTP/1.1" 304 - -2025-12-18 23:39:04,325 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:04] "GET /admin/logs?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 304 - -2025-12-18 23:39:07,447 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-12-18 23:39:07,464 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-18 23:39:07,464 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-18 23:39:07,480 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-12-18 23:39:07,490 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-18 23:39:07,491 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-12-18 23:39:07,490 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-18 23:39:07,505 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.20:5000 -2025-12-18 23:39:07,505 [INFO] werkzeug: Press CTRL+C to quit -2025-12-18 23:39:08,654 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:08] "GET /admin/logs HTTP/1.1" 500 - -2025-12-18 23:39:08,700 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:08] "GET /admin/logs?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 304 - -2025-12-18 23:39:08,701 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:08] "GET /admin/logs?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 304 - -2025-12-18 23:39:08,710 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:08] "GET /admin/logs?__debugger__=yes&cmd=resource&f=console.png&s=wscT5i6bomkg0qmNuICg HTTP/1.1" 200 - -2025-12-18 23:39:08,728 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:08] "GET /admin/logs?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 304 - -2025-12-18 23:39:09,256 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:09] "GET /admin/logs HTTP/1.1" 500 - -2025-12-18 23:39:09,268 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:09] "GET /admin/logs?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 304 - -2025-12-18 23:39:09,269 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:09] "GET /admin/logs?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 304 - -2025-12-18 23:39:09,280 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:09] "GET /admin/logs?__debugger__=yes&cmd=resource&f=console.png&s=wscT5i6bomkg0qmNuICg HTTP/1.1" 304 - -2025-12-18 23:39:09,301 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:09] "GET /admin/logs?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 304 - -2025-12-18 23:39:09,888 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:09] "GET /admin/logs HTTP/1.1" 500 - -2025-12-18 23:39:09,899 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:09] "GET /admin/logs?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 304 - -2025-12-18 23:39:09,901 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:09] "GET /admin/logs?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 304 - -2025-12-18 23:39:09,911 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:09] "GET /admin/logs?__debugger__=yes&cmd=resource&f=console.png&s=wscT5i6bomkg0qmNuICg HTTP/1.1" 304 - -2025-12-18 23:39:09,938 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:09] "GET /admin/logs?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 304 - -2025-12-18 23:39:10,694 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:10] "GET /admin/logs HTTP/1.1" 500 - -2025-12-18 23:39:10,706 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:10] "GET /admin/logs?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 304 - -2025-12-18 23:39:10,708 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:10] "GET /admin/logs?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 304 - -2025-12-18 23:39:10,716 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:10] "GET /admin/logs?__debugger__=yes&cmd=resource&f=console.png&s=wscT5i6bomkg0qmNuICg HTTP/1.1" 304 - -2025-12-18 23:39:10,737 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:10] "GET /admin/logs?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 304 - -2025-12-18 23:39:11,977 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:11] "GET /admin HTTP/1.1" 200 - -2025-12-18 23:39:11,992 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:11] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:39:11,993 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:11] "GET /static/js/admin.js HTTP/1.1" 304 - -2025-12-18 23:39:12,012 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:12] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:39:13,005 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:13] "GET /admin/logs HTTP/1.1" 500 - -2025-12-18 23:39:13,018 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:13] "GET /admin/logs?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 304 - -2025-12-18 23:39:13,020 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:13] "GET /admin/logs?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 304 - -2025-12-18 23:39:13,029 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:39:13] "GET /admin/logs?__debugger__=yes&cmd=resource&f=console.png&s=wscT5i6bomkg0qmNuICg HTTP/1.1" 304 - -2025-12-18 23:40:15,190 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:40:15] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:40:15,205 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:40:15] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:41:12,373 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:41:12] "GET /admin/settings HTTP/1.1" 200 - -2025-12-18 23:41:12,389 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:41:12] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:41:12,389 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:41:12] "GET /static/css/admin_settings.css HTTP/1.1" 304 - -2025-12-18 23:42:13,188 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:42:13] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:42:13,202 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:42:13] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:42:14,772 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:42:14] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:42:14,785 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:42:14] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:42:14,849 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:42:14] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:42:15,412 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:42:15] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:42:15,426 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:42:15] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:42:15,490 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:42:15] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:42:15,878 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:42:15] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:42:15,890 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:42:15] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:42:15,957 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:42:15] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:42:16,310 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:42:16] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:42:16,322 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:42:16] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:42:16,387 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:42:16] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:42:39,109 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-12-18 23:42:39,126 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-18 23:42:39,126 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-18 23:42:39,141 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-12-18 23:42:39,153 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-18 23:42:39,153 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-18 23:42:39,153 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-12-18 23:42:39,168 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.20:5000 -2025-12-18 23:42:39,168 [INFO] werkzeug: Press CTRL+C to quit -2025-12-18 23:42:39,968 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:42:39] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:42:40,005 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:42:40] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:42:40,060 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:42:40] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:42:40,699 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:42:40] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:42:40,712 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:42:40] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:42:40,779 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:42:40] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:43:55,444 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:43:55] "GET /admin HTTP/1.1" 200 - -2025-12-18 23:43:55,460 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:43:55] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:43:55,462 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:43:55] "GET /static/js/admin.js HTTP/1.1" 304 - -2025-12-18 23:43:56,056 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:43:56] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:43:56,070 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:43:56] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:43:56,796 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:43:56] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:43:56,809 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:43:56] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:43:56,877 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:43:56] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:43:57,286 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:43:57] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:43:57,299 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:43:57] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:43:57,366 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:43:57] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:43:57,578 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:43:57] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:43:57,591 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:43:57] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:43:57,661 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:43:57] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:43:57,819 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:43:57] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:43:57,833 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:43:57] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:43:57,897 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:43:57] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:44:02,839 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:44:02] "GET /xml_management HTTP/1.1" 200 - -2025-12-18 23:44:02,852 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:44:02] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:44:02,856 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:44:02] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-18 23:44:02,857 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:44:02] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-18 23:44:04,398 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:44:04] "GET /edit_xml/PO-20250826-0158%20_가산3_XE9680_384EA.xml HTTP/1.1" 200 - -2025-12-18 23:44:04,413 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:44:04] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:44:55,920 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:44:55] "GET / HTTP/1.1" 200 - -2025-12-18 23:44:55,927 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:44:55] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:44:55,930 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:44:55] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-18 23:44:55,949 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:44:55] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-18 23:44:55,952 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:44:55] "GET /static/script.js HTTP/1.1" 304 - -2025-12-18 23:44:59,019 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:44:59] "GET /admin HTTP/1.1" 200 - -2025-12-18 23:44:59,035 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:44:59] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:44:59,036 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:44:59] "GET /static/js/admin.js HTTP/1.1" 304 - -2025-12-18 23:45:00,577 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:45:00] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:45:00,591 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:45:00] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:45:02,553 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:45:02] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:45:02,566 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:45:02] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:46:01,789 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:01] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:46:01,804 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:01] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:46:01,871 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:01] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:46:02,386 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:02] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:46:02,400 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:02] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:46:02,465 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:02] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:46:03,003 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:03] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:46:03,017 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:03] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:46:03,086 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:03] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:46:03,455 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:03] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:46:03,467 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:03] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:46:03,539 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:03] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:46:03,869 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:03] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:46:03,880 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:03] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:46:03,954 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:03] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:46:04,082 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:04] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:46:04,096 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:04] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:46:04,165 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:04] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:46:04,251 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:04] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:46:04,264 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:04] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:46:04,336 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:04] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:46:04,386 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:04] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:46:04,399 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:04] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:46:04,469 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:04] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:46:04,538 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:04] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:46:04,552 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:04] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:46:04,623 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:04] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:46:04,676 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:04] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:46:04,688 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:04] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:46:04,756 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:04] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:46:04,802 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:04] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:46:04,814 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:04] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:46:04,892 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:04] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:46:04,970 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:04] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:46:04,985 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:04] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:46:05,053 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:05] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:46:05,144 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:05] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:46:05,158 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:05] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:46:05,231 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:05] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:46:05,255 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:05] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:46:05,281 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:05] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:46:18,502 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:18] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:46:18,514 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:18] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:46:18,612 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:46:18] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-18 23:47:04,870 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:47:04] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:47:04,888 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:47:04] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:47:06,939 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:47:06] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:47:06,956 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:47:06] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:47:08,155 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:47:08] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:47:08,170 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:47:08] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:47:35,643 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:47:35] "GET /admin HTTP/1.1" 200 - -2025-12-18 23:47:35,656 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:47:35] "GET /static/style.css HTTP/1.1" 304 - -2025-12-18 23:47:35,657 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:47:35] "GET /static/js/admin.js HTTP/1.1" 304 - -2025-12-18 23:47:38,028 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:47:38] "GET /admin/logs HTTP/1.1" 200 - -2025-12-18 23:47:38,043 [INFO] werkzeug: 127.0.0.1 - - [18/Dec/2025 23:47:38] "GET /static/style.css HTTP/1.1" 304 - diff --git a/data/logs/2025-12-19.log b/data/logs/2025-12-19.log deleted file mode 100644 index f226be3..0000000 --- a/data/logs/2025-12-19.log +++ /dev/null @@ -1,7623 +0,0 @@ -2025-12-19 15:19:48,316 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-12-19 15:19:48,340 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-19 15:19:48,340 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-19 15:19:48,411 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-12-19 15:19:48,427 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-19 15:19:48,427 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-12-19 15:19:48,427 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-19 15:19:48,480 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.20:5000 -2025-12-19 15:19:48,481 [INFO] werkzeug: Press CTRL+C to quit -2025-12-19 15:19:50,686 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:19:50] "GET / HTTP/1.1" 302 - -2025-12-19 15:19:50,709 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:19:50] "GET /login?next=/ HTTP/1.1" 200 - -2025-12-19 15:19:50,741 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:19:50] "GET /static/style.css HTTP/1.1" 304 - -2025-12-19 15:20:02,381 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-12-19 15:20:02,381 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-12-19 15:20:02,436 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-12-19 15:20:02,436 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-12-19 15:20:02,437 [INFO] app: LOGIN: SUCCESS → redirect -2025-12-19 15:20:02,437 [INFO] app: LOGIN: SUCCESS → redirect -2025-12-19 15:20:02,438 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:20:02] "POST /login HTTP/1.1" 302 - -2025-12-19 15:20:02,453 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:20:02] "GET /index HTTP/1.1" 200 - -2025-12-19 15:20:02,473 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:20:02] "GET /static/style.css HTTP/1.1" 304 - -2025-12-19 15:20:02,475 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:20:02] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-19 15:20:02,476 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:20:02] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-19 15:20:02,485 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:20:02] "GET /static/script.js HTTP/1.1" 304 - -2025-12-19 15:21:28,573 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:21:28] "GET /xml_management HTTP/1.1" 200 - -2025-12-19 15:21:28,591 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:21:28] "GET /static/style.css HTTP/1.1" 304 - -2025-12-19 15:21:28,595 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:21:28] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-19 15:21:28,614 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:21:28] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-19 15:21:43,014 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:21:43] "GET /jobs HTTP/1.1" 200 - -2025-12-19 15:21:43,030 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:21:43] "GET /static/style.css HTTP/1.1" 304 - -2025-12-19 15:21:43,032 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:21:43] "GET /static/css/jobs.css HTTP/1.1" 304 - -2025-12-19 15:21:43,051 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:21:43] "GET /static/js/jobs.js HTTP/1.1" 304 - -2025-12-19 15:21:43,059 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:21:43] "GET /jobs/config HTTP/1.1" 200 - -2025-12-19 15:21:43,071 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-12-19 15:21:43,071 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:21:43] "GET /jobs/iplist HTTP/1.1" 200 - -2025-12-19 15:21:44,554 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:21:44] "GET /admin HTTP/1.1" 200 - -2025-12-19 15:21:44,566 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:21:44] "GET /static/style.css HTTP/1.1" 304 - -2025-12-19 15:21:44,586 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:21:44] "GET /static/js/admin.js HTTP/1.1" 304 - -2025-12-19 15:21:45,429 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:21:45] "GET /admin/logs HTTP/1.1" 200 - -2025-12-19 15:21:45,441 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:21:45] "GET /static/style.css HTTP/1.1" 304 - -2025-12-19 15:22:08,271 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:22:08] "GET /jobs HTTP/1.1" 200 - -2025-12-19 15:22:08,286 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:22:08] "GET /static/style.css HTTP/1.1" 304 - -2025-12-19 15:22:08,295 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:22:08] "GET /static/js/jobs.js HTTP/1.1" 304 - -2025-12-19 15:22:08,296 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:22:08] "GET /static/css/jobs.css HTTP/1.1" 304 - -2025-12-19 15:22:08,316 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:22:08] "GET /jobs/config HTTP/1.1" 200 - -2025-12-19 15:22:08,323 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2025-12-19 15:22:08,323 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:22:08] "GET /jobs/iplist HTTP/1.1" 200 - -2025-12-19 15:22:09,637 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:22:09] "GET /home/ HTTP/1.1" 200 - -2025-12-19 15:22:09,649 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:22:09] "GET /static/style.css HTTP/1.1" 304 - -2025-12-19 15:24:48,464 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:24:48] "GET /home/ HTTP/1.1" 200 - -2025-12-19 15:24:48,483 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:24:48] "GET /static/style.css HTTP/1.1" 304 - -2025-12-19 15:24:51,690 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:24:51] "GET /index HTTP/1.1" 200 - -2025-12-19 15:24:51,705 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:24:51] "GET /static/style.css HTTP/1.1" 304 - -2025-12-19 15:24:51,707 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:24:51] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-19 15:24:51,709 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:24:51] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-19 15:24:51,710 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 15:24:51] "GET /static/script.js HTTP/1.1" 304 - -2025-12-19 16:07:36,600 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-12-19 16:07:36,619 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-19 16:07:36,619 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-19 16:07:36,637 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-12-19 16:07:36,648 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-19 16:07:36,649 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-12-19 16:07:36,648 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-19 16:07:36,663 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.20:5000 -2025-12-19 16:07:36,663 [INFO] werkzeug: Press CTRL+C to quit -2025-12-19 16:07:40,716 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:07:40] "GET / HTTP/1.1" 302 - -2025-12-19 16:07:40,727 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:07:40] "GET /login?next=/ HTTP/1.1" 200 - -2025-12-19 16:07:40,760 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:07:40] "GET /static/style.css HTTP/1.1" 304 - -2025-12-19 16:08:34,893 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-12-19 16:08:34,893 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-12-19 16:08:34,936 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-12-19 16:08:34,936 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-12-19 16:08:34,937 [INFO] app: LOGIN: SUCCESS → redirect -2025-12-19 16:08:34,937 [INFO] app: LOGIN: SUCCESS → redirect -2025-12-19 16:08:34,938 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:08:34] "POST /login HTTP/1.1" 302 - -2025-12-19 16:08:34,957 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:08:34] "GET /index HTTP/1.1" 200 - -2025-12-19 16:08:34,982 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:08:34] "GET /static/style.css HTTP/1.1" 304 - -2025-12-19 16:08:34,985 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:08:34] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-19 16:08:34,985 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:08:34] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-19 16:08:34,986 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:08:34] "GET /static/script.js HTTP/1.1" 304 - -2025-12-19 16:08:38,511 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:08:38] "GET /index HTTP/1.1" 200 - -2025-12-19 16:08:38,533 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:08:38] "GET /static/style.css HTTP/1.1" 304 - -2025-12-19 16:08:38,535 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:08:38] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-19 16:08:38,536 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:08:38] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-19 16:08:38,537 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:08:38] "GET /static/script.js HTTP/1.1" 304 - -2025-12-19 16:08:39,084 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:08:39] "GET /xml_management HTTP/1.1" 200 - -2025-12-19 16:08:39,099 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:08:39] "GET /static/style.css HTTP/1.1" 304 - -2025-12-19 16:08:39,104 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:08:39] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-19 16:08:39,104 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:08:39] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-19 16:08:39,822 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:08:39] "GET /home/ HTTP/1.1" 200 - -2025-12-19 16:08:39,836 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:08:39] "GET /static/style.css HTTP/1.1" 304 - -2025-12-19 16:12:26,911 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-12-19 16:12:26,930 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-19 16:12:26,930 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-19 16:12:26,946 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-12-19 16:12:26,958 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-19 16:12:26,958 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-19 16:12:26,959 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-12-19 16:12:26,973 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.20:5000 -2025-12-19 16:12:26,973 [INFO] werkzeug: Press CTRL+C to quit -2025-12-19 16:15:39,017 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-12-19 16:15:39,036 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-19 16:15:39,052 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-12-19 16:15:39,064 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-19 16:15:39,064 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-12-19 16:15:39,078 [INFO] werkzeug: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on all addresses (0.0.0.0) - * Running on http://127.0.0.1:5000 - * Running on http://192.168.0.20:5000 -2025-12-19 16:15:39,078 [INFO] werkzeug: Press CTRL+C to quit -2025-12-19 16:15:43,687 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:15:43] "GET / HTTP/1.1" 200 - -2025-12-19 16:15:43,724 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:15:43] "GET /static/style.css HTTP/1.1" 304 - -2025-12-19 16:15:43,737 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:15:43] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-19 16:15:43,745 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:15:43] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-19 16:15:43,745 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:15:43] "GET /static/script.js HTTP/1.1" 304 - -2025-12-19 16:16:08,984 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:16:08] "GET /index HTTP/1.1" 200 - -2025-12-19 16:16:09,002 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:16:09] "GET /static/style.css HTTP/1.1" 304 - -2025-12-19 16:16:09,004 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:16:09] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-19 16:16:09,006 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:16:09] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-19 16:16:09,007 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:16:09] "GET /static/script.js HTTP/1.1" 304 - -2025-12-19 16:16:10,979 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:16:10] "GET /index HTTP/1.1" 200 - -2025-12-19 16:16:10,994 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:16:10] "GET /static/style.css HTTP/1.1" 304 - -2025-12-19 16:16:10,997 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:16:10] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-19 16:16:10,999 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:16:10] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-19 16:16:10,999 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:16:10] "GET /static/script.js HTTP/1.1" 304 - -2025-12-19 16:16:11,431 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:16:11] "GET /xml_management HTTP/1.1" 200 - -2025-12-19 16:16:11,445 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:16:11] "GET /static/style.css HTTP/1.1" 304 - -2025-12-19 16:16:11,449 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:16:11] "GET /static/css/scp.css HTTP/1.1" 304 - -2025-12-19 16:16:11,459 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:16:11] "GET /static/js/scp.js HTTP/1.1" 304 - -2025-12-19 16:16:12,393 [INFO] app: LOGOUT: user=김강희 -2025-12-19 16:16:12,394 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:16:12] "GET /logout HTTP/1.1" 302 - -2025-12-19 16:16:12,400 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:16:12] "GET /login HTTP/1.1" 200 - -2025-12-19 16:16:12,412 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:16:12] "GET /static/style.css HTTP/1.1" 304 - -2025-12-19 16:16:29,725 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-12-19 16:16:29,765 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-12-19 16:16:29,766 [INFO] app: LOGIN: SUCCESS → redirect -2025-12-19 16:16:29,767 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:16:29] "POST /login HTTP/1.1" 302 - -2025-12-19 16:16:29,773 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:16:29] "GET /index HTTP/1.1" 200 - -2025-12-19 16:16:29,794 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:16:29] "GET /static/style.css HTTP/1.1" 304 - -2025-12-19 16:16:29,795 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:16:29] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-19 16:16:29,796 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:16:29] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-19 16:16:29,797 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:16:29] "GET /static/script.js HTTP/1.1" 304 - -2025-12-19 16:17:31,903 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:17:31] "GET /index HTTP/1.1" 200 - -2025-12-19 16:17:31,920 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:17:31] "GET /static/style.css HTTP/1.1" 304 - -2025-12-19 16:17:31,926 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:17:31] "GET /static/js/index.js HTTP/1.1" 304 - -2025-12-19 16:17:31,926 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:17:31] "GET /static/css/index.css HTTP/1.1" 304 - -2025-12-19 16:17:31,927 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:17:31] "GET /static/script.js HTTP/1.1" 304 - -2025-12-19 16:17:31,964 [INFO] werkzeug: 127.0.0.1 - - [19/Dec/2025 16:17:31] "GET /static/favicon.ico HTTP/1.1" 304 - -2025-12-19 16:17:34,442 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-12-19 16:17:34,459 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-19 16:17:34,474 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-12-19 16:17:34,486 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-19 16:17:34,486 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-12-19 16:17:53,229 [INFO] root: [AJAX] 작업 시작: 1766128673.2281537, script: TYPE8A-MAC_info.sh -2025-12-19 16:17:53,235 [ERROR] root: 10.10.0.2 처리 중 오류 발생: name 'shutil' is not defined -2025-12-19 16:31:38,065 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-12-19 16:31:38,083 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-19 16:31:38,100 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-12-19 16:31:38,112 [INFO] app: 🤖 텔레그램 봇 폴링 스레드 생성됨 (중복 방지 플래그 적용) -2025-12-19 16:31:38,112 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-12-19 17:10:07,541 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:10:13,127 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:10:19,763 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:10:27,958 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:10:35,510 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:10:47,577 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:10:58,100 [INFO] telegram_bot_service: Received callback: approve_aH9ZxP5WKJKGLBGLcRJkOEtR4KtxtRkvxwF8UT3qQZI -2025-12-19 17:11:05,052 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:11:22,597 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:11:46,294 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:12:19,339 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:12:57,878 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:13:35,788 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:14:13,574 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:14:51,281 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:15:24,827 [INFO] telegram_bot_service: Received callback: approve_Q2yAb3A0zLnTf_t9BikQ0yPbvk0Jf4yQE0uLtELo1L0 -2025-12-19 17:15:29,057 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:16:06,782 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:16:44,594 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:17:22,410 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:18:00,165 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:18:06,293 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:18:12,373 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:18:19,728 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:18:29,024 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:18:38,699 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:18:53,403 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:19:51,709 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:19:57,186 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:20:03,674 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:20:11,662 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:20:18,883 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:20:30,448 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:20:47,073 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:21:03,396 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:21:25,415 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:21:55,978 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:22:30,902 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:23:05,830 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:23:40,764 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:24:15,679 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:24:50,610 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:25:25,536 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:26:00,464 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:26:35,397 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:27:10,317 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:27:45,249 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:28:20,184 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:28:55,116 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:29:30,055 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:30:05,004 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:30:39,933 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:31:14,852 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:31:49,782 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:32:24,699 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:32:59,619 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:33:34,547 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:34:09,463 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:34:44,383 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:35:19,938 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:35:54,903 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:36:29,874 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:37:04,860 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:37:39,830 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:38:14,822 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:38:49,817 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:39:24,810 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:39:59,778 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:40:34,748 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:41:09,731 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:41:44,697 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:42:19,679 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:42:54,669 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:43:29,625 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:44:04,596 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:44:39,580 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:45:14,568 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:45:49,528 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:46:24,520 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:46:59,494 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:47:34,466 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:48:09,447 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:48:44,421 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:49:19,376 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:49:55,479 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:50:30,405 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:51:05,327 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:51:40,251 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:52:15,191 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:52:50,126 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:53:25,072 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:54:00,011 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:54:34,937 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:55:09,870 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:55:44,797 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:56:19,744 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:56:54,688 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:57:29,611 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:58:04,550 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:58:39,480 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:59:14,410 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 17:59:49,347 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:00:24,281 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:00:59,223 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:01:34,166 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:02:09,096 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:02:44,027 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:03:18,953 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:03:53,886 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:04:28,837 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:05:03,767 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:05:38,723 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:06:10,261 [INFO] telegram_bot_service: Received callback: approve_Ur6e_GGm3Llj24HlQa16EfQTq3VHD6B0grKsia-dWKo -2025-12-19 18:06:13,874 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:06:19,845 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:06:27,071 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:06:33,184 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:06:42,610 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:06:56,856 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:07:17,466 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:07:39,615 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:08:10,341 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:08:45,415 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:09:20,584 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:09:55,674 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:10:30,942 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:11:06,037 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:11:41,104 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:12:16,154 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:12:51,267 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:13:26,396 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:14:01,467 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:14:36,556 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:16:01,873 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:16:07,357 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:16:13,843 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:16:21,831 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:16:29,074 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:16:40,706 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:16:57,369 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:17:13,698 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:17:35,704 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 18:20:08,243 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-12-19 18:20:08,265 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-19 18:20:08,282 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-12-19 18:20:08,293 [INFO] app: 🔒 봇 중복 실행 방지 락(TCP:50000) 획득 시도... -2025-12-19 18:20:08,293 [INFO] app: 🔒 락 획득 성공! 봇 폴링 스레드를 시작합니다. -2025-12-19 18:20:08,295 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-12-19 18:20:14,470 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 19:17:20,835 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2025-12-19 19:17:20,855 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2025-12-19 19:17:20,873 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2025-12-19 19:17:20,883 [INFO] app: 🔒 봇 중복 실행 방지 락(TCP:50000) 획득 시도... -2025-12-19 19:17:20,884 [INFO] app: 🔒 락 획득 성공! 봇 폴링 스레드를 시작합니다. -2025-12-19 19:17:20,885 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2025-12-19 19:17:27,096 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 19:17:33,085 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2025-12-19 19:17:33,965 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2025-12-19 19:17:34,003 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2025-12-19 19:17:34,005 [INFO] app: LOGIN: SUCCESS → redirect -2025-12-19 19:17:40,314 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running diff --git a/data/logs/2026-01-13.log b/data/logs/2026-01-13.log deleted file mode 100644 index 1fe7f34..0000000 --- a/data/logs/2026-01-13.log +++ /dev/null @@ -1,3508 +0,0 @@ -2026-01-13 19:54:24,926 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2026-01-13 19:54:24,947 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2026-01-13 19:54:25,034 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2026-01-13 19:54:25,048 [INFO] app: 🔒 봇 중복 실행 방지 락(TCP:50000) 획득 시도... -2026-01-13 19:54:25,048 [INFO] app: 🔒 락 획득 성공! 봇 폴링 스레드를 시작합니다. -2026-01-13 19:54:25,050 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2026-01-13 19:54:26,491 [INFO] apscheduler.scheduler: Scheduler started -2026-01-13 19:54:31,475 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 19:54:37,473 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 19:54:44,726 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 19:54:50,843 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 19:55:00,258 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 19:55:14,458 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 19:55:32,753 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2026-01-13 19:55:32,793 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2026-01-13 19:55:32,795 [INFO] app: LOGIN: SUCCESS → redirect -2026-01-13 19:55:35,032 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 19:59:52,103 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2026-01-13 19:59:52,119 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2026-01-13 19:59:52,135 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2026-01-13 19:59:52,148 [INFO] app: 🔒 봇 중복 실행 방지 락(TCP:50000) 획득 시도... -2026-01-13 19:59:52,148 [INFO] app: 🔒 락 획득 성공! 봇 폴링 스레드를 시작합니다. -2026-01-13 19:59:52,150 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2026-01-13 19:59:53,470 [INFO] apscheduler.scheduler: Scheduler started -2026-01-13 19:59:58,439 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:00:04,428 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:00:11,661 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:00:17,770 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:00:27,193 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:00:41,218 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2026-01-13 20:00:41,232 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2026-01-13 20:00:41,246 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2026-01-13 20:00:41,260 [INFO] app: 🔒 봇 중복 실행 방지 락(TCP:50000) 획득 시도... -2026-01-13 20:00:41,260 [INFO] app: 🔒 락 획득 성공! 봇 폴링 스레드를 시작합니다. -2026-01-13 20:00:41,262 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2026-01-13 20:00:42,610 [INFO] apscheduler.scheduler: Scheduler started -2026-01-13 20:00:58,497 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:01:20,633 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:01:51,281 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:02:26,441 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:03:01,596 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:03:36,689 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:04:11,815 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:04:46,860 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:05:21,896 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:05:56,958 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:06:31,984 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:07:07,043 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:07:42,138 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:08:17,197 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:08:52,212 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:09:27,305 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:10:02,433 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:10:37,465 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:11:12,579 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:11:47,738 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:12:22,751 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:12:57,804 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:13:32,936 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:14:08,073 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:14:43,089 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:15:18,141 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:15:53,658 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:16:28,737 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:17:03,775 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:17:38,837 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:18:14,272 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:18:49,705 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:19:24,815 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:19:59,975 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:20:34,998 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:21:10,170 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:21:45,194 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:22:20,264 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:22:56,082 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:23:32,094 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:24:12,400 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:24:17,896 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:24:24,391 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:24:32,393 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:24:39,629 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:24:51,527 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:25:26,387 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:25:48,912 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:26:19,619 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:26:55,103 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:27:30,298 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:28:06,558 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:28:41,640 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:29:16,841 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-13 20:29:52,682 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running diff --git a/data/logs/2026-01-15.log b/data/logs/2026-01-15.log deleted file mode 100644 index cb6b7a7..0000000 --- a/data/logs/2026-01-15.log +++ /dev/null @@ -1,7751 +0,0 @@ -2026-01-15 14:49:44,050 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2026-01-15 14:49:44,071 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2026-01-15 14:49:44,151 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2026-01-15 14:49:44,165 [INFO] app: 🔒 봇 중복 실행 방지 락(TCP:50000) 획득 시도... -2026-01-15 14:49:44,165 [INFO] app: 🔒 락 획득 성공! 봇 폴링 스레드를 시작합니다. -2026-01-15 14:49:44,167 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2026-01-15 14:49:45,498 [INFO] apscheduler.scheduler: Scheduler started -2026-01-15 14:49:50,488 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 14:49:56,480 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 14:50:00,839 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2026-01-15 14:50:00,878 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2026-01-15 14:50:00,879 [INFO] app: LOGIN: SUCCESS → redirect -2026-01-15 14:50:03,728 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 14:50:09,854 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:26:43,422 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2026-01-15 18:26:43,444 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2026-01-15 18:26:43,529 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2026-01-15 18:26:43,542 [INFO] app: 🔒 봇 중복 실행 방지 락(TCP:50000) 획득 시도... -2026-01-15 18:26:43,542 [INFO] app: 🔒 락 획득 성공! 봇 폴링 스레드를 시작합니다. -2026-01-15 18:26:43,544 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2026-01-15 18:26:44,909 [INFO] apscheduler.scheduler: Scheduler started -2026-01-15 18:26:49,906 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:26:55,900 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:26:56,269 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2026-01-15 18:26:56,308 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2026-01-15 18:26:56,309 [INFO] app: LOGIN: SUCCESS → redirect -2026-01-15 18:27:03,156 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:27:09,486 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:27:18,947 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:27:33,088 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:27:53,612 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:28:15,712 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:28:46,372 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:29:21,392 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:29:56,399 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:30:31,425 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:31:06,470 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:31:38,760 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2026-01-15 18:31:38,775 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2026-01-15 18:31:38,790 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2026-01-15 18:31:38,802 [INFO] app: 🔒 봇 중복 실행 방지 락(TCP:50000) 획득 시도... -2026-01-15 18:31:38,803 [INFO] app: 🔒 락 획득 성공! 봇 폴링 스레드를 시작합니다. -2026-01-15 18:31:38,805 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2026-01-15 18:31:40,169 [INFO] apscheduler.scheduler: Scheduler started -2026-01-15 18:31:41,486 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:32:16,520 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:32:51,540 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:33:26,548 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:34:01,550 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:34:36,569 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:35:11,599 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:35:46,612 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:36:21,652 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:36:56,671 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:37:31,665 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:38:06,679 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:38:41,697 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:38:48,532 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2026-01-15 18:38:48,547 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2026-01-15 18:38:48,563 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2026-01-15 18:38:48,576 [INFO] app: 🔒 봇 중복 실행 방지 락(TCP:50000) 획득 시도... -2026-01-15 18:38:48,577 [INFO] app: 🔒 락 획득 성공! 봇 폴링 스레드를 시작합니다. -2026-01-15 18:38:48,578 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2026-01-15 18:38:49,902 [INFO] apscheduler.scheduler: Scheduler started -2026-01-15 18:39:16,704 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:39:51,715 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:40:26,773 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:41:01,817 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:41:37,592 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2026-01-15 18:41:37,607 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2026-01-15 18:41:37,621 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2026-01-15 18:41:37,635 [INFO] app: 🔒 봇 중복 실행 방지 락(TCP:50000) 획득 시도... -2026-01-15 18:41:37,635 [INFO] app: 🔒 락 획득 성공! 봇 폴링 스레드를 시작합니다. -2026-01-15 18:41:37,637 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2026-01-15 18:41:38,995 [INFO] apscheduler.scheduler: Scheduler started -2026-01-15 18:42:13,519 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:42:48,526 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:43:23,517 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:43:58,533 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:44:33,541 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:45:08,582 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:45:43,590 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:46:18,617 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:46:53,644 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:47:28,614 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:48:03,595 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:48:38,577 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:49:13,585 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:49:37,394 [INFO] root: GUID 슬롯 우선순위: 31,32,33,34,35,36,37,38,39,40 -2026-01-15 18:49:37,905 [INFO] root: GUID 리스트 스크립트 실행 결과: [INFO] 사용자 지정 슬롯 우선순위: ['31', '32', '33', '34', '35', '36', '37', '38', '39', '40'] -엑셀 파일이 생성되었습니다: D:\Code\iDRAC_Info\idrac_info\data\idrac_info\XE9680_GUID.xlsx - -2026-01-15 18:49:48,617 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:50:23,616 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:50:58,621 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:51:33,623 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:52:08,645 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:52:43,682 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:53:18,715 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:53:53,760 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:54:28,777 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:55:03,792 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:55:38,816 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:56:05,354 [INFO] root: GUID 슬롯 우선순위: 31,32,33,34,35,36,37,38,39,40 -2026-01-15 18:56:05,693 [INFO] root: GUID 리스트 스크립트 실행 결과: [INFO] 사용자 지정 슬롯 우선순위: ['31', '32', '33', '34', '35', '36', '37', '38', '39', '40'] -엑셀 파일이 생성되었습니다: D:\Code\iDRAC_Info\idrac_info\data\idrac_info\XE9680_GUID.xlsx - -2026-01-15 18:56:13,862 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:56:49,414 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:57:24,430 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:57:59,454 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:58:34,459 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:59:09,468 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 18:59:44,472 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:00:19,517 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:00:54,530 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:01:29,614 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:02:04,622 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:02:39,676 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:03:14,687 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:03:49,727 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:04:24,714 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:04:53,919 [INFO] root: 파일 삭제됨: XE9680_GUID.xlsx -2026-01-15 19:04:59,728 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:05:04,121 [INFO] root: GUID 슬롯 우선순위: 31,32,33,34,35,36,37,38,39,40 -2026-01-15 19:05:04,477 [INFO] root: GUID 리스트 스크립트 실행 결과: [INFO] 사용자 지정 슬롯 우선순위: ['31', '32', '33', '34', '35', '36', '37', '38', '39', '40'] -엑셀 파일이 생성되었습니다: D:\Code\iDRAC_Info\idrac_info\data\idrac_info\XE9680_GUID.xlsx - -2026-01-15 19:05:34,742 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:05:52,217 [INFO] root: 파일 삭제됨: XE9680_GUID.xlsx -2026-01-15 19:06:09,772 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:06:44,797 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:07:19,815 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:07:55,024 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:08:30,048 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:09:05,088 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:09:40,092 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:10:15,115 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:10:50,123 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:11:25,626 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:12:00,632 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:12:35,659 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:13:10,665 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:13:45,679 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:14:20,699 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:14:55,750 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:15:30,763 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:16:05,790 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:16:40,833 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:17:15,869 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:17:50,936 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:18:25,948 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:19:00,976 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:19:35,980 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:20:10,972 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:20:45,978 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:21:21,012 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:21:56,001 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:22:31,015 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:23:06,059 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:23:41,071 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:24:16,071 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:24:51,097 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:25:26,123 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:26:01,658 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:26:36,671 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:27:11,690 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:27:46,739 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:28:21,763 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:28:56,784 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:29:31,836 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:30:06,847 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:30:41,856 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:31:16,908 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:31:51,937 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:32:26,945 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:33:01,973 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:33:37,002 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:34:12,038 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:34:47,033 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:35:22,058 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:35:57,098 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:36:32,089 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:37:07,110 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:37:42,144 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:38:17,164 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:38:52,204 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:39:27,247 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:40:02,275 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:40:37,801 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:41:12,831 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:41:47,885 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:42:22,904 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:43:30,966 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:44:05,982 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:44:41,009 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:45:16,037 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:45:51,045 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:46:26,057 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:47:01,103 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:47:36,129 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:48:11,160 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-15 19:48:46,187 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running diff --git a/data/logs/2026-01-16.log b/data/logs/2026-01-16.log deleted file mode 100644 index ce64ef9..0000000 --- a/data/logs/2026-01-16.log +++ /dev/null @@ -1,4872 +0,0 @@ -2026-01-16 17:12:04,486 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2026-01-16 17:12:04,501 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2026-01-16 17:12:04,516 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2026-01-16 17:12:04,529 [INFO] app: 🔒 봇 중복 실행 방지 락(TCP:50000) 획득 시도... -2026-01-16 17:12:04,529 [INFO] app: 🔒 락 획득 성공! 봇 폴링 스레드를 시작합니다. -2026-01-16 17:12:04,531 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2026-01-16 17:12:05,908 [INFO] apscheduler.scheduler: Scheduler started -2026-01-16 17:12:10,919 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:12:16,918 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:12:17,692 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2026-01-16 17:12:17,731 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=False -2026-01-16 17:12:22,205 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2026-01-16 17:12:22,244 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2026-01-16 17:12:22,245 [INFO] app: LOGIN: SUCCESS → redirect -2026-01-16 17:12:24,171 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:12:30,300 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:12:39,737 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:12:53,877 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:13:08,695 [INFO] root: GUID 슬롯 우선순위: 31,32,33,34,35,36,37,38,39,40 -2026-01-16 17:13:09,170 [INFO] root: GUID 리스트 스크립트 실행 결과: [INFO] 사용자 지정 슬롯 우선순위: ['31', '32', '33', '34', '35', '36', '37', '38', '39', '40'] -엑셀 파일이 생성되었습니다: D:\Code\iDRAC_Info\idrac_info\data\idrac_info\XE9680_GUID.xlsx - -2026-01-16 17:13:14,385 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:13:36,472 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:14:07,128 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:14:42,148 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:15:17,153 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:15:52,172 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:16:27,179 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:17:02,219 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:17:37,246 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:18:11,335 [INFO] root: 파일 삭제됨: XE9680_GUID.xlsx -2026-01-16 17:18:12,268 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:18:47,288 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:19:22,363 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:19:57,402 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:20:32,408 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:20:58,389 [INFO] root: 서버 리스트 스크립트 실행 결과: Length of index_list: 3 -Length of data_list: 3 -Saved: D:\Code\iDRAC_Info\idrac_info\data\idrac_info\mac_info.xlsx - -2026-01-16 17:21:03,175 [INFO] root: 파일 삭제됨: mac_info.xlsx -2026-01-16 17:21:07,459 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:21:42,473 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:22:17,489 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:22:52,528 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:23:27,565 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:24:02,578 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:24:37,598 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:25:12,624 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:25:47,630 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:26:22,613 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:26:57,650 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:27:32,694 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:28:08,250 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:28:43,289 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:29:18,298 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:29:53,337 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:29:56,080 [INFO] root: [GPU] 리스트 스크립트 실행 STDOUT: -[WARN] 파일을 찾을 수 없습니다: 1V48HG4.txt -[WARN] 파일을 찾을 수 없습니다: 1T48HG4.txt -[WARN] 파일을 찾을 수 없습니다: 1V48HG4.txt -[INFO] 병합할 데이터가 없습니다. - -2026-01-16 17:30:28,359 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:31:03,403 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:31:38,425 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:32:13,492 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:32:48,522 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:33:23,549 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:33:58,549 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:34:33,593 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:35:08,622 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:35:43,664 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:36:18,691 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:36:53,724 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:37:28,759 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:38:03,808 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:38:38,859 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:39:13,878 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:39:48,902 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:40:23,953 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:40:59,018 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:41:34,071 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 17:42:09,102 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 20:19:44,791 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2026-01-16 20:19:44,811 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2026-01-16 20:19:44,898 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2026-01-16 20:19:44,912 [INFO] app: 🔒 봇 중복 실행 방지 락(TCP:50000) 획득 시도... -2026-01-16 20:19:44,912 [INFO] app: 🔒 락 획득 성공! 봇 폴링 스레드를 시작합니다. -2026-01-16 20:19:44,914 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2026-01-16 20:19:46,268 [INFO] apscheduler.scheduler: Scheduler started -2026-01-16 20:19:51,245 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 20:19:57,254 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 20:20:04,498 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 20:20:10,611 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 20:20:12,057 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2026-01-16 20:20:12,097 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2026-01-16 20:20:12,099 [INFO] app: LOGIN: SUCCESS → redirect -2026-01-16 20:20:20,051 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 20:20:34,244 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 20:20:54,706 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 20:21:16,833 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 20:21:47,493 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 20:22:22,508 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 20:22:57,509 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 20:23:32,519 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 20:24:07,532 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 20:24:42,572 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 20:25:17,620 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 20:25:52,695 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 20:26:27,734 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 20:27:02,765 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 20:28:33,710 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2026-01-16 20:28:33,725 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2026-01-16 20:28:33,739 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2026-01-16 20:28:33,753 [INFO] app: 🔒 봇 중복 실행 방지 락(TCP:50000) 획득 시도... -2026-01-16 20:28:33,753 [INFO] app: 🔒 락 획득 성공! 봇 폴링 스레드를 시작합니다. -2026-01-16 20:28:33,755 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2026-01-16 20:28:35,126 [INFO] apscheduler.scheduler: Scheduler started -2026-01-16 20:28:59,097 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2026-01-16 20:28:59,111 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2026-01-16 20:28:59,126 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2026-01-16 20:28:59,138 [INFO] app: 🔒 봇 중복 실행 방지 락(TCP:50000) 획득 시도... -2026-01-16 20:28:59,138 [INFO] app: 🔒 락 획득 성공! 봇 폴링 스레드를 시작합니다. -2026-01-16 20:28:59,140 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2026-01-16 20:29:00,477 [INFO] apscheduler.scheduler: Scheduler started -2026-01-16 20:29:05,482 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 20:29:11,512 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 20:29:12,752 [INFO] root: 파일 이동 성공: 1BZ7HG4.txt from 새 폴더 to 새 폴더 - 복사본 -2026-01-16 20:29:13,704 [INFO] root: 파일 이동 성공: 1V48HG4.txt from 새 폴더 to 새 폴더 - 복사본 -2026-01-16 20:29:14,514 [INFO] root: 파일 이동 성공: 1T48HG4.txt from 새 폴더 to 새 폴더 - 복사본 -2026-01-16 20:29:16,426 [INFO] root: 파일 이동 성공: 1BZ7HG4.txt from 새 폴더 - 복사본 to 새 폴더 -2026-01-16 20:29:17,296 [INFO] root: 파일 이동 성공: 1T48HG4.txt from 새 폴더 - 복사본 to 새 폴더 -2026-01-16 20:29:18,241 [INFO] root: 파일 이동 성공: 1V48HG4.txt from 새 폴더 - 복사본 to 새 폴더 -2026-01-16 20:29:18,793 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 20:29:24,968 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 20:29:34,413 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 20:29:48,569 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 20:29:50,441 [INFO] root: 파일 이동 성공: 1BZ7HG4.txt from 새 폴더 to 새 폴더 - 복사본 -2026-01-16 20:29:51,956 [INFO] root: 파일 이동 성공: 1BZ7HG4.txt from 새 폴더 - 복사본 to 새 폴더 -2026-01-16 20:29:53,906 [INFO] root: 파일 이동 성공: 1T48HG4.txt from 새 폴더 to 새 폴더 - 복사본 -2026-01-16 20:29:55,196 [INFO] root: 파일 이동 성공: 1T48HG4.txt from 새 폴더 - 복사본 to 새 폴더 -2026-01-16 20:30:06,598 [INFO] root: file_view: folder=backup date=새 폴더 filename=1V48HG4.txt | base=D:\Code\iDRAC_Info\idrac_info\data\backup | target=D:\Code\iDRAC_Info\idrac_info\data\backup\새 폴더\1V48HG4.txt -2026-01-16 20:30:06,598 [INFO] root: file_view: folder=backup date=새 폴더 filename=1V48HG4.txt | base=D:\Code\iDRAC_Info\idrac_info\data\backup | target=D:\Code\iDRAC_Info\idrac_info\data\backup\새 폴더\1V48HG4.txt -2026-01-16 20:30:09,055 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 21:17:16,512 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2026-01-16 21:17:16,529 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2026-01-16 21:17:16,546 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2026-01-16 21:17:16,559 [INFO] app: 🔒 봇 중복 실행 방지 락(TCP:50000) 획득 시도... -2026-01-16 21:17:16,559 [INFO] app: 🔒 락 획득 성공! 봇 폴링 스레드를 시작합니다. -2026-01-16 21:17:16,561 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2026-01-16 21:17:17,989 [INFO] apscheduler.scheduler: Scheduler started -2026-01-16 21:17:23,106 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 21:17:29,135 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 21:17:36,419 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 21:17:42,585 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 21:17:46,702 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2026-01-16 21:17:46,740 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2026-01-16 21:17:46,742 [INFO] app: LOGIN: SUCCESS → redirect -2026-01-16 21:17:52,061 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 21:17:55,531 [INFO] root: 파일 이동 성공: 1T48HG4.txt from 새 폴더 to 새 폴더 - 복사본 -2026-01-16 21:17:56,903 [INFO] root: 파일 이동 성공: 1T48HG4.txt from 새 폴더 - 복사본 to 새 폴더 -2026-01-16 21:17:58,028 [INFO] root: 파일 이동 성공: 1V48HG4.txt from 새 폴더 to 새 폴더 - 복사본 -2026-01-16 21:17:58,838 [INFO] root: 파일 이동 성공: 1BZ7HG4.txt from 새 폴더 to 새 폴더 - 복사본 -2026-01-16 21:17:59,648 [INFO] root: 파일 이동 성공: 1BZ7HG4.txt from 새 폴더 - 복사본 to 새 폴더 -2026-01-16 21:18:00,442 [INFO] root: 파일 이동 성공: 1V48HG4.txt from 새 폴더 - 복사본 to 새 폴더 -2026-01-16 21:18:06,285 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 21:18:26,829 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 21:18:48,975 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 21:18:56,746 [INFO] root: file_view: folder=backup date=새 폴더 filename=1BZ7HG4.txt | base=D:\Code\iDRAC_Info\idrac_info\data\backup | target=D:\Code\iDRAC_Info\idrac_info\data\backup\새 폴더\1BZ7HG4.txt -2026-01-16 21:18:56,746 [INFO] root: file_view: folder=backup date=새 폴더 filename=1BZ7HG4.txt | base=D:\Code\iDRAC_Info\idrac_info\data\backup | target=D:\Code\iDRAC_Info\idrac_info\data\backup\새 폴더\1BZ7HG4.txt -2026-01-16 21:19:04,843 [INFO] root: 파일 이동 성공: 1BZ7HG4.txt from 새 폴더 to 새 폴더 - 복사본 -2026-01-16 21:19:04,859 [INFO] root: 파일 이동 성공: 1T48HG4.txt from 새 폴더 to 새 폴더 - 복사본 -2026-01-16 21:19:04,859 [INFO] root: 파일 이동 성공: 1V48HG4.txt from 새 폴더 to 새 폴더 - 복사본 -2026-01-16 21:19:19,690 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-16 21:19:25,263 [INFO] root: 파일 이동 성공: 1T48HG4.txt from 새 폴더 - 복사본 to 새 폴더 -2026-01-16 21:19:25,264 [INFO] root: 파일 이동 성공: 1V48HG4.txt from 새 폴더 - 복사본 to 새 폴더 -2026-01-16 21:19:25,264 [INFO] root: 파일 이동 성공: 1BZ7HG4.txt from 새 폴더 - 복사본 to 새 폴더 -2026-01-16 21:19:54,728 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running diff --git a/data/logs/2026-01-17.log b/data/logs/2026-01-17.log deleted file mode 100644 index 69a200c..0000000 --- a/data/logs/2026-01-17.log +++ /dev/null @@ -1,1291 +0,0 @@ -2026-01-17 09:13:48,315 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2026-01-17 09:13:48,336 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2026-01-17 09:13:48,418 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2026-01-17 09:13:48,431 [INFO] app: 🔒 봇 중복 실행 방지 락(TCP:50000) 획득 시도... -2026-01-17 09:13:48,432 [INFO] app: 🔒 락 획득 성공! 봇 폴링 스레드를 시작합니다. -2026-01-17 09:13:48,433 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2026-01-17 09:13:49,768 [INFO] apscheduler.scheduler: Scheduler started -2026-01-17 09:13:54,765 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-17 09:14:00,770 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-17 09:14:02,092 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2026-01-17 09:14:02,131 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2026-01-17 09:14:02,132 [INFO] app: LOGIN: SUCCESS → redirect -2026-01-17 09:14:08,017 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-17 09:14:14,150 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-17 09:14:23,568 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-17 09:14:35,044 [INFO] root: 파일 이동 성공: 1T48HG4.txt from 새 폴더 to 새 폴더 - 복사본 -2026-01-17 09:14:35,055 [INFO] root: 파일 이동 성공: 1V48HG4.txt from 새 폴더 to 새 폴더 - 복사본 -2026-01-17 09:14:35,055 [INFO] root: 파일 이동 성공: 1BZ7HG4.txt from 새 폴더 to 새 폴더 - 복사본 -2026-01-17 09:14:36,527 [INFO] root: 파일 이동 성공: 1T48HG4.txt from 새 폴더 - 복사본 to 새 폴더 -2026-01-17 09:14:37,690 [INFO] root: 파일 이동 성공: 1BZ7HG4.txt from 새 폴더 - 복사본 to 새 폴더 -2026-01-17 09:14:37,759 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-17 09:14:38,574 [INFO] root: 파일 이동 성공: 1V48HG4.txt from 새 폴더 - 복사본 to 새 폴더 -2026-01-17 09:14:58,207 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-17 09:15:20,289 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-17 09:15:34,666 [INFO] root: GUID 슬롯 우선순위: 31,32,33,34,35,36,37,38,39,40 -2026-01-17 09:15:35,484 [INFO] root: GUID 리스트 스크립트 실행 결과: [INFO] 사용자 지정 슬롯 우선순위: ['31', '32', '33', '34', '35', '36', '37', '38', '39', '40'] -엑셀 파일이 생성되었습니다: D:\Code\iDRAC_Info\idrac_info\data\idrac_info\XE9680_GUID.xlsx - -2026-01-17 09:15:50,925 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-17 09:16:25,939 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-17 09:17:00,948 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-17 19:46:15,509 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2026-01-17 19:46:15,530 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2026-01-17 19:46:15,620 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2026-01-17 19:46:15,633 [INFO] app: 🔒 봇 중복 실행 방지 락(TCP:50000) 획득 시도... -2026-01-17 19:46:15,634 [INFO] app: 🔒 락 획득 성공! 봇 폴링 스레드를 시작합니다. -2026-01-17 19:46:15,636 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2026-01-17 19:46:17,098 [INFO] apscheduler.scheduler: Scheduler started -2026-01-17 19:46:22,074 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-17 19:46:28,075 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-17 19:46:29,843 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2026-01-17 19:46:29,881 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2026-01-17 19:46:29,882 [INFO] app: LOGIN: SUCCESS → redirect -2026-01-17 19:46:34,538 [INFO] root: 파일 삭제됨: XE9680_GUID.xlsx -2026-01-17 19:46:35,316 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-17 19:46:41,440 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-17 19:46:42,557 [INFO] root: 파일 이동 성공: 1T48HG4.txt from 새 폴더 to 새 폴더 - 복사본 -2026-01-17 19:46:43,352 [INFO] root: 파일 이동 성공: 1V48HG4.txt from 새 폴더 to 새 폴더 - 복사본 -2026-01-17 19:46:43,998 [INFO] root: 파일 이동 성공: 1BZ7HG4.txt from 새 폴더 to 새 폴더 - 복사본 -2026-01-17 19:46:47,862 [INFO] root: 파일 이동 성공: 1V48HG4.txt from 새 폴더 - 복사본 to 새 폴더 -2026-01-17 19:46:47,864 [INFO] root: 파일 이동 성공: 1BZ7HG4.txt from 새 폴더 - 복사본 to 새 폴더 -2026-01-17 19:46:47,864 [INFO] root: 파일 이동 성공: 1T48HG4.txt from 새 폴더 - 복사본 to 새 폴더 -2026-01-17 19:46:50,977 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-17 19:46:56,761 [INFO] root: 파일 이동 성공: 1V48HG4.txt from 새 폴더 to 새 폴더 - 복사본 -2026-01-17 19:46:56,761 [INFO] root: 파일 이동 성공: 1T48HG4.txt from 새 폴더 to 새 폴더 - 복사본 -2026-01-17 19:46:56,776 [INFO] root: 파일 이동 성공: 1BZ7HG4.txt from 새 폴더 to 새 폴더 - 복사본 -2026-01-17 19:47:00,147 [INFO] root: 파일 이동 성공: 1BZ7HG4.txt from 새 폴더 - 복사본 to 새 폴더 -2026-01-17 19:47:00,148 [INFO] root: 파일 이동 성공: 1V48HG4.txt from 새 폴더 - 복사본 to 새 폴더 -2026-01-17 19:47:00,166 [INFO] root: 파일 이동 성공: 1T48HG4.txt from 새 폴더 - 복사본 to 새 폴더 -2026-01-17 19:47:05,147 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-17 19:47:25,605 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-17 19:47:47,674 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-17 19:48:18,450 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-17 19:48:53,583 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-17 19:49:28,709 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-17 19:50:03,843 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-17 19:50:38,958 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running diff --git a/data/logs/app.log b/data/logs/app.log deleted file mode 100644 index b595838..0000000 --- a/data/logs/app.log +++ /dev/null @@ -1,2489 +0,0 @@ -2026-01-20 17:05:27,240 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2026-01-20 17:05:27,261 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2026-01-20 17:05:27,343 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2026-01-20 17:05:27,356 [INFO] app: 🔒 봇 중복 실행 방지 락(TCP:50000) 획득 시도... -2026-01-20 17:05:27,356 [INFO] app: 🔒 락 획득 성공! 봇 폴링 스레드를 시작합니다. -2026-01-20 17:05:27,358 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2026-01-20 17:05:28,738 [INFO] apscheduler.scheduler: Scheduler started -2026-01-20 17:05:33,726 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 17:05:39,728 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 17:05:46,977 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 17:05:51,477 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2026-01-20 17:05:51,516 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2026-01-20 17:05:51,517 [INFO] app: LOGIN: SUCCESS → redirect -2026-01-20 17:05:53,102 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 17:06:02,613 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 17:06:03,297 [INFO] root: 파일 이동 성공: 1V48HG4.txt from 새 폴더 to 새 폴더 - 복사본 -2026-01-20 17:06:03,297 [INFO] root: 파일 이동 성공: 1T48HG4.txt from 새 폴더 to 새 폴더 - 복사본 -2026-01-20 17:06:07,187 [INFO] root: 파일 이동 성공: 1V48HG4.txt from 새 폴더 - 복사본 to 새 폴더 -2026-01-20 17:06:07,188 [INFO] root: 파일 이동 성공: 1T48HG4.txt from 새 폴더 - 복사본 to 새 폴더 -2026-01-20 17:06:16,793 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 17:06:37,661 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 17:06:59,948 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 17:07:27,485 [INFO] root: 파일 이동 성공: 1T48HG4.txt from 새 폴더 to 새 폴더 - 복사본 -2026-01-20 17:07:27,486 [INFO] root: 파일 이동 성공: 1BZ7HG4.txt from 새 폴더 to 새 폴더 - 복사본 -2026-01-20 17:07:30,635 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 17:07:31,182 [INFO] root: 파일 이동 성공: 1T48HG4.txt from 새 폴더 - 복사본 to 새 폴더 -2026-01-20 17:07:31,182 [INFO] root: 파일 이동 성공: 1BZ7HG4.txt from 새 폴더 - 복사본 to 새 폴더 -2026-01-20 17:08:05,944 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 17:08:37,542 [INFO] root: 파일 이동 성공: 1V48HG4.txt from 새 폴더 to 새 폴더 - 복사본 -2026-01-20 17:08:37,543 [INFO] root: 파일 이동 성공: 1BZ7HG4.txt from 새 폴더 to 새 폴더 - 복사본 -2026-01-20 17:08:40,324 [INFO] root: 파일 이동 성공: 1BZ7HG4.txt from 새 폴더 - 복사본 to 새 폴더 -2026-01-20 17:08:40,324 [INFO] root: 파일 이동 성공: 1V48HG4.txt from 새 폴더 - 복사본 to 새 폴더 -2026-01-20 17:08:41,084 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 17:08:41,786 [INFO] root: 파일 이동 성공: 1V48HG4.txt from 새 폴더 to 새 폴더 - 복사본 -2026-01-20 17:08:42,971 [INFO] root: 파일 이동 성공: 1V48HG4.txt from 새 폴더 - 복사본 to 새 폴더 -2026-01-20 17:09:16,123 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 17:09:51,199 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 17:10:26,411 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 17:11:01,572 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 17:32:32,554 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2026-01-20 17:32:32,569 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2026-01-20 17:32:32,583 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2026-01-20 17:32:32,596 [INFO] app: 🔒 봇 중복 실행 방지 락(TCP:50000) 획득 시도... -2026-01-20 17:32:32,596 [INFO] app: 🔒 락 획득 성공! 봇 폴링 스레드를 시작합니다. -2026-01-20 17:32:32,598 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2026-01-20 17:32:33,928 [INFO] apscheduler.scheduler: Scheduler started -2026-01-20 17:32:38,968 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 17:32:44,986 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 17:32:52,265 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 17:32:58,411 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 17:33:01,152 [WARNING] root: ⚠️ 파일이 이미 존재하여 건너뜀: 3MYCZC4.txt -2026-01-20 17:33:01,153 [WARNING] root: ⚠️ 파일이 이미 존재하여 건너뜀: 3Y48HG4.txt -2026-01-20 17:33:01,168 [INFO] root: ✅ MAC 파일 이동 완료 (11개) -2026-01-20 17:33:01,168 [INFO] root: ✅ MAC 파일 이동 완료 (13개) -2026-01-20 17:33:01,168 [WARNING] root: ⚠️ 일부 파일 이동 실패: ['4XZCZC4.txt: 파일이 존재하지 않음'] -2026-01-20 17:33:08,517 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 17:33:09,175 [WARNING] root: ⚠️ 파일이 이미 사라짐 (Skip): 1T48HG4.txt -2026-01-20 17:33:09,177 [WARNING] root: ⚠️ 파일이 이미 존재하여 건너뜀: 2XZCZC4.txt -2026-01-20 17:33:09,177 [WARNING] root: ⚠️ 파일이 이미 존재하여 건너뜀: 3LYCZC4.txt -2026-01-20 17:33:09,220 [INFO] root: ✅ MAC 파일 이동 완료 (14개) -2026-01-20 17:33:09,221 [WARNING] root: ⚠️ 파일이 이미 사라짐 (Skip): 4XZCZC4.txt -2026-01-20 17:33:09,221 [INFO] root: ✅ MAC 파일 이동 완료 (11개) -2026-01-20 17:33:09,221 [WARNING] root: ⚠️ 일부 파일 이동 실패: ['1BZ7HG4.txt: 파일이 존재하지 않음'] -2026-01-20 17:33:27,707 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 17:33:33,194 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 17:33:39,684 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 17:33:47,677 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 17:33:54,918 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 17:35:48,022 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2026-01-20 17:35:48,037 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2026-01-20 17:35:48,052 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2026-01-20 17:35:48,066 [INFO] app: 🔒 봇 중복 실행 방지 락(TCP:50000) 획득 시도... -2026-01-20 17:35:48,067 [INFO] app: 🔒 락 획득 성공! 봇 폴링 스레드를 시작합니다. -2026-01-20 17:35:48,068 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2026-01-20 17:35:49,390 [INFO] apscheduler.scheduler: Scheduler started -2026-01-20 17:35:51,751 [WARNING] root: ⚠️ 파일이 이미 존재하여 건너뜀: 1XZCZC4.txt -2026-01-20 17:35:51,752 [WARNING] root: ⚠️ 파일이 이미 존재하여 건너뜀: 2XZCZC4.txt -2026-01-20 17:35:51,765 [WARNING] root: ⚠️ 파일이 이미 사라짐 (Skip): 3PYCZC4.txt -2026-01-20 17:35:51,765 [WARNING] root: ⚠️ 파일이 이미 존재하여 건너뜀: 3SJCZC4.txt -2026-01-20 17:35:51,766 [WARNING] root: ⚠️ 파일이 이미 존재하여 건너뜀: 3Y48HG4.txt -2026-01-20 17:35:51,766 [WARNING] root: ⚠️ 파일이 이미 존재하여 건너뜀: 4K8XHG4.txt -2026-01-20 17:35:51,766 [WARNING] root: ⚠️ 파일이 이미 존재하여 건너뜀: 4T48HG4.txt -2026-01-20 17:35:51,767 [INFO] root: ✅ MAC 파일 이동 완료 (8개) -2026-01-20 17:35:51,767 [INFO] root: ✅ MAC 파일 이동 완료 (14개) -2026-01-20 17:35:54,458 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 17:36:00,454 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 17:36:07,709 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 17:36:13,827 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 17:38:11,628 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2026-01-20 17:38:11,642 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2026-01-20 17:38:11,657 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2026-01-20 17:38:11,671 [INFO] app: 🔒 봇 중복 실행 방지 락(TCP:50000) 획득 시도... -2026-01-20 17:38:11,671 [INFO] app: 🔒 락 획득 성공! 봇 폴링 스레드를 시작합니다. -2026-01-20 17:38:11,672 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2026-01-20 17:38:13,002 [INFO] apscheduler.scheduler: Scheduler started -2026-01-20 17:38:13,323 [WARNING] root: ⚠️ 파일 사라짐 (Missing): 1BZ7HG4.txt -2026-01-20 17:38:13,324 [WARNING] root: ⚠️ 파일 중복 (Skipped): 1V48HG4.txt -2026-01-20 17:38:13,325 [WARNING] root: ⚠️ 파일 중복 (Skipped): 2V48HG4.txt -2026-01-20 17:38:13,326 [WARNING] root: ⚠️ 파일 중복 (Skipped): 3MYCZC4.txt -2026-01-20 17:38:13,363 [WARNING] root: ⚠️ 파일 중복 (Skipped): 4T48HG4.txt -2026-01-20 17:38:13,363 [WARNING] root: ⚠️ 파일 사라짐 (Missing): 4XZCZC4.txt -2026-01-20 17:38:13,363 [INFO] root: ✅ MAC 파일 이동 결과 - 총 16건: 이동 12, 중복 3, 사라짐 1 -2026-01-20 17:38:13,363 [INFO] root: ✅ MAC 파일 이동 결과 - 총 16건: 이동 14, 중복 1, 사라짐 1 -2026-01-20 17:40:08,468 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2026-01-20 17:40:08,484 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2026-01-20 17:40:08,499 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2026-01-20 17:40:08,513 [INFO] app: 🔒 봇 중복 실행 방지 락(TCP:50000) 획득 시도... -2026-01-20 17:40:08,513 [INFO] app: 🔒 락 획득 성공! 봇 폴링 스레드를 시작합니다. -2026-01-20 17:40:08,515 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2026-01-20 17:40:09,874 [INFO] apscheduler.scheduler: Scheduler started -2026-01-20 17:40:13,161 [WARNING] root: ⚠️ 파일 사라짐 (Missing): 1BZ7HG4.txt -2026-01-20 17:40:13,161 [WARNING] root: ⚠️ 파일 사라짐 (Missing): 1T48HG4.txt -2026-01-20 17:40:13,162 [WARNING] root: ⚠️ 파일 사라짐 (Missing): 1XZCZC4.txt -2026-01-20 17:40:13,163 [WARNING] root: ⚠️ 파일 사라짐 (Missing): 2T48HG4.txt -2026-01-20 17:40:13,163 [WARNING] root: ⚠️ 파일 중복 (Skipped): 2XZCZC4.txt -2026-01-20 17:40:13,164 [WARNING] root: ⚠️ 파일 중복 (Skipped): 3LYCZC4.txt -2026-01-20 17:40:13,164 [WARNING] root: ⚠️ 파일 중복 (Skipped): 3PYCZC4.txt -2026-01-20 17:40:13,165 [WARNING] root: ⚠️ 파일 중복 (Skipped): 3SJCZC4.txt -2026-01-20 17:40:13,165 [WARNING] root: ⚠️ 파일 중복 (Skipped): 4K8XHG4.txt -2026-01-20 17:40:13,166 [WARNING] root: ⚠️ 파일 사라짐 (Missing): 4XZCZC4.txt -2026-01-20 17:40:13,166 [INFO] root: ✅ MAC 파일 이동 결과 - 총 16건: 이동 12, 중복 2, 사라짐 2 -2026-01-20 17:40:13,166 [INFO] root: ✅ MAC 파일 이동 결과 - 총 16건: 이동 10, 중복 3, 사라짐 3 -2026-01-20 17:40:14,861 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 17:42:16,142 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2026-01-20 17:42:16,157 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2026-01-20 17:42:16,172 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2026-01-20 17:42:16,184 [INFO] app: 🔒 봇 중복 실행 방지 락(TCP:50000) 획득 시도... -2026-01-20 17:42:16,184 [INFO] app: 🔒 락 획득 성공! 봇 폴링 스레드를 시작합니다. -2026-01-20 17:42:16,186 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2026-01-20 17:42:17,563 [INFO] apscheduler.scheduler: Scheduler started -2026-01-20 17:42:22,542 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 17:42:25,737 [INFO] root: ⏭️ 파일 이미 존재 (완료됨): 1XZCZC4.txt -2026-01-20 17:42:25,738 [INFO] root: ⏭️ 동시 처리됨 (완료): 2NYCZC4.txt -2026-01-20 17:42:25,738 [INFO] root: ⏭️ 파일 이미 존재 (완료됨): 2T48HG4.txt -2026-01-20 17:42:25,738 [INFO] root: ⏭️ 파일 이미 존재 (완료됨): 2V48HG4.txt -2026-01-20 17:42:25,739 [INFO] root: ⏭️ 파일 이미 존재 (완료됨): 2XZCZC4.txt -2026-01-20 17:42:25,739 [INFO] root: ⏭️ 파일 이미 존재 (완료됨): 3MYCZC4.txt -2026-01-20 17:42:25,739 [INFO] root: ⏭️ 파일 이미 존재 (완료됨): 3PYCZC4.txt -2026-01-20 17:42:25,740 [INFO] root: ⏭️ 파일 이미 존재 (완료됨): 3Y48HG4.txt -2026-01-20 17:42:25,756 [INFO] root: ✅ MAC 처리 결과: 총 16건 중 16건 처리 완료 (이동: 14, 이미 완료: 2) -2026-01-20 17:42:25,756 [INFO] root: ✅ MAC 처리 결과: 총 16건 중 16건 처리 완료 (이동: 9, 이미 완료: 7) -2026-01-20 17:42:28,546 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 18:25:00,278 [INFO] root: Logger initialized | level=INFO | file=D:\Code\iDRAC_Info\idrac_info\data\logs\app.log -2026-01-20 18:25:00,295 [INFO] app: DB URI = sqlite:///D:/Code/iDRAC_Info/idrac_info/backend/instance/site.db -2026-01-20 18:25:00,309 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2026-01-20 18:25:00,322 [INFO] app: 🔒 봇 중복 실행 방지 락(TCP:50000) 획득 시도... -2026-01-20 18:25:00,322 [INFO] app: 🔒 락 획득 성공! 봇 폴링 스레드를 시작합니다. -2026-01-20 18:25:00,324 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2026-01-20 18:25:01,646 [INFO] apscheduler.scheduler: Scheduler started -2026-01-20 18:25:06,660 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 18:25:12,662 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 18:25:14,825 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2026-01-20 18:25:14,863 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2026-01-20 18:25:14,864 [INFO] app: LOGIN: SUCCESS → redirect -2026-01-20 18:25:19,913 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 18:25:26,050 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 18:25:35,725 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 18:25:49,891 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 18:26:10,445 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 18:26:31,194 [INFO] root: 파일 이동 성공: 1T48HG4.txt from 새 폴더 to 새 폴더 - 복사본 -2026-01-20 18:26:32,350 [INFO] root: 파일 이동 성공: 1T48HG4.txt from 새 폴더 - 복사본 to 새 폴더 -2026-01-20 18:26:33,067 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 18:27:03,814 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 18:27:38,943 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 18:27:42,017 [WARNING] backend.services.idrac_jobs: IP list file not found: data/server_list/idrac_ip_list.txt -2026-01-20 18:28:13,973 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 18:28:49,120 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 18:29:03,841 [ERROR] telegram.ext.Application: No error handlers are registered, logging exception. -Traceback (most recent call last): - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 134, in network_retry_loop - await do_action() - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_utils\networkloop.py", line 127, in do_action - action_cb_task.result() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_updater.py", line 340, in polling_action_cb - updates = await self.bot.get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<3 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 676, in get_updates - updates = await super().get_updates( - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<9 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 4780, in get_updates - await self._post( - ^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ), - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 703, in _post - return await self._do_post( - ^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\ext\_extbot.py", line 372, in _do_post - return await super()._do_post( - ^^^^^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\_bot.py", line 732, in _do_post - result = await request.post( - ^^^^^^^^^^^^^^^^^^^ - ...<6 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 198, in post - result = await self._request_wrapper( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ...<7 lines>... - ) - ^ - File "C:\Users\ktnsky20\AppData\Local\Programs\Python\Python314\Lib\site-packages\telegram\request\_baserequest.py", line 375, in _request_wrapper - raise exception -telegram.error.Conflict: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running -2026-01-20 20:33:14,472 [INFO] backend.routes.jobs: Jobs routes registered at /jobs -2026-01-20 20:33:14,486 [INFO] telegram_bot_service: Starting polling for bot: admin_bot (ID: 1) -2026-01-20 20:33:15,870 [INFO] apscheduler.scheduler: Scheduler started -2026-01-20 20:33:30,911 [INFO] app: LOGIN: form ok email=ganghee@zespro.co.kr -2026-01-20 20:33:30,950 [INFO] app: LOGIN: found id=1 active=True approved=True pass_ok=True -2026-01-20 20:33:30,951 [INFO] app: LOGIN: SUCCESS → redirect -2026-01-20 20:34:25,036 [INFO] root: file_view: folder=idrac_info date= filename=1BZ7HG4.txt | base=D:\Code\iDRAC_Info\idrac_info\data\idrac_info | target=D:\Code\iDRAC_Info\idrac_info\data\idrac_info\1BZ7HG4.txt -2026-01-20 20:34:31,936 [WARNING] root: ⚠️ [MAC] 덮어쓰기 모드 활성화됨 - 중복 파일을 덮어씁니다. -2026-01-20 20:34:31,947 [INFO] root: ✅ MAC 처리 결과: 총 16건 중 16건 처리 완료 -2026-01-20 20:38:40,612 [INFO] root: file_view: folder=idrac_info date= filename=1T48HG4.txt | base=D:\Code\iDRAC_Info\idrac_info\data\idrac_info | target=D:\Code\iDRAC_Info\idrac_info\data\idrac_info\1T48HG4.txt -2026-01-20 20:38:46,553 [WARNING] root: ⚠️ [GUID] 덮어쓰기 모드 활성화됨 - 중복 파일을 덮어씁니다. -2026-01-20 20:38:46,618 [INFO] root: ✅ GUID 처리: 총 126건 중 126건 처리 완료 -2026-01-20 20:39:23,991 [INFO] root: file_view: folder=idrac_info date= filename=2NYCZC4.txt | base=D:\Code\iDRAC_Info\idrac_info\data\idrac_info | target=D:\Code\iDRAC_Info\idrac_info\data\idrac_info\2NYCZC4.txt -2026-01-20 20:39:26,088 [INFO] root: ✅ GPU 처리: 총 126건 중 126건 처리 완료 -2026-01-20 20:41:43,529 [WARNING] root: ⚠️ [GPU] 덮어쓰기 모드 활성화됨 - 중복 파일을 덮어씁니다. -2026-01-20 20:41:43,599 [INFO] root: ✅ GPU 처리: 총 125건 중 125건 처리 완료 -2026-01-20 20:44:40,479 [INFO] root: ✅ GPU 처리: 총 126건 중 126건 처리 완료 -2026-01-20 20:45:01,039 [WARNING] root: ⚠️ [GPU] 덮어쓰기 모드 활성화됨 - 중복 파일을 덮어씁니다. -2026-01-20 20:45:01,107 [INFO] root: ✅ GPU 처리: 총 126건 중 126건 처리 완료 -2026-01-20 20:45:14,410 [INFO] root: ✅ GUID 처리: 총 1건 중 1건 처리 완료 -2026-01-20 20:45:23,027 [WARNING] root: ⚠️ [GUID] 덮어쓰기 모드 활성화됨 - 중복 파일을 덮어씁니다. -2026-01-20 20:45:23,028 [INFO] root: ✅ GUID 처리: 총 1건 중 1건 처리 완료 -2026-01-20 20:45:33,600 [INFO] root: ✅ MAC 처리 결과: 총 16건 중 16건 처리 완료 -2026-01-20 20:46:00,089 [INFO] root: ✅ MAC 처리 결과: 총 16건 중 16건 처리 완료 -2026-01-20 20:46:12,213 [WARNING] root: ⚠️ [MAC] 덮어쓰기 모드 활성화됨 - 중복 파일을 덮어씁니다. -2026-01-20 20:46:12,225 [INFO] root: ✅ MAC 처리 결과: 총 16건 중 16건 처리 완료 diff --git a/data/mac/1BZ7HG4.txt b/data/mac/1BZ7HG4.txt deleted file mode 100644 index 3b8a6ca..0000000 --- a/data/mac/1BZ7HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -1BZ7HG4 -Slot.38: 3825:F303:0085:07A6 -Slot.39: 3825:F303:0084:FDBA -Slot.37: 3825:F303:0085:07EE -Slot.36: 3825:F303:0085:1E66 -Slot.32: 3825:F303:0084:FABE -Slot.33: 3825:F303:0084:FE76 -Slot.34: 3825:F303:0084:FE5E -Slot.35: 3825:F303:0085:07EA -Slot.31: 3825:F303:0084:FC26 -Slot.40: 3825:F303:0084:FBCA -GUID: 0x3825F303008507A6;0x3825F3030084FDBA;0x3825F303008507EE;0x3825F30300851E66;0x3825F3030084FABE;0x3825F3030084FE76;0x3825F3030084FE5E;0x3825F303008507EA;0x3825F3030084FC26;0x3825F3030084FBCA diff --git a/data/mac/1T48HG4.txt b/data/mac/1T48HG4.txt deleted file mode 100644 index 818e8f2..0000000 --- a/data/mac/1T48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -1T48HG4 -Slot.38: B45C:B503:000D:C3FA -Slot.39: B45C:B503:000D:C3AA -Slot.37: B45C:B503:000D:C3B6 -Slot.36: B45C:B503:000D:C3AE -Slot.32: B45C:B503:000D:C3DE -Slot.33: 605E:6503:00EE:1FC8 -Slot.34: 605E:6503:00EE:1FEC -Slot.35: 605E:6503:00EE:1F40 -Slot.31: 605E:6503:00EE:1FC4 -Slot.40: B45C:B503:000D:C3CE -GUID: 0xB45CB503000DC3FA;0xB45CB503000DC3AA;0xB45CB503000DC3B6;0xB45CB503000DC3AE;0xB45CB503000DC3DE;0x605E650300EE1FC8;0x605E650300EE1FEC;0x605E650300EE1F40;0x605E650300EE1FC4;0xB45CB503000DC3CE diff --git a/data/mac/1V48HG4.txt b/data/mac/1V48HG4.txt deleted file mode 100644 index 71d0bbc..0000000 --- a/data/mac/1V48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -1V48HG4 -Slot.38: B45C:B503:000D:C602 -Slot.39: B45C:B503:000D:C61E -Slot.37: 605E:6503:00EE:1DF0 -Slot.36: B45C:B503:000D:C616 -Slot.32: B45C:B503:000D:C60A -Slot.33: B45C:B503:000D:C5EE -Slot.34: 605E:6503:00EE:1D70 -Slot.35: 605E:6503:00EE:1E3C -Slot.31: 605E:6503:00EE:1B6C -Slot.40: B45C:B503:000D:C5C2 -GUID: 0xB45CB503000DC602;0xB45CB503000DC61E;0x605E650300EE1DF0;0xB45CB503000DC616;0xB45CB503000DC60A;0xB45CB503000DC5EE;0x605E650300EE1D70;0x605E650300EE1E3C;0x605E650300EE1B6C;0xB45CB503000DC5C2 diff --git a/data/mac/1XZCZC4.txt b/data/mac/1XZCZC4.txt deleted file mode 100644 index 8928b07..0000000 --- a/data/mac/1XZCZC4.txt +++ /dev/null @@ -1,12 +0,0 @@ -1XZCZC4 -Slot.38: 3825:F303:00C4:15EC -Slot.39: 3825:F303:00C4:15F8 -Slot.37: 3825:F303:00C4:15E8 -Slot.36: 3825:F303:00C4:15E4 -Slot.32: 3825:F303:00C4:1564 -Slot.33: 3825:F303:00C4:1560 -Slot.34: 3825:F303:00C4:0AF4 -Slot.35: 3825:F303:00C4:1600 -Slot.31: 3825:F303:00C4:0910 -Slot.40: 3825:F303:00C4:1608 -GUID: 0x3825F30300C415EC;0x3825F30300C415F8;0x3825F30300C415E8;0x3825F30300C415E4;0x3825F30300C41564;0x3825F30300C41560;0x3825F30300C40AF4;0x3825F30300C41600;0x3825F30300C40910;0x3825F30300C41608 diff --git a/data/mac/2NYCZC4.txt b/data/mac/2NYCZC4.txt deleted file mode 100644 index d2cd94c..0000000 --- a/data/mac/2NYCZC4.txt +++ /dev/null @@ -1,12 +0,0 @@ -2NYCZC4 -Slot.38: 3825:F303:00C4:042C -Slot.39: 3825:F303:00C4:04A8 -Slot.37: 3825:F303:00C4:0420 -Slot.36: 3825:F303:00C4:0418 -Slot.32: 3825:F303:00C4:0508 -Slot.33: 3825:F303:00C4:12B4 -Slot.34: 3825:F303:00C4:12EC -Slot.35: 3825:F303:00C4:122C -Slot.31: 3825:F303:00C4:0484 -Slot.40: 3825:F303:00C4:048C -GUID: 0x3825F30300C4042C;0x3825F30300C404A8;0x3825F30300C40420;0x3825F30300C40418;0x3825F30300C40508;0x3825F30300C412B4;0x3825F30300C412EC;0x3825F30300C4122C;0x3825F30300C40484;0x3825F30300C4048C diff --git a/data/mac/2T48HG4.txt b/data/mac/2T48HG4.txt deleted file mode 100644 index 5261592..0000000 --- a/data/mac/2T48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -2T48HG4 -Slot.38: B45C:B503:000D:C402 -Slot.39: 605E:6503:00EE:2038 -Slot.37: 605E:6503:00EE:1FE0 -Slot.36: 605E:6503:00EE:1FD8 -Slot.32: B45C:B503:000D:C40E -Slot.33: 605E:6503:00EE:2080 -Slot.34: B45C:B503:000D:C406 -Slot.35: 605E:6503:00EE:2054 -Slot.31: B45C:B503:000D:C45A -Slot.40: 605E:6503:00EE:20C8 -GUID: 0xB45CB503000DC402;0x605E650300EE2038;0x605E650300EE1FE0;0x605E650300EE1FD8;0xB45CB503000DC40E;0x605E650300EE2080;0xB45CB503000DC406;0x605E650300EE2054;0xB45CB503000DC45A;0x605E650300EE20C8 diff --git a/data/mac/2V48HG4.txt b/data/mac/2V48HG4.txt deleted file mode 100644 index 67bacdf..0000000 --- a/data/mac/2V48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -2V48HG4 -Slot.38: 605E:6503:00EE:1AA8 -Slot.39: 605E:6503:00EE:1A5C -Slot.37: 605E:6503:00EE:1A1C -Slot.36: 605E:6503:00EE:1AD8 -Slot.32: 605E:6503:00EE:1A98 -Slot.33: 605E:6503:00EE:1A54 -Slot.34: 605E:6503:00EE:1A70 -Slot.35: 605E:6503:00EE:1AA4 -Slot.31: 605E:6503:00EE:1A58 -Slot.40: 605E:6503:00EE:1A18 -GUID: 0x605E650300EE1AA8;0x605E650300EE1A5C;0x605E650300EE1A1C;0x605E650300EE1AD8;0x605E650300EE1A98;0x605E650300EE1A54;0x605E650300EE1A70;0x605E650300EE1AA4;0x605E650300EE1A58;0x605E650300EE1A18 diff --git a/data/mac/2XZCZC4.txt b/data/mac/2XZCZC4.txt deleted file mode 100644 index 2f31006..0000000 --- a/data/mac/2XZCZC4.txt +++ /dev/null @@ -1,12 +0,0 @@ -2XZCZC4 -Slot.38: 3825:F303:00C4:0AEC -Slot.39: 3825:F303:00C4:0AD8 -Slot.37: 3825:F303:00C4:0AC8 -Slot.36: 3825:F303:00C4:15F4 -Slot.32: 3825:F303:00C4:0AD0 -Slot.33: 3825:F303:00C4:0AE0 -Slot.34: 3825:F303:00C4:0ADC -Slot.35: 3825:F303:00C4:1568 -Slot.31: 3825:F303:00C4:0AE8 -Slot.40: 3825:F303:00C4:0AD4 -GUID: 0x3825F30300C40AEC;0x3825F30300C40AD8;0x3825F30300C40AC8;0x3825F30300C415F4;0x3825F30300C40AD0;0x3825F30300C40AE0;0x3825F30300C40ADC;0x3825F30300C41568;0x3825F30300C40AE8;0x3825F30300C40AD4 diff --git a/data/mac/3LYCZC4.txt b/data/mac/3LYCZC4.txt deleted file mode 100644 index a8600a7..0000000 --- a/data/mac/3LYCZC4.txt +++ /dev/null @@ -1,12 +0,0 @@ -3LYCZC4 -Slot.38: 5000:E603:0068:F204 -Slot.39: 5000:E603:0068:F464 -Slot.37: 5000:E603:0068:F2B8 -Slot.36: 5000:E603:0068:F2FC -Slot.32: 5000:E603:0068:F294 -Slot.33: 5000:E603:0068:F504 -Slot.34: 5000:E603:0068:F450 -Slot.35: 5000:E603:0068:F2C4 -Slot.31: 5000:E603:0068:F50C -Slot.40: 5000:E603:0068:F4FC -GUID: 0x5000E6030068F204;0x5000E6030068F464;0x5000E6030068F2B8;0x5000E6030068F2FC;0x5000E6030068F294;0x5000E6030068F504;0x5000E6030068F450;0x5000E6030068F2C4;0x5000E6030068F50C;0x5000E6030068F4FC diff --git a/data/mac/3MYCZC4.txt b/data/mac/3MYCZC4.txt deleted file mode 100644 index a2fd8d0..0000000 --- a/data/mac/3MYCZC4.txt +++ /dev/null @@ -1,12 +0,0 @@ -3MYCZC4 -Slot.38: 5000:E603:0068:F480 -Slot.39: 5000:E603:0068:F254 -Slot.37: 5000:E603:0068:F408 -Slot.36: 5000:E603:0068:F33C -Slot.32: 5000:E603:0068:F40C -Slot.33: 5000:E603:0068:F4AC -Slot.34: 5000:E603:0068:F4C8 -Slot.35: 5000:E603:0068:F410 -Slot.31: 5000:E603:0068:F490 -Slot.40: 5000:E603:0068:F3A0 -GUID: 0x5000E6030068F480;0x5000E6030068F254;0x5000E6030068F408;0x5000E6030068F33C;0x5000E6030068F40C;0x5000E6030068F4AC;0x5000E6030068F4C8;0x5000E6030068F410;0x5000E6030068F490;0x5000E6030068F3A0 diff --git a/data/mac/3PYCZC4.txt b/data/mac/3PYCZC4.txt deleted file mode 100644 index 8ef6ad7..0000000 --- a/data/mac/3PYCZC4.txt +++ /dev/null @@ -1,12 +0,0 @@ -3PYCZC4 -Slot.38: 5000:E603:0068:F460 -Slot.39: 5000:E603:0068:F44C -Slot.37: 5000:E603:0068:F380 -Slot.36: 5000:E603:0068:F2BC -Slot.32: 5000:E603:0068:F4EC -Slot.33: 5000:E603:0068:F274 -Slot.34: 5000:E603:0068:F4E4 -Slot.35: 5000:E603:0068:F284 -Slot.31: 5000:E603:0068:F3DC -Slot.40: 5000:E603:0068:F354 -GUID: 0x5000E6030068F460;0x5000E6030068F44C;0x5000E6030068F380;0x5000E6030068F2BC;0x5000E6030068F4EC;0x5000E6030068F274;0x5000E6030068F4E4;0x5000E6030068F284;0x5000E6030068F3DC;0x5000E6030068F354 diff --git a/data/mac/3SJCZC4.txt b/data/mac/3SJCZC4.txt deleted file mode 100644 index 8262100..0000000 --- a/data/mac/3SJCZC4.txt +++ /dev/null @@ -1,12 +0,0 @@ -3SJCZC4 -Slot.38: 7C8C:0903:00AE:614C -Slot.39: 7C8C:0903:00AE:6158 -Slot.37: 7C8C:0903:00AE:615C -Slot.36: 7C8C:0903:00B6:A96A -Slot.32: 7C8C:0903:00AE:6124 -Slot.33: 7C8C:0903:00B6:A976 -Slot.34: 7C8C:0903:00AE:6204 -Slot.35: 7C8C:0903:00AE:6208 -Slot.31: 7C8C:0903:00AE:61C0 -Slot.40: 7C8C:0903:00B6:A972 -GUID: 0x7C8C090300AE614C;0x7C8C090300AE6158;0x7C8C090300AE615C;0x7C8C090300B6A96A;0x7C8C090300AE6124;0x7C8C090300B6A976;0x7C8C090300AE6204;0x7C8C090300AE6208;0x7C8C090300AE61C0;0x7C8C090300B6A972 diff --git a/data/mac/3Y48HG4.txt b/data/mac/3Y48HG4.txt deleted file mode 100644 index f5b1423..0000000 --- a/data/mac/3Y48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -3Y48HG4 -Slot.38: B45C:B503:000D:C4B6 -Slot.39: B45C:B503:000D:C6EA -Slot.37: B45C:B503:000D:C4CA -Slot.36: B45C:B503:000D:C49E -Slot.32: B45C:B503:000D:C49A -Slot.33: B45C:B503:000D:C6D2 -Slot.34: B45C:B503:000D:C6BA -Slot.35: B45C:B503:000D:C4AE -Slot.31: B45C:B503:000D:C4DA -Slot.40: B45C:B503:000D:C4D2 -GUID: 0xB45CB503000DC4B6;0xB45CB503000DC6EA;0xB45CB503000DC4CA;0xB45CB503000DC49E;0xB45CB503000DC49A;0xB45CB503000DC6D2;0xB45CB503000DC6BA;0xB45CB503000DC4AE;0xB45CB503000DC4DA;0xB45CB503000DC4D2 diff --git a/data/mac/4K8XHG4.txt b/data/mac/4K8XHG4.txt deleted file mode 100644 index 30fde6d..0000000 --- a/data/mac/4K8XHG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -4K8XHG4 -Slot.38: 605E:6503:00EE:1104 -Slot.39: 605E:6503:00EE:111C -Slot.37: 605E:6503:00EE:10EC -Slot.36: 605E:6503:00EE:1110 -Slot.32: 605E:6503:00EE:114C -Slot.33: 605E:6503:00EE:1128 -Slot.34: 605E:6503:00EE:1114 -Slot.35: 605E:6503:00EE:1140 -Slot.31: 605E:6503:00EE:113C -Slot.40: 605E:6503:00EE:1134 -GUID: 0x605E650300EE1104;0x605E650300EE111C;0x605E650300EE10EC;0x605E650300EE1110;0x605E650300EE114C;0x605E650300EE1128;0x605E650300EE1114;0x605E650300EE1140;0x605E650300EE113C;0x605E650300EE1134 diff --git a/data/mac/4T48HG4.txt b/data/mac/4T48HG4.txt deleted file mode 100644 index 08b8e75..0000000 --- a/data/mac/4T48HG4.txt +++ /dev/null @@ -1,12 +0,0 @@ -4T48HG4 -Slot.38: 605E:6503:00EE:1D80 -Slot.39: 605E:6503:00EE:1AC8 -Slot.37: 605E:6503:00EE:192C -Slot.36: 605E:6503:00EE:1AD4 -Slot.32: 605E:6503:00EE:1DA0 -Slot.33: 605E:6503:00EE:1B08 -Slot.34: 605E:6503:00EE:1988 -Slot.35: 605E:6503:00EE:1D9C -Slot.31: 605E:6503:00EE:1DBC -Slot.40: 605E:6503:00EE:1D88 -GUID: 0x605E650300EE1D80;0x605E650300EE1AC8;0x605E650300EE192C;0x605E650300EE1AD4;0x605E650300EE1DA0;0x605E650300EE1B08;0x605E650300EE1988;0x605E650300EE1D9C;0x605E650300EE1DBC;0x605E650300EE1D88 diff --git a/data/mac/4XZCZC4.txt b/data/mac/4XZCZC4.txt deleted file mode 100644 index e6b02ba..0000000 --- a/data/mac/4XZCZC4.txt +++ /dev/null @@ -1,12 +0,0 @@ -4XZCZC4 -Slot.38: 5000:E603:0068:F318 -Slot.39: 5000:E603:0068:F458 -Slot.37: 5000:E603:0068:F23C -Slot.36: 5000:E603:0068:F090 -Slot.32: 5000:E603:0068:F448 -Slot.33: 5000:E603:0068:F440 -Slot.34: 5000:E603:0068:F310 -Slot.35: 5000:E603:0068:F430 -Slot.31: 5000:E603:0068:F3C8 -Slot.40: 5000:E603:0068:F438 -GUID: 0x5000E6030068F318;0x5000E6030068F458;0x5000E6030068F23C;0x5000E6030068F090;0x5000E6030068F448;0x5000E6030068F440;0x5000E6030068F310;0x5000E6030068F430;0x5000E6030068F3C8;0x5000E6030068F438 diff --git a/data/repository/xml/16G_T4,6 .xml b/data/repository/xml/16G_T4,6 .xml new file mode 100644 index 0000000..a8a1c51 --- /dev/null +++ b/data/repository/xml/16G_T4,6 .xml @@ -0,0 +1,4001 @@ + + + + + + + + 0 + + Disabled + Enabled + Disabled + Enabled + Disabled + NONE + 0 + PXE + Enabled + + + Disabled + Auto + + + 0 + + Disabled + Enabled + Disabled + Enabled + Disabled + NONE + PXE + Enabled + + + Disabled + Auto + + + + + + + + + True + Clear + False + None + Local Key Management and Secure Enterprise Key Manager Capable + Yes + + + + Disabled + Disabled + Automatic + Normal + On + Disabled + Disabled + 30 + 30 + 30 + 30 + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + False + + + True + Clear + Not Applicable + Disabled + Capable + No + + Create + Default + WriteThrough + NoReadAhead + naver + 0 + 256 + 1 + 2 + RAID 1 + Disk.Direct.0-0:BOSS.SL.12-1 + Disk.Direct.1-1:BOSS.SL.12-1 + + + No + Ready + False + + + No + Ready + False + + + + + Enabled + Administrator + 0000000000000000000000000000000000000000 + public + Disabled + root + calvin + 511 + Administrator + Administrator + Enabled + Enabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + Enabled + 0.0.0.0 + + Disabled + + + Disabled + + + Disabled + + + Disabled + + + Enabled + 22 + 1800 + + False + Enabled + 80 + 443 + 1800 + Enabled + Enabled + 128-Bit or higher + TLS 1.1 and Higher + Auto + + + Disabled + Enabled + + Disabled +Enabled + Enabled + Enabled + 6 + 25513 + 1800 + Deny Access + Auto-attach + Disabled + Disabled + Disabled + Disabled + Enabled + Enabled + 60 + Enabled + ^\ + Enabled + 115200 + Administrator + 10 + 255 + Enabled + public + SNMPv1 + All + 161 + 162 + + support@dell.com + AutoAttach + Disabled + Disabled + Disabled + Enabled + Enabled + Disabled + 192.168.1.1 + 255.255.255.0 + Enabled + 3 + 60 + 60 + Disabled + 192.168.1.1 + 255.255.255.0 + Disabled + 192.168.1.1 + 255.255.255.0 + Disabled + 192.168.1.1 + 255.255.255.0 + Disabled + 192.168.1.1 + 255.255.255.0 + Disabled + Disabled + 0 + 0 + Asia/Seoul + + + + + + US + + 2048 + + Disabled + Disabled + 0 + Disabled + No Protection + + Disabled + Enabled + + + 120 + Standard Schema + ad.o.nfra.io + + + ad.o.nfra.io + + + Disabled + Disabled + Disabled + + + Enabled + LDAPS + Disabled + Disabled + SE_Admin + nhncorp.nhncorp.local + 511 + IDC_Admin + nhncorp.nhncorp.local + 499 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + nhncorp.nhncorp.local + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Disabled + Disabled + Disabled + Disabled + Enabled + 514 + syslog.o.nfra.io + + + Disabled + 5 + Disabled + Anonymous + + 6514 + Disabled + + 636 + + + + Enabled + + + + Enabled + Disabled + LDAPS + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + 0.0.0.0 + 25 + Disabled + + + + + STARTTLS + chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com + rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519 + curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521 + umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512 + Auto Attach + + Read Only + + + Disabled + Done + Yes + Auto Attach + + Read Only + + + Enabled + Done + Yes + Disabled + 0.0.0.0 + usb-p2p + 169.254.1.1 + fde1:53ba:e9a0:de11::1 + Enabled + 255.255.255.0 + Enabled + Dedicated + None + Enabled + 1000 + Full + 1500 + + Disabled + Disabled + 0 + 1 + Disabled + 5 + 30 + Disabled + Both + Disabled + Disabled + 0 + Off + + Enabled + Enabled + Enabled + Enabled + Enabled + EUI64 + + Disabled + 192.168.0.120 + 255.255.255.0 + 192.168.0.1 + 0.0.0.0 + 0.0.0.0 + Enabled + :: + :: + 64 + :: + :: + Enabled + + Disabled + + + Disabled + + + Disabled + + + Disabled + + + Disabled + + + Disabled + + + Disabled + + + Disabled + + Disabled + Disabled + + + + 16 + Disabled + Disabled + Disabled + 1 + 1 + 1 + + + + Enabled + Disabled + Circular + Disabled + 60 + Disabled + Disabled + + + + + Enabled + Enabled + Disabled + 480 + None + Disabled + Disabled + Enabled + Enabled + Disabled + Disabled + Enabled + Enabled + Enabled + Disabled + Disabled + Disabled + + 5901 + Disabled + 300 + Disabled + 2 + False + Enabled + By accessing this computer, you confirm that such access complies with your organization's security policy. + Disabled + 1 + 0 + Normal + Enabled + Enabled while server has default credential settings only + Enabled + + Disabled + CIFS + + + + + + English + 0 + + + + Disabled + Enabled + Disabled + 3 + 5 + Yes + Enabled + Enabled + + + + + + + + + + + + + + + Disabled + Enabled + + Enabled + 1 day + Enabled + Enabled + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + 40 + + Disabled + 0 + IERRCriticalTrigger + Disabled + 60 + CPUCriticalTrigger, CPUWarnTrigger, TMPCpuCriticalTrigger, TMPCpuWarnTrigger + Disabled + 60 + FANCriticalTrigger, FANWarnTrigger + Disabled + 60 + + Disabled + 60 + + Disabled + 60 + + Disabled + 60 + + Disabled + 600 + + Disabled + 60 + MEMCriticalTrigger, MEMWarnTrigger + Disabled + 60 + + Disabled + 60 + + Disabled + 3600 + NVMeCriticalTrigger, NVMeWarnTrigger + Disabled + 60 + TMPCpuCriticalTrigger, TMPCpuWarnTrigger + Disabled + 0 + + Disabled + 60 + + Disabled + 60 + + Disabled + 60 + + Disabled + 60 + VLTCriticalTrigger + Disabled + 60 + + Disabled + 3600 + PDRCriticalTrigger, PDRWarnTrigger + Disabled + 60 + + Disabled + 60 + TMPCriticalTrigger, TMPWarnTrigger + Disabled + 60 + TMPDiskCriticalTrigger, TMPDiskWarnTrigger, TMPCriticalTrigger, TMPWarnTrigger + 15 + Disabled + + Halt + 4 + 24 + Do not use the cached key + No Caching + Disabled + Enabled + Enabled + Disabled + DefaultIDEVID + Disabled + Enabled + Enabled + Allowlist + 1000:00A5:1028:2114,1000:00A5:1028:2115,1000:00A5:1028:2117,1000:00A5:1028:213A,1000:00A5:1028:213B,1000:00A5:1028:213C,1000:00A5:1028:213E,1000:00A5:1028:213F,1000:00A5:1028:2140,1000:00A5:1028:2141,1000:00A5:1028:2142,1000:00A5:1028:2209,1000:00A5:1028:220A,10DF:F400:10DF:F410,10DF:F400:10DF:F411,10DF:F400:10DF:F422 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Service Tag + + Enabled + Watts + C + 0 + unhide + SEL + Full-Access + No-License-Msg + DIsabled + 30 + 30 + 10 + 10 + Minimum Power + Off + 255 + Disabled + Disabled + NO LIMIT + 55 + Default + 0 + 0 + + + + Disabled + + + + Disabled + + + + Disabled + + + + Disabled + + + + Disabled + + + + Disabled + + + + Disabled + + + + Disabled + 0 + 0 + 0 + + + + No + + + 0 + Months + 0 + 0 + + + + No + 0 + 0 + + 0 + + + + + + + 0 + + 0 + + Owned + + + No + + + No + Network + + + + + + 0 + Days + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Disabled + + A/B Grid Redundant + Disabled + PSU1 + 1000000 + 1000000 + 1000000 + Disabled + Disabled + Disabled + SelfPowered + + + + + + EIA_310 + + + 0 + Automatic + 0 + Automatic + 0 + Automatic + 0 + Automatic + 0 + Automatic + 0 + Automatic + 0 + Automatic + 0 + Automatic + None + Not Applicable + + 0 + Disabled + Disabled + 10 + Disabled + Disabled + 10 + 5 + 120 + GracefulRebootWithForcedShutdown + + + + Enabled + Apply Always + Match firmware of replaced part + + Off + + + False + Disabled + + + 80 + + + HTTP + On + + + + + + + + + + + + + + + + + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + No Action + + + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + + + Enabled + Enabled + + + + NotConfigured + Enabled + MaxDataRate + Disabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Disabled + RoundRobin + Enabled + Enabled + Enabled + Enabled + Disabled + Normal + Disabled + + Disabled + Auto + All + Enabled + Disabled + Auto + Enabled + Disabled + Disabled + + Auto + AhciMode + Enabled + Disabled + + + + + + + + + + AllDrives + Uefi + Enabled + + Disabled + Disabled + None + NIC.PxeDevice.1-1,NIC.PxeDevice.2-1 + + + + Enabled + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + Enabled + Enabled + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + 4C4C4544-0035-3510-804B-B8C04F434834 + + NIC.Integrated.1-1-1 + IPv4 + Disabled + 1 + 0 + NIC.Integrated.1-2-1 + IPv4 + Disabled + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Disabled + Disabled + Con1Con2 + NIC.Integrated.1-1-1 + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 3260 + 0 + + None + OneWay + + + + + + + NIC.Integrated.1-1-1 + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 3260 + 0 + + None + OneWay + + + + + + + Disabled + Disabled + Disabled + Disabled + NIC.Integrated.1-1-1 + TCP + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 4420 + + 0 + Disabled + None + + NIC.Integrated.1-1-1 + TCP + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 4420 + + 0 + Disabled + None + + NIC.Integrated.1-1-1 + TCP + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 4420 + + 0 + Disabled + None + + NIC.Integrated.1-1-1 + TCP + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 4420 + + 0 + Disabled + None + + AllOn + On + Enabled + DisabledOs + Enabled + Roll2KCycles + Disabled + Disabled + Disabled + Enabled + PlatformDefault + + + + + + + + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Auto + Auto + Auto + Auto + Auto + Auto + Auto + Auto + OnNoConRedir + Com1 + 115200 + Vt100Vt220 + Enabled + Custom + MaxPerf + MaxPerf + Enabled + Disabled + Disabled + Disabled + Standard + 1x + MaxUFS + Enabled + MaxPower + Disabled + Disabled + Disabled + Balance + Disabled + + + + + + Disabled + + + Unlocked + On + Enabled + No + + Disabled + + + + + Disabled + Last + Immediate + 120 + Standard + Enabled + Disabled + Disabled + Standard + DeployedMode + Disabled + Disabled + SHA256 + None + + + Disabled + OptimizerMode + Disabled + MemoryTrainingFast + Disabled + Enabled + Disabled + PagingClosed + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + LOCAL + Disabled + + On + Disabled + Disabled + Enabled + Disabled + NIC.PxeDevice.1-1, NIC.PxeDevice.2-1 + + + + + + + \ No newline at end of file diff --git a/data/repository/xml/20260223_standard_PO-20251222-0150_DELL_ALL.xml b/data/repository/xml/20260223_standard_PO-20251222-0150_DELL_ALL.xml new file mode 100644 index 0000000..f752028 --- /dev/null +++ b/data/repository/xml/20260223_standard_PO-20251222-0150_DELL_ALL.xml @@ -0,0 +1,4001 @@ + + + + + + + + 0 + + Disabled + Enabled + Disabled + Enabled + Disabled + NONE + 0 + PXE + Enabled + + + Disabled + Auto + + + 0 + + Disabled + Enabled + Disabled + Enabled + Disabled + NONE + PXE + Enabled + + + Disabled + Auto + + + + + + + + + True + Clear + False + None + Local Key Management and Secure Enterprise Key Manager Capable + Yes + + + + Disabled + Disabled + Automatic + Normal + On + Disabled + Disabled + 30 + 30 + 30 + 30 + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + False + + + True + Clear + Not Applicable + Disabled + Capable + No + + Create + Default + WriteThrough + NoReadAhead + naver + 0 + 256 + 1 + 2 + RAID 1 + Disk.Direct.0-0:BOSS.SL.12-1 + Disk.Direct.1-1:BOSS.SL.12-1 + + + No + Ready + False + + + No + Ready + False + + + + + Enabled + Administrator + 0000000000000000000000000000000000000000 + public + Disabled + root + calvin + 511 + Administrator + Administrator + Enabled + Enabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + Enabled + 0.0.0.0 + + Disabled + + + Disabled + + + Disabled + + + Disabled + + + Enabled + 22 + 1800 + + False + Enabled + 80 + 443 + 1800 + Enabled + Enabled + 128-Bit or higher + TLS 1.1 and Higher + Auto + + + Disabled + Enabled + + Disabled +Enabled + Enabled + Enabled + 6 + 25513 + 1800 + Deny Access + Auto-attach + Disabled + Disabled + Disabled + Disabled + Enabled + Enabled + 60 + Enabled + ^\ + Enabled + 115200 + Administrator + 10 + 255 + Enabled + public + SNMPv1 + All + 161 + 162 + + support@dell.com + AutoAttach + Disabled + Disabled + Disabled + Enabled + Enabled + Disabled + 192.168.1.1 + 255.255.255.0 + Enabled + 3 + 60 + 60 + Disabled + 192.168.1.1 + 255.255.255.0 + Disabled + 192.168.1.1 + 255.255.255.0 + Disabled + 192.168.1.1 + 255.255.255.0 + Disabled + 192.168.1.1 + 255.255.255.0 + Disabled + Disabled + 0 + 0 + Asia/Seoul + + + + + + US + + 2048 + + Disabled + Disabled + 0 + Disabled + No Protection + + Disabled + Enabled + + + 120 + Standard Schema + ad.o.nfra.io + + + ad.o.nfra.io + + + Disabled + Disabled + Disabled + + + Enabled + LDAPS + Disabled + Disabled + SE_Admin + nhncorp.nhncorp.local + 511 + IDC_Admin + nhncorp.nhncorp.local + 499 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + nhncorp.nhncorp.local + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Disabled + Disabled + Disabled + Disabled + Enabled + 514 + syslog.o.nfra.io + + + Disabled + 5 + Disabled + Anonymous + + 6514 + Disabled + + 636 + + + + Enabled + + + + Enabled + Disabled + LDAPS + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + 0.0.0.0 + 25 + Disabled + + + + + STARTTLS + chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com + rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519 + curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521 + umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512 + Auto Attach + + Read Only + + + Disabled + Done + Yes + Auto Attach + + Read Only + + + Enabled + Done + Yes + Disabled + 0.0.0.0 + usb-p2p + 169.254.1.1 + fde1:53ba:e9a0:de11::1 + Enabled + 255.255.255.0 + Enabled + Dedicated + None + Enabled + 1000 + Full + 1500 + + Disabled + Disabled + 0 + 1 + Disabled + 5 + 30 + Disabled + Both + Disabled + Disabled + 0 + Off + + Enabled + Enabled + Enabled + Enabled + Enabled + EUI64 + + Disabled + 192.168.0.120 + 255.255.255.0 + 192.168.0.1 + 0.0.0.0 + 0.0.0.0 + Enabled + :: + :: + 64 + :: + :: + Enabled + + Disabled + + + Disabled + + + Disabled + + + Disabled + + + Disabled + + + Disabled + + + Disabled + + + Disabled + + Disabled + Disabled + + + + 16 + Disabled + Disabled + Disabled + 1 + 1 + 1 + + + + Enabled + Disabled + Circular + Disabled + 60 + Disabled + Disabled + + + + + Enabled + Enabled + Disabled + 480 + None + Disabled + Disabled + Enabled + Enabled + Disabled + Disabled + Enabled + Enabled + Enabled + Disabled + Disabled + Disabled + + 5901 + Disabled + 300 + Disabled + 2 + False + Enabled + By accessing this computer, you confirm that such access complies with your organization's security policy. + Disabled + 1 + 0 + Normal + Enabled + Enabled while server has default credential settings only + Enabled + + Disabled + CIFS + + + + + + English + 0 + + + + Disabled + Enabled + Disabled + 3 + 5 + Yes + Enabled + Enabled + + + + + + + + + + + + + + + Disabled + Enabled + + Enabled + 1 day + Enabled + Enabled + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + 40 + + Disabled + 0 + IERRCriticalTrigger + Disabled + 60 + CPUCriticalTrigger, CPUWarnTrigger, TMPCpuCriticalTrigger, TMPCpuWarnTrigger + Disabled + 60 + FANCriticalTrigger, FANWarnTrigger + Disabled + 60 + + Disabled + 60 + + Disabled + 60 + + Disabled + 60 + + Disabled + 600 + + Disabled + 60 + MEMCriticalTrigger, MEMWarnTrigger + Disabled + 60 + + Disabled + 60 + + Disabled + 3600 + NVMeCriticalTrigger, NVMeWarnTrigger + Disabled + 60 + TMPCpuCriticalTrigger, TMPCpuWarnTrigger + Disabled + 0 + + Disabled + 60 + + Disabled + 60 + + Disabled + 60 + + Disabled + 60 + VLTCriticalTrigger + Disabled + 60 + + Disabled + 3600 + PDRCriticalTrigger, PDRWarnTrigger + Disabled + 60 + + Disabled + 60 + TMPCriticalTrigger, TMPWarnTrigger + Disabled + 60 + TMPDiskCriticalTrigger, TMPDiskWarnTrigger, TMPCriticalTrigger, TMPWarnTrigger + 15 + Disabled + + Halt + 4 + 24 + Do not use the cached key + No Caching + Disabled + Enabled + Enabled + Disabled + DefaultIDEVID + Disabled + Enabled + Enabled + Allowlist + 1000:00A5:1028:2114,1000:00A5:1028:2115,1000:00A5:1028:2117,1000:00A5:1028:213A,1000:00A5:1028:213B,1000:00A5:1028:213C,1000:00A5:1028:213E,1000:00A5:1028:213F,1000:00A5:1028:2140,1000:00A5:1028:2141,1000:00A5:1028:2142,1000:00A5:1028:2209,1000:00A5:1028:220A,10DF:F400:10DF:F410,10DF:F400:10DF:F411,10DF:F400:10DF:F422 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Service Tag + + Enabled + Watts + C + 0 + unhide + SEL + Full-Access + No-License-Msg + DIsabled + 30 + 30 + 10 + 10 + Minimum Power + Off + 255 + Disabled + Disabled + NO LIMIT + 55 + Default + 0 + 0 + + + + Disabled + + + + Disabled + + + + Disabled + + + + Disabled + + + + Disabled + + + + Disabled + + + + Disabled + + + + Disabled + 0 + 0 + 0 + + + + No + + + 0 + Months + 0 + 0 + + + + No + 0 + 0 + + 0 + + + + + + + 0 + + 0 + + Owned + + + No + + + No + Network + + + + + + 0 + Days + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Disabled + + A/B Grid Redundant + Disabled + PSU1 + 1000000 + 1000000 + 1000000 + Disabled + Disabled + Disabled + SelfPowered + + + + + + EIA_310 + + + 0 + Automatic + 0 + Automatic + 0 + Automatic + 0 + Automatic + 0 + Automatic + 0 + Automatic + 0 + Automatic + 0 + Automatic + None + Not Applicable + + 0 + Disabled + Disabled + 10 + Disabled + Disabled + 10 + 5 + 120 + GracefulRebootWithForcedShutdown + + + + Enabled + Apply Always + Match firmware of replaced part + + Off + + + False + Disabled + + + 80 + + + HTTP + On + + + + + + + + + + + + + + + + + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + No Action + + + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + + + Enabled + Enabled + + + + NotConfigured + Enabled + MaxDataRate + Disabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Disabled + RoundRobin + Enabled + Enabled + Enabled + Enabled + Disabled + Normal + Disabled + + Disabled + Auto + All + Enabled + Disabled + Auto + Enabled + Disabled + Disabled + + Auto + AhciMode + Enabled + Disabled + + + + + + + + + + AllDrives + Uefi + Enabled + + Disabled + Disabled + None + NIC.PxeDevice.1-1,NIC.PxeDevice.2-1 + + + + Enabled + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + Enabled + Enabled + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + 4C4C4544-0035-3510-804B-B8C04F434834 + + NIC.Integrated.1-1-1 + IPv4 + Disabled + 1 + 0 + NIC.Integrated.1-2-1 + IPv4 + Disabled + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Disabled + Disabled + Con1Con2 + NIC.Integrated.1-1-1 + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 3260 + 0 + + None + OneWay + + + + + + + NIC.Integrated.1-1-1 + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 3260 + 0 + + None + OneWay + + + + + + + Disabled + Disabled + Disabled + Disabled + NIC.Integrated.1-1-1 + TCP + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 4420 + + 0 + Disabled + None + + NIC.Integrated.1-1-1 + TCP + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 4420 + + 0 + Disabled + None + + NIC.Integrated.1-1-1 + TCP + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 4420 + + 0 + Disabled + None + + NIC.Integrated.1-1-1 + TCP + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 4420 + + 0 + Disabled + None + + AllOn + On + Enabled + DisabledOs + Enabled + Roll2KCycles + Disabled + Disabled + Disabled + Enabled + PlatformDefault + + + + + + + + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Auto + Auto + Auto + Auto + Auto + Auto + Auto + Auto + OnNoConRedir + Com1 + 115200 + Vt100Vt220 + Enabled + Custom + MaxPerf + MaxPerf + Enabled + Disabled + Disabled + Disabled + Standard + 1x + MaxUFS + Enabled + MaxPower + Disabled + Disabled + Disabled + Balance + Disabled + + + + + + Disabled + + + Unlocked + On + Enabled + No + + Disabled + + + + + Disabled + Last + Immediate + 120 + Standard + Enabled + Disabled + Disabled + Standard + DeployedMode + Disabled + Disabled + SHA256 + None + + + Disabled + OptimizerMode + Disabled + MemoryTrainingFast + Disabled + Enabled + Disabled + PagingClosed + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + LOCAL + Disabled + + On + Disabled + Disabled + Enabled + Disabled + NIC.PxeDevice.1-1, NIC.PxeDevice.2-1 + + + + + + + diff --git a/data/xml/LinePlus_T1.xml b/data/repository/xml/LinePlus_T1.xml similarity index 100% rename from data/xml/LinePlus_T1.xml rename to data/repository/xml/LinePlus_T1.xml diff --git a/data/xml/PO-20250826-0158 _가산3_XE9680_384EA.xml b/data/repository/xml/PO-20250826-0158 _가산3_XE9680_384EA.xml similarity index 100% rename from data/xml/PO-20250826-0158 _가산3_XE9680_384EA.xml rename to data/repository/xml/PO-20250826-0158 _가산3_XE9680_384EA.xml diff --git a/data/repository/xml/PO-20251208-0239_H200_943EA.xml b/data/repository/xml/PO-20251208-0239_H200_943EA.xml new file mode 100644 index 0000000..f958bdd --- /dev/null +++ b/data/repository/xml/PO-20251208-0239_H200_943EA.xml @@ -0,0 +1,4308 @@ + + + + + + + 0 + + Disabled + Enabled + Disabled + Enabled + Disabled + NONE + 0 + PXE + Enabled + + + Disabled + Auto + + + 0 + + Disabled + Enabled + Disabled + Enabled + Disabled + NONE + PXE + Enabled + + + Disabled + Auto + + + 0 + + Disabled + Enabled + Disabled + Enabled + Disabled + NONE + PXE + Enabled + + + Disabled + Auto + + + 0 + + Disabled + Enabled + Disabled + Enabled + Disabled + NONE + PXE + Enabled + + + Disabled + Auto + + + + + + + + + True + Clear + False + None + Local Key Management and Secure Enterprise Key Manager Capable + Yes + + + + Disabled + Enabled + 30 + 10 + 30 + + Create + Unlocked + None + Default + WriteBack + NoReadAhead + naver + 479559942144 + 128 + 1 + 2 + RAID 1 + Disk.Bay.0:Enclosure.Internal.0-1:RAID.SL.9-1 + Disk.Bay.1:Enclosure.Internal.0-1:RAID.SL.9-1 + + + + No + Ready + False + + + No + Ready + False + + + False + + + + 15 + IB + Enabled + + NONE + 4 + NONE + 0 + Disabled + 8 + NoRetry + Disabled + Disabled + Disabled + Disabled + Disabled + + + + + + + + + + + + + + + 15 + IB + Enabled + + NONE + 4 + NONE + 0 + Disabled + 8 + NoRetry + Disabled + Disabled + Disabled + Disabled + Disabled + + + + + + + + + + + + + + + 15 + IB + Enabled + + NONE + 4 + NONE + 0 + Disabled + 8 + NoRetry + Disabled + Disabled + Disabled + Disabled + Disabled + + + + + + + + + + + + + + + 15 + IB + Enabled + + NONE + 4 + NONE + 0 + Disabled + 8 + NoRetry + Disabled + Disabled + Disabled + Disabled + Disabled + + + + + + + + + + + + + + + 15 + IB + Enabled + + NONE + 4 + NONE + 0 + Disabled + 8 + NoRetry + Disabled + Disabled + Disabled + Disabled + Disabled + + + + + + + + + + + + + + + 15 + IB + Enabled + + NONE + 4 + NONE + 0 + Disabled + 8 + NoRetry + Disabled + Disabled + Disabled + Disabled + Disabled + + + + + + + + + + + + + + + 15 + IB + Enabled + + NONE + 4 + NONE + 0 + Disabled + 8 + NoRetry + Disabled + Disabled + Disabled + Disabled + Disabled + + + + + + + + + + + + + + + 15 + IB + Enabled + + NONE + 4 + NONE + 0 + Disabled + 8 + NoRetry + Disabled + Disabled + Disabled + Disabled + Disabled + + + + + + + + + + + + + + + 15 + IB + Enabled + + NONE + 4 + NONE + 0 + Disabled + 8 + NoRetry + Disabled + Disabled + Disabled + Disabled + Disabled + + + + + + + + + + + + + + + 15 + IB + Enabled + + NONE + 4 + NONE + 0 + Disabled + 8 + NoRetry + Disabled + Disabled + Disabled + Disabled + Disabled + + + + + + + + + + + + + + + + Enabled + Administrator + 0000000000000000000000000000000000000000 + public + Enabled + root + calvin + 511 + Administrator + Administrator + Enabled + Enabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + Enabled + 0.0.0.0 + + Disabled + + + Disabled + + + Disabled + + + Disabled + + + Enabled + 22 + 1800 + + False + Enabled + 80 + 443 + 1800 + Enabled + Enabled + 128-Bit or higher + TLS 1.1 and Higher + Auto + + + Disabled + Enabled + + Disabled + Enabled + Enabled + Enabled + 6 + 25513 + 1800 + Deny Access + Auto-attach + Disabled + Disabled + Disabled + Disabled + Enabled + Enabled + 60 + Enabled + ^\ + Enabled + 115200 + Administrator + 10 + 255 + Enabled + public + SNMPv1 + All + 161 + 162 + + support@dell.com + AutoAttach + Disabled + Disabled + Disabled + Enabled + Enabled + Disabled + 192.168.1.1 + 255.255.255.0 + Enabled + 3 + 60 + 60 + Disabled + 192.168.1.1 + 255.255.255.0 + Disabled + 192.168.1.1 + 255.255.255.0 + Disabled + 192.168.1.1 + 255.255.255.0 + Disabled + 192.168.1.1 + 255.255.255.0 + Disabled + Disabled + 0 + 0 + Asia/Seoul + + + + + + US + + 2048 + + Disabled + Disabled + 0 + Disabled + No Protection + + Disabled + Enabled + + + 120 + Standard Schema + ad.o.nfra.io + + + ad.o.nfra.io + + + Disabled + Disabled + Disabled + + + Enabled + LDAPS + Disabled + Disabled + SE_Admin + nhncorp.nhncorp.local + 511 + IDC_Admin + nhncorp.nhncorp.local + 499 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + nhncorp.nhncorp.local + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Disabled + Disabled + Disabled + Disabled + Enabled + 514 + syslog.o.nfra.io + + + Disabled + 5 + Disabled + Anonymous + + 6514 + Disabled + + + Halt + Disabled + + 636 + + + + Enabled + + + + Enabled + Disabled + LDAPS + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + 0.0.0.0 + 25 + Disabled + + + + + STARTTLS + chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com + rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519 + curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521 + umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512 + Auto Attach + + Read Only + + + Disabled + Done + Yes + Auto Attach + + Read Only + + + Enabled + Done + Yes + Disabled + 0.0.0.0 + usb-p2p + 169.254.1.1 + fde1:53ba:e9a0:de11::1 + Enabled + 255.255.255.0 + Enabled + Dedicated + None + Enabled + 1000 + Full + 1500 + + Disabled + Disabled + 0 + 1 + Disabled + 5 + 30 + Disabled + Both + Disabled + Disabled + 0 + Off + + Enabled + Enabled + Enabled + Enabled + Enabled + EUI64 + + Disabled + 192.168.0.120 + 255.255.255.0 + 192.168.0.1 + 0.0.0.0 + 0.0.0.0 + Enabled + :: + :: + 64 + :: + :: + Enabled + + Enabled + + + Enabled + + + Enabled + + + Enabled + + + Enabled + + + Enabled + + + Enabled + + + Enabled + + Disabled + Disabled + + + + 16 + Disabled + Disabled + Disabled + 1 + 1 + 1 + + + + Enabled + Disabled + Circular + Disabled + 60 + Disabled + Disabled + + + + + Enabled + Enabled + Disabled + 480 + None + Disabled + Disabled + Enabled + Enabled + Disabled + Disabled + Enabled + Enabled + Enabled + Disabled + Disabled + Disabled + + 5901 + Disabled + 300 + Disabled + 2 + False + Enabled + By accessing this computer, you confirm that such access complies with your organization's security policy. + Disabled + 1 + 0 + Normal + Enabled + Enabled while server has default credential settings only + Enabled + + Disabled + Disabled + CIFS + + + + + + English + 0 + + + + Disabled + Enabled + Disabled + 3 + 5 + Yes + Enabled + Enabled + + + + + + + + + + + + + + + Disabled + Enabled + + Enabled + 1 day + Enabled + Enabled + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + 40 + + Disabled + 0 + IERRCriticalTrigger + Disabled + 60 + CPUCriticalTrigger, CPUWarnTrigger, TMPCpuCriticalTrigger, TMPCpuWarnTrigger + Disabled + 60 + FANCriticalTrigger, FANWarnTrigger + Disabled + 60 + + Disabled + 60 + + Disabled + 60 + + Disabled + 60 + + Disabled + 600 + + Disabled + 60 + MEMCriticalTrigger, MEMWarnTrigger + Disabled + 60 + + Disabled + 60 + + Disabled + 3600 + NVMeCriticalTrigger, NVMeWarnTrigger + Disabled + 60 + TMPCpuCriticalTrigger, TMPCpuWarnTrigger + Disabled + 0 + + Disabled + 60 + + Disabled + 60 + + Disabled + 60 + + Disabled + 60 + VLTCriticalTrigger + Disabled + 60 + + Disabled + 3600 + PDRCriticalTrigger, PDRWarnTrigger + Disabled + 60 + + Disabled + 60 + TMPCriticalTrigger, TMPWarnTrigger + Disabled + 60 + TMPDiskCriticalTrigger, TMPDiskWarnTrigger, TMPCriticalTrigger, TMPWarnTrigger + 15 + + + + + Enabled + Mixed + + + + + Enabled + Mixed + 10800 + Disabled + + Halt + 4 + 24 + Do not use the cached key + No Caching + Disabled + Enabled + Enabled + Disabled + DefaultIDEVID + Disabled + Enabled + Enabled + Allowlist + 1000:00A5:1028:2114,1000:00A5:1028:2115,1000:00A5:1028:2117,1000:00A5:1028:213A,1000:00A5:1028:213B,1000:00A5:1028:213C,1000:00A5:1028:213E,1000:00A5:1028:213F,1000:00A5:1028:2140,1000:00A5:1028:2141,1000:00A5:1028:2142,1000:00A5:1028:2209,1000:00A5:1028:220A,10DF:F400:10DF:F410,10DF:F400:10DF:F411,10DF:F400:10DF:F422 + + + + + Enabled + Mixed + + + + + Enabled + Mixed + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Service Tag + + Enabled + Watts + C + 0 + unhide + SEL + Full-Access + No-License-Msg + DIsabled + 30 + 30 + 10 + 10 + Minimum Power + 70 + Off + 255 + Disabled + Disabled + NO LIMIT + 55 + Default + 0 + 0 + + + + Disabled + + + + Disabled + + + + Disabled + + + + Disabled + + + + Disabled + + + + Disabled + + + + Disabled + + + + Disabled + 0 + 0 + 0 + + + + No + + + 0 + Months + 0 + 0 + + + + No + 0 + 0 + + 0 + + + + + + + 0 + + 0 + + Owned + + + No + + + No + Network + + + + + + 0 + Days + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 20 + 240 + 80 + Disabled + + PSU Redundant + 1000000 + 1000000 + 1000000 + Disabled + Disabled + Disabled + SelfPowered + + + + + + EIA_310 + + + 0 + Automatic + 0 + Automatic + 0 + Automatic + 0 + Automatic + 0 + Automatic + 0 + Automatic + 0 + Automatic + 0 + Automatic + 0 + Automatic + 0 + Automatic + 0 + Automatic + 0 + Automatic + 0 + Automatic + 0 + Automatic + 0 + Automatic + 0 + Automatic + 0 + Automatic + 0 + Automatic + None + Not Applicable + + 0 + Disabled + Disabled + 10 + Disabled + Disabled + 10 + 5 + None + No + 120 + GracefulRebootWithForcedShutdown + + + + Enabled + Apply Always + Match firmware of replaced part + + Off + + + False + Disabled + + + 80 + + + HTTP + On + + + + + + + + + + + + + + + + + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + No Action + + + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + + + Enabled + Enabled + + + + NotConfigured + Enabled + MaxDataRate + Disabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Disabled + RoundRobin + Enabled + Enabled + Disabled + Enabled + Disabled + Normal + Disabled + IssOp1 + Disabled + + Disabled + Auto + All + Enabled + Disabled + Auto + Enabled + Enabled + Disabled + Disabled + + AhciMode + Enabled + Disabled + + DellQualifiedDrives + Uefi + Enabled + + Disabled + Disabled + None + NIC.PxeDevice.1-2 + + + + Enabled + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + Enabled + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + 4C4C4544-0039-5810-8031-C2C04F4E3934 + + NIC.Integrated.1-1-1 + IPv4 + Disabled + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Disabled + Disabled + Con1Con2 + InfiniBand.Slot.31-1 + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 3260 + 0 + + None + OneWay + + + + + + + InfiniBand.Slot.31-1 + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 3260 + 0 + + None + OneWay + + + + + + + Disabled + Disabled + Disabled + Disabled + InfiniBand.Slot.31-1 + TCP + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 4420 + + 0 + Disabled + None + + InfiniBand.Slot.31-1 + TCP + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 4420 + + 0 + Disabled + None + + InfiniBand.Slot.31-1 + TCP + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 4420 + + 0 + Disabled + None + + InfiniBand.Slot.31-1 + TCP + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 4420 + + 0 + Disabled + None + + AllOn + On + Enabled + DisabledOs + Enabled + Roll2KCycles + Enabled + Disabled + Disabled + Enabled + PlatformDefault + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Auto + Auto + Auto + Auto + Auto + Auto + Auto + Auto + Auto + Auto + OnNoConRedir + Com1 + 115200 + Vt100Vt220 + Enabled + Custom + Disabled + MaxPerf + MaxPerf + Enabled + Disabled + Disabled + Disabled + Standard + 1x + MaxUFS + Enabled + MaxPower + Disabled + Disabled + Disabled + Balance + Disabled + + + + + + Disabled + + + Unlocked + On + Enabled + No + + Disabled + + + + + Disabled + Last + Immediate + 120 + Standard + Enabled + Disabled + Disabled + Disabled + Standard + DeployedMode + Disabled + Disabled + SHA256 + None + + + Disabled + OptimizerMode + Disabled + Enabled + MemoryTrainingFast + Disabled + Enabled + Disabled + PagingClosed + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + LOCAL + Disabled + + On + Disabled + Disabled + Enabled + Disabled + NIC.PxeDevice.1-1 + + + + + + + \ No newline at end of file diff --git a/data/repository/xml/PO-20251216-0065_TY11A_60EA.xml b/data/repository/xml/PO-20251216-0065_TY11A_60EA.xml new file mode 100644 index 0000000..b06124c --- /dev/null +++ b/data/repository/xml/PO-20251216-0065_TY11A_60EA.xml @@ -0,0 +1,3911 @@ + + + + + + + + + + + + + Clear + Not Applicable + Disabled + Capable + No + + + No + Non-RAID + + + + + + 15 + Enabled + + NONE + 4 + NONE + Disabled + + Disabled + 8 + NoRetry + Disabled + Disabled + Disabled + Disabled + Disabled + + + + + + + + + + + + + + + 15 + Enabled + + NONE + 4 + NONE + Disabled + + Disabled + 8 + NoRetry + Disabled + Disabled + Disabled + Disabled + Disabled + + + + + + + + + + + + + + + 0 + + Disabled + Enabled + Disabled + Enabled + Disabled + NONE + 0 + PXE + + + Disabled + Auto + + + 0 + + Disabled + Enabled + Disabled + Enabled + Disabled + NONE + PXE + + + Disabled + Auto + + + 0 + + Disabled + NONE + PXE + Disabled + + + Enabled + + + + 0 + + Disabled + NONE + PXE + Disabled + + + Enabled + + + + + Enabled + Administrator + 0000000000000000000000000000000000000000 + public + Disabled + root + calvin + 511 + Administrator + Administrator + Enabled + Enabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + Enabled + 0.0.0.0 + + Disabled + + + Disabled + + + Disabled + + + Disabled + + + Enabled + 22 + 1800 + + False + Enabled + 80 + 443 + 1800 + Enabled + Enabled + 128-Bit or higher + TLS 1.1 and Higher + Auto + + + Disabled + Enabled + + Disabled +Enabled + Enabled + Enabled + 6 + 25513 + 1800 + Deny Access + Auto-attach + Disabled + Disabled + Disabled + Disabled + Enabled + Enabled + 60 + Enabled + ^\ + Enabled + 115200 + Administrator + 10 + 255 + Enabled + public + SNMPv1 + All + 161 + 162 + + support@dell.com + AutoAttach + Disabled + Disabled + Disabled + Enabled + Enabled + Disabled + 192.168.1.1 + 255.255.255.0 + Enabled + 3 + 60 + 60 + Disabled + 192.168.1.1 + 255.255.255.0 + Disabled + 192.168.1.1 + 255.255.255.0 + Disabled + 192.168.1.1 + 255.255.255.0 + Disabled + 192.168.1.1 + 255.255.255.0 + Disabled + Disabled + 0 + 0 + Asia/Seoul + + + + + + US + + 2048 + + Disabled + Disabled + 0 + Disabled + No Protection + + Disabled + Enabled + + + 120 + Standard Schema + ad.o.nfra.io + + + ad.o.nfra.io + + + Disabled + Disabled + Disabled + + + Enabled + LDAPS + Disabled + Disabled + SE_Admin + nhncorp.nhncorp.local + 511 + IDC_Admin + nhncorp.nhncorp.local + 499 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + nhncorp.nhncorp.local + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Disabled + Disabled + Disabled + Disabled + Enabled + 514 + syslog.o.nfra.io + + + Disabled + 5 + Disabled + Anonymous + + 6514 + Disabled + + 636 + + + + Enabled + + + + Enabled + Disabled + LDAPS + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + 0.0.0.0 + 25 + Disabled + + + + + STARTTLS + chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com + rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519 + curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521 + umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512 + Auto Attach + + Read Only + + + Disabled + Done + Yes + Auto Attach + + Read Only + + + Enabled + Done + Yes + Disabled + 0.0.0.0 + usb-p2p + 169.254.1.1 + fde1:53ba:e9a0:de11::1 + Enabled + 255.255.255.0 + Enabled + Dedicated + None + Enabled + 1000 + Full + 1500 + + Disabled + Disabled + 0 + 1 + Disabled + 5 + 30 + Disabled + Both + Disabled + Disabled + 0 + + Enabled + Enabled + Enabled + Enabled + Enabled + EUI64 + + Disabled + 192.168.0.120 + 255.255.255.0 + 192.168.0.1 + 0.0.0.0 + 0.0.0.0 + Enabled + :: + :: + 64 + :: + :: + Enabled + + Disabled + + + Disabled + + + Disabled + + + Disabled + + + Disabled + + + Disabled + + + Disabled + + + Disabled + + Disabled + Disabled + + + + 16 + Disabled + Disabled + Disabled + 1 + 1 + 1 + + + + Enabled + Disabled + Circular + Disabled + 60 + Disabled + Disabled + + + + + Enabled + Enabled + Disabled + 480 + None + Disabled + Disabled + Enabled + Enabled + Disabled + Disabled + Enabled + Enabled + Enabled + Disabled + Disabled + Disabled + + 5901 + Disabled + 300 + Disabled + 2 + False + Enabled + By accessing this computer, you confirm that such access complies with your organization's security policy. + Disabled + 1 + 0 + Normal + Enabled + Enabled while server has default credential settings only + Enabled + + Disabled + CIFS + + + + + + English + 0 + + + + Enabled + Enabled + Disabled + 3 + 5 + Yes + Enabled + Enabled + + + + + + + + + + + + + + + Disabled + Enabled + + Enabled + 1 day + Enabled + Enabled + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + 40 + + Disabled + 0 + IERRCriticalTrigger + Disabled + 60 + CPUCriticalTrigger, CPUWarnTrigger, TMPCpuCriticalTrigger, TMPCpuWarnTrigger + Disabled + 60 + FANCriticalTrigger, FANWarnTrigger + Disabled + 60 + + Disabled + 60 + + Disabled + 60 + + Disabled + 60 + + Disabled + 600 + + Disabled + 60 + MEMCriticalTrigger, MEMWarnTrigger + Disabled + 60 + + Disabled + 60 + + Disabled + 3600 + NVMeCriticalTrigger, NVMeWarnTrigger + Disabled + 60 + TMPCpuCriticalTrigger, TMPCpuWarnTrigger + Disabled + 0 + + Disabled + 60 + + Disabled + 60 + + Disabled + 60 + + Disabled + 60 + VLTCriticalTrigger + Disabled + 60 + + Disabled + 3600 + PDRCriticalTrigger, PDRWarnTrigger + Disabled + 60 + + Disabled + 60 + TMPCriticalTrigger, TMPWarnTrigger + Disabled + 60 + TMPDiskCriticalTrigger, TMPDiskWarnTrigger, TMPCriticalTrigger, TMPWarnTrigger + 15 + Disabled + + Halt + 4 + 24 + Do not use the cached key + No Caching + Disabled + Enabled + Enabled + Disabled + DefaultIDEVID + Disabled + Enabled + Enabled + Allowlist + 1000:00A5:1028:2114,1000:00A5:1028:2115,1000:00A5:1028:2117,1000:00A5:1028:213A,1000:00A5:1028:213B,1000:00A5:1028:213C,1000:00A5:1028:213E,1000:00A5:1028:213F,1000:00A5:1028:2140,1000:00A5:1028:2141,1000:00A5:1028:2142,1000:00A5:1028:2209,1000:00A5:1028:220A,10DF:F400:10DF:F410,10DF:F400:10DF:F411,10DF:F400:10DF:F422 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Service Tag + + Enabled + Watts + C + 0 + unhide + SEL + Full-Access + No-License-Msg + DIsabled + 30 + 30 + 10 + 10 + Minimum Power + Off + 255 + Disabled + Disabled + NO LIMIT + 55 + Default + 0 + 0 + + + + Disabled + + + + Disabled + + + + Disabled + + + + Disabled + + + + Disabled + + + + Disabled + + + + Disabled + + + + Disabled + 0 + 0 + 0 + + + + No + + + 0 + Months + 0 + 0 + + + + No + 0 + 0 + + 0 + + + + + + + 0 + + 0 + + Owned + + + No + + + No + Network + + + + + + 0 + Days + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Disabled + + A/B Grid Redundant + Disabled + Disabled + PSU1 + 1000000 + 1000000 + 1000000 + Disabled + Disabled + Disabled + SelfPowered + + + + + + EIA_310 + + + 0 + Automatic + 0 + Automatic + 0 + Automatic + None + Not Applicable + + 0 + Disabled + Disabled + 10 + Disabled + Disabled + 10 + 5 + 120 + GracefulRebootWithForcedShutdown + + + + Enabled + Apply Always + Match firmware of replaced part + + Off + + + False + Disabled + + + 80 + + + HTTP + On + + + + + + + + + + + + + + + + + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + No Action + + + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + + + Enabled + Enabled + + + + NotConfigured + Enabled + Enabled + + Disabled + Enabled + Enabled + Enabled + Enabled + Enabled + Linear + 1 + Disabled + Disabled + 800 + Maximum + Enabled + All + All + Disabled + + AhciMode + Enabled + Disabled + + DellQualifiedDrives + Uefi + Enabled + + Disabled + Disabled + None + NIC.PxeDevice.1-1,NIC.PxeDevice.2-1 + + + + Enabled + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + Enabled + Enabled + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + 4C4C4544-004E-3810-804B-C6C04F434834 + + NIC.Integrated.1-1-1 + IPv4 + Disabled + 1 + 0 + NIC.Integrated.1-2-1 + IPv4 + Disabled + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Disabled + Disabled + Con1Con2 + NIC.Integrated.1-1-1 + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 3260 + 0 + + None + OneWay + + + + + + + NIC.Integrated.1-1-1 + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 3260 + 0 + + None + OneWay + + + + + + + Disabled + Disabled + Disabled + Disabled + NIC.Integrated.1-1-1 + TCP + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 4420 + + 0 + Disabled + None + + NIC.Integrated.1-1-1 + TCP + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 4420 + + 0 + Disabled + None + + NIC.Integrated.1-1-1 + TCP + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 4420 + + 0 + Disabled + None + + NIC.Integrated.1-1-1 + TCP + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 4420 + + 0 + Disabled + None + + AllOn + On + Enabled + Enabled + DisabledOs + Enabled + Enabled + Disabled + Disabled + Enabled + 8TB + PlatformDefault + + + + Enabled + Enabled + Enabled + Auto + Auto + Auto + OnNoConRedir + Com1 + 115200 + Vt100Vt220 + Enabled + Custom + MaxPerf + MaxPerf + Enabled + Disabled + Standard + 1x + Disabled + Auto + PowerDeterminism + HighPerformanceMode + Auto + Disabled + Enabled + Enabled + Enabled + Enabled + BoostFMaxAuto + Disabled + Disabled + + + + + + Disabled + + + Unlocked + On + Enabled + No + + Disabled + Last + Immediate + 120 + Standard + Disabled + Disabled + Standard + DeployedMode + Disabled + Disabled + SHA256 + None + + + Disabled + Performance + Disabled + Enabled + Disabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + LOCAL + Disabled + + On + Disabled + Disabled + Enabled + Disabled + NIC.PxeDevice.1-1, NIC.PxeDevice.2-1 + + + + + + + \ No newline at end of file diff --git a/data/repository/xml/PO-20260102-0087_R760xd2_27EA.xml b/data/repository/xml/PO-20260102-0087_R760xd2_27EA.xml new file mode 100644 index 0000000..da65696 --- /dev/null +++ b/data/repository/xml/PO-20260102-0087_R760xd2_27EA.xml @@ -0,0 +1,4433 @@ + + + + + + + + 0 + + Disabled + NONE + PXE + Disabled + + + Enabled + + + + 0 + + Disabled + NONE + PXE + Disabled + + + Enabled + + + + 0 + + Disabled + NONE + PXE + Disabled + + + Enabled + + + + 0 + + Disabled + NONE + PXE + Disabled + + + Enabled + + + + + + + + + + True + Clear + False + None + Local Key Management and Secure Enterprise Key Manager Capable + Yes + + + + Automatic + Enabled + Automatic + Normal + On + Disabled + Disabled + 30 + 30 + 30 + 30 + + Create + Unlocked + True + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 20 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.20:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 13 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.13:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 16 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.16:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 19 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.19:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 21 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.21:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 14 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.14:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 18 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.18:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 17 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.17:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 12 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.12:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 23 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.23:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 15 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.15:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 22 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.22:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 6 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.6:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 4 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.4:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 3 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.3:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 8 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.8:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 11 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.11:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 1 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.1:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 10 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.10:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 9 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.9:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 7 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.7:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 2 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.2:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 0 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.0:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 5 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.5:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + False + + + True + Clear + Not Applicable + Disabled + Capable + No + + Create + Default + WriteThrough + NoReadAhead + naver + 0 + 256 + 1 + 2 + RAID 1 + Disk.Direct.0-0:BOSS.SL.14-1 + Disk.Direct.1-1:BOSS.SL.14-1 + + + No + Ready + False + + + No + Ready + False + + + + + Enabled + Administrator + 0000000000000000000000000000000000000000 + public + Disabled + root + calvin + 511 + Administrator + Administrator + Enabled + Enabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + Enabled + 0.0.0.0 + + Disabled + + + Disabled + + + Disabled + + + Disabled + + + Enabled + 22 + 1800 + + Done + Enabled + 80 + 443 + 1800 + Enabled + Enabled + 128-Bit or higher + TLS 1.1 and Higher + Auto + + + Disabled + Enabled + + Disabled + Enabled + Enabled + Enabled + 6 + 25513 + 1800 + Deny Access + Auto-attach + Disabled + Disabled + Disabled + Disabled + Enabled + Enabled + 60 + Enabled + ^\ + Enabled + 115200 + Administrator + 10 + 255 + Enabled + public + SNMPv1 + All + 161 + 162 + + support@dell.com + AutoAttach + Disabled + Disabled + Disabled + Enabled + Enabled + Disabled + 192.168.1.1 + 255.255.255.0 + Enabled + 3 + 60 + 60 + Disabled + 192.168.1.1 + 255.255.255.0 + Disabled + 192.168.1.1 + 255.255.255.0 + Disabled + 192.168.1.1 + 255.255.255.0 + Disabled + 192.168.1.1 + 255.255.255.0 + Disabled + Disabled + 0 + 0 + Asia/Seoul + + + + + + US + + 2048 + + Disabled + Disabled + 0 + Disabled + No Protection + + Disabled + Enabled + + + 120 + Standard Schema + ad.o.nfra.io + + + ad.o.nfra.io + + + Disabled + Disabled + Disabled + + + Enabled + LDAPS + Disabled + Disabled + SE_Admin + nhncorp.nhncorp.local + 511 + IDC_Admin + nhncorp.nhncorp.local + 499 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + nhncorp.nhncorp.local + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Disabled + Disabled + Disabled + Disabled + Enabled + 514 + syslog.o.nfra.io + + + Disabled + 5 + Disabled + Anonymous + + 6514 + Disabled + + 636 + + + + Enabled + + + + Enabled + Disabled + LDAPS + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + 0.0.0.0 + 25 + Disabled + + + + + STARTTLS + chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com + rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519 + curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521 + umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512 + Auto Attach + + Read Only + + + Disabled + Done + Yes + Auto Attach + + Read Only + + + Enabled + Done + Yes + Disabled + 0.0.0.0 + usb-p2p + 169.254.1.1 + fde1:53ba:e9a0:de11::1 + Enabled + 255.255.255.0 + Enabled + Dedicated + None + Enabled + 1000 + Full + 1500 + + Disabled + Disabled + 0 + 1 + Disabled + 5 + 30 + Disabled + Both + Disabled + Disabled + 0 + Off + + Enabled + Enabled + Enabled + Enabled + Enabled + EUI64 + + Disabled + 192.168.0.120 + 255.255.255.0 + 192.168.0.1 + 0.0.0.0 + 0.0.0.0 + Enabled + :: + :: + 64 + :: + :: + Enabled + + Disabled + + + Disabled + + + Disabled + + + Disabled + + + Disabled + + + Disabled + + + Disabled + + + Disabled + + Disabled + Disabled + + + + 16 + Disabled + Disabled + Disabled + 1 + 1 + 1 + + + + Enabled + Disabled + Circular + Disabled + 60 + Disabled + Disabled + + + + + Enabled + Enabled + Disabled + 480 + None + Disabled + Disabled + Enabled + Enabled + Disabled + Disabled + Enabled + Enabled + Enabled + Disabled + Disabled + Disabled + + 5901 + Disabled + 300 + Disabled + 2 + False + Enabled + By accessing this computer, you confirm that such access complies with your organization's security policy. + Disabled + 1 + 0 + Normal + Enabled + Enabled while server has default credential settings only + Enabled + + Disabled + CIFS + + + + + + English + 0 + + + + Enabled + Enabled + Disabled + 3 + 5 + Yes + Enabled + Enabled + + + + + + + + + + + + + + + Disabled + Enabled + + Enabled + 1 day + Enabled + Enabled + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + 40 + + Disabled + 0 + IERRCriticalTrigger + Disabled + 60 + CPUCriticalTrigger, CPUWarnTrigger, TMPCpuCriticalTrigger, TMPCpuWarnTrigger + Disabled + 60 + FANCriticalTrigger, FANWarnTrigger + Disabled + 60 + + Disabled + 60 + + Disabled + 60 + + Disabled + 60 + + Disabled + 600 + + Disabled + 60 + MEMCriticalTrigger, MEMWarnTrigger + Disabled + 60 + + Disabled + 60 + + Disabled + 3600 + NVMeCriticalTrigger, NVMeWarnTrigger + Disabled + 60 + TMPCpuCriticalTrigger, TMPCpuWarnTrigger + Disabled + 0 + + Disabled + 60 + + Disabled + 60 + + Disabled + 60 + + Disabled + 60 + VLTCriticalTrigger + Disabled + 60 + + Disabled + 3600 + PDRCriticalTrigger, PDRWarnTrigger + Disabled + 60 + + Disabled + 60 + TMPCriticalTrigger, TMPWarnTrigger + Disabled + 60 + TMPDiskCriticalTrigger, TMPDiskWarnTrigger, TMPCriticalTrigger, TMPWarnTrigger + 15 + Disabled + + Halt + 4 + 24 + Do not use the cached key + No Caching + Disabled + Enabled + Enabled + Disabled + DefaultIDEVID + Disabled + Enabled + Enabled + Allowlist + 1000:00A5:1028:2114,1000:00A5:1028:2115,1000:00A5:1028:2117,1000:00A5:1028:213A,1000:00A5:1028:213B,1000:00A5:1028:213C,1000:00A5:1028:213E,1000:00A5:1028:213F,1000:00A5:1028:2140,1000:00A5:1028:2141,1000:00A5:1028:2142,1000:00A5:1028:2209,1000:00A5:1028:220A,10DF:F400:10DF:F410,10DF:F400:10DF:F411,10DF:F400:10DF:F422 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Service Tag + + Enabled + Watts + C + 0 + unhide + SEL + Full-Access + No-License-Msg + DIsabled + 30 + 30 + 10 + 10 + Minimum Power + Off + 255 + Disabled + Disabled + NO LIMIT + 55 + Default + 0 + 0 + + + + Disabled + + + + Disabled + + + + Disabled + + + + Disabled + + + + Disabled + + + + Disabled + + + + Disabled + + + + Disabled + 0 + 0 + 0 + + + + No + + + 0 + Months + 0 + 0 + + + + No + 0 + 0 + + 0 + + + + + + + 0 + + 0 + + Owned + + + No + + + No + Network + + + + + + 0 + Days + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Disabled + + A/B Grid Redundant + Disabled + PSU1 + 1000000 + 1000000 + 1000000 + Disabled + Disabled + Disabled + SelfPowered + FALSE + + + + + + EIA_310 + + + 0 + Automatic + 0 + Automatic + 0 + Automatic + None + Not Applicable + + 0 + 120 + GracefulRebootWithForcedShutdown + + + + Enabled + Apply Always + Match firmware of replaced part + + Off + + + False + Disabled + + + 80 + + + HTTP + On + + + + + + + + + + + + + + + + + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + No Action + + + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + + + + Enabled + Enabled + + + + NotConfigured + Enabled + Disabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Disabled + RoundRobin + Enabled + Enabled + Enabled + Disabled + Normal + Disabled + + Disabled + Auto + All + Enabled + Disabled + Auto + Enabled + Disabled + Disabled + + AhciMode + Enabled + Disabled + + + + + + + + + + DellQualifiedDrives + Uefi + Enabled + + Disabled + Disabled + None + NIC.PxeDevice.1-1,NIC.PxeDevice.2-1 + + + + Enabled + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + Enabled + Enabled + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + 4C4C4544-004B-5210-8035-C4C04F5A4634 + + NIC.Integrated.1-1-1 + IPv4 + Disabled + 1 + 0 + NIC.Integrated.1-2-1 + IPv4 + Disabled + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Disabled + Disabled + Con1Con2 + NIC.Integrated.1-1-1 + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 3260 + 0 + + None + OneWay + + + + + + + NIC.Integrated.1-1-1 + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 3260 + 0 + + None + OneWay + + + + + + + Disabled + Disabled + Disabled + Disabled + NIC.Integrated.1-1-1 + TCP + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 4420 + + 0 + Disabled + None + + NIC.Integrated.1-1-1 + TCP + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 4420 + + 0 + Disabled + None + + NIC.Integrated.1-1-1 + TCP + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 4420 + + 0 + Disabled + None + + NIC.Integrated.1-1-1 + TCP + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 4420 + + 0 + Disabled + None + + AllOn + On + Enabled + DisabledOs + Enabled + Roll2KCycles + Disabled + Disabled + Disabled + Enabled + PlatformDefault + + + + Enabled + Enabled + Enabled + Auto + Auto + Auto + OnNoConRedir + Com1 + 115200 + Vt100Vt220 + Enabled + Custom + MaxPerf + MaxPerf + Enabled + Disabled + Disabled + Disabled + Standard + 1x + MaxUFS + Enabled + MaxPower + Disabled + Disabled + Disabled + Balance + Disabled + + + + + + Disabled + + + Unlocked + On + Enabled + No + + Disabled + + + + + Enabled + Last + Immediate + 120 + Standard + Enabled + Disabled + Disabled + Standard + DeployedMode + Disabled + Disabled + SHA256 + None + + + Disabled + + MemoryTrainingFast + Disabled + Enabled + Disabled + PagingClosed + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + LOCAL + Disabled + + On + Disabled + Disabled + Enabled + Disabled + NIC.PxeDevice.1-1, NIC.PxeDevice.2-1 + + + + + + + diff --git a/data/repository/xml/PO-20260112-0006_R760xd2_세종.xml b/data/repository/xml/PO-20260112-0006_R760xd2_세종.xml new file mode 100644 index 0000000..0dad741 --- /dev/null +++ b/data/repository/xml/PO-20260112-0006_R760xd2_세종.xml @@ -0,0 +1,4461 @@ + + + + + + + + + + + + + True + Clear + False + None + Local Key Management and Secure Enterprise Key Manager Capable + Yes + + + + Automatic + Enabled + Automatic + Normal + On + Disabled + Disabled + 30 + 30 + 30 + 30 + + Create + Unlocked + True + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 20 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.20:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 23 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.23:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 14 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.14:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 12 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.12:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 19 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.19:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 22 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.22:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 13 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.13:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 17 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.17:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 21 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.21:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 18 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.18:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 16 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.16:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 15 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.15:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 1 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.1:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 5 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.5:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 2 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.2:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 0 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.0:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 3 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.3:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 9 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.9:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 4 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.4:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 6 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.6:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 10 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.10:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 7 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.7:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 8 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.8:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + Create + Unlocked + False + True + None + Default + WriteThrough + NoReadAhead + NonRAID Disk 11 + 0 + 512 + 1 + 1 + RAID 0 + Disk.Bay.11:Enclosure.Internal.0-3:RAID.Slot.5-1 + + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + No + Ready + False + + + False + + + True + Clear + Not Applicable + Disabled + Capable + No + + Create + Default + WriteThrough + NoReadAhead + naver + 0 + 256 + 1 + 2 + RAID 1 + Disk.Direct.0-0:BOSS.SL.14-1 + Disk.Direct.1-1:BOSS.SL.14-1 + + + No + Ready + False + + + No + Ready + False + + + + + 0 + + Disabled + Enabled + Disabled + Enabled + Disabled + NONE + NONE + + + Disabled + Auto + + + 0 + + Disabled + Enabled + Disabled + Enabled + Disabled + NONE + 0 + PXE + + + Enabled + Auto + + + 0 + + Disabled + Enabled + Disabled + Enabled + Disabled + NONE + PXE + Disabled + + + Enabled + Auto + + + 0 + + Disabled + Enabled + Disabled + Enabled + Disabled + NONE + 0 + PXE + Disabled + + + Enabled + Auto + + + + Enabled + Administrator + 0000000000000000000000000000000000000000 + public + Disabled + root + calvin + 511 + Administrator + Administrator + Enabled + Enabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + + + 0 + No Access + No Access + Disabled + Disabled + Disabled + SHA + AES + + + + + Disabled + Disabled + + Disabled + + Disabled + + + Disabled + 0 + Enabled + 0.0.0.0 + + Disabled + + + Disabled + + + Disabled + + + Disabled + + + Enabled + 22 + 1800 + + False + Enabled + 80 + 443 + 1800 + Enabled + Enabled + 128-Bit or higher + TLS 1.2 and Higher + Auto + + + Disabled + Enabled + + Disabled +Enabled + Enabled + Enabled + 6 + 25513 + 1800 + Deny Access + Auto-attach + Disabled + Disabled + Disabled + Disabled + Enabled + Enabled + 60 + Enabled + ^\ + Enabled + 115200 + Administrator + 10 + 255 + Enabled + public + SNMPv1 + All + 161 + 162 + + support@dell.com + AutoAttach + Disabled + Disabled + Disabled + Enabled + Enabled + Disabled + 192.168.1.1 + 255.255.255.0 + Enabled + 3 + 60 + 60 + Disabled + 192.168.1.1 + 255.255.255.0 + Disabled + 192.168.1.1 + 255.255.255.0 + Disabled + 192.168.1.1 + 255.255.255.0 + Disabled + 192.168.1.1 + 255.255.255.0 + Disabled + Disabled + 0 + 0 + Asia/Seoul + + + + + + US + + 2048 + + Disabled + Disabled + 0 + Disabled + No Protection + + Disabled + Enabled + + + 120 + Extended Schema + fdff:ffff:2:1::1002 + + + fdff:ffff:2:1::1002 + + + Disabled + Disabled + Disabled + + + Enabled + LDAPS + Disabled + Disabled + SE_Admin + navdc.com + 511 + IDC_Admin + navdc.com + 499 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + navdc.com + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Disabled + Disabled + Disabled + Disabled + Enabled + 514 + fdff:ffff:1:3::1001 + fdff:ffff:2:1::1001 + + Disabled + 5 + Disabled + Anonymous + + 6514 + Disabled + + 636 + + + + Enabled + + + + Enabled + Disabled + LDAPS + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + + 0 + 0.0.0.0 + 25 + Disabled + + + + + STARTTLS + chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com + rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519 + curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521 + umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512 + Auto Attach + + Read Only + + + Enabled + Done + Yes + Auto Attach + + Read Only + + + Enabled + Done + Yes + Disabled + 0.0.0.0 + usb-p2p + 169.254.1.1 + fde1:53ba:e9a0:de11::1 + Enabled + 255.255.255.0 + Enabled + Dedicated + None + Enabled + 1000 + Full + 1500 + + Disabled + Disabled + 0 + 1 + Disabled + 5 + 30 + Disabled + Both + Disabled + Disabled + 0 + Off + + Enabled + Enabled + Enabled + Enabled + Enabled + EUI64 + + Enabled + 192.168.0.120 + 255.255.255.0 + 192.168.0.1 + 0.0.0.0 + 0.0.0.0 + Enabled + :: + :: + 64 + :: + :: + Enabled + + Disabled + + + Disabled + + + Disabled + + + Disabled + + + Disabled + + + Disabled + + + Disabled + + + Disabled + + Disabled + Disabled + + + + 16 + Disabled + Disabled + Disabled + 1 + 1 + 1 + + + + Enabled + Disabled + Circular + Disabled + 60 + Disabled + Disabled + + + + + Enabled + Enabled + Disabled + 480 + None + Disabled + Disabled + Enabled + Enabled + Disabled + Disabled + Enabled + Enabled + Enabled + Disabled + Disabled + Disabled + + 5901 + Disabled + 300 + Disabled + 2 + False + Enabled + By accessing this computer, you confirm that such access complies with your organization's security policy. + Disabled + 1 + 0 + Normal + Enabled + Enabled while server has default credential settings only + Enabled + + Disabled + CIFS + + + + + + English + 0 + + + + Enabled + Enabled + Disabled + 3 + 5 + Yes + Enabled + Enabled + + + + + + + + + + + + + + + Disabled + Enabled + + Enabled + 1 day + Enabled + Enabled + Enabled + Disabled + Disabled + Disabled + Disabled + Disabled + 40 + + Disabled + 0 + IERRCriticalTrigger + Disabled + 60 + CPUCriticalTrigger, CPUWarnTrigger, TMPCpuCriticalTrigger, TMPCpuWarnTrigger + Disabled + 60 + FANCriticalTrigger, FANWarnTrigger + Disabled + 60 + + Disabled + 60 + + Disabled + 60 + + Disabled + 60 + + Disabled + 600 + + Disabled + 60 + MEMCriticalTrigger, MEMWarnTrigger + Disabled + 60 + + Disabled + 60 + + Disabled + 3600 + NVMeCriticalTrigger, NVMeWarnTrigger + Disabled + 60 + TMPCpuCriticalTrigger, TMPCpuWarnTrigger + Disabled + 0 + + Disabled + 60 + + Disabled + 60 + + Disabled + 60 + + Disabled + 60 + VLTCriticalTrigger + Disabled + 60 + + Disabled + 3600 + PDRCriticalTrigger, PDRWarnTrigger + Disabled + 60 + + Disabled + 60 + TMPCriticalTrigger, TMPWarnTrigger + Disabled + 60 + TMPDiskCriticalTrigger, TMPDiskWarnTrigger, TMPCriticalTrigger, TMPWarnTrigger + 15 + Disabled + + Halt + 4 + 24 + Do not use the cached key + No Caching + Disabled + Enabled + Enabled + Disabled + DefaultIDEVID + Disabled + Enabled + Enabled + Allowlist + 1000:00A5:1028:2114,1000:00A5:1028:2115,1000:00A5:1028:2117,1000:00A5:1028:213A,1000:00A5:1028:213B,1000:00A5:1028:213C,1000:00A5:1028:213E,1000:00A5:1028:213F,1000:00A5:1028:2140,1000:00A5:1028:2141,1000:00A5:1028:2142,1000:00A5:1028:2209,1000:00A5:1028:220A,10DF:F400:10DF:F410,10DF:F400:10DF:F411,10DF:F400:10DF:F422 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Service Tag + + Enabled + Watts + C + 0 + unhide + SEL + Full-Access + No-License-Msg + DIsabled + 30 + 30 + 10 + 10 + Minimum Power + Off + 255 + Disabled + Disabled + NO LIMIT + 55 + Default + 0 + 0 + + + + Disabled + + + + Disabled + + + + Disabled + + + + Disabled + + + + Disabled + + + + Disabled + + + + Disabled + + + + Disabled + 0 + 0 + 0 + + + + No + + + 0 + Months + 0 + 0 + + + + No + 0 + 0 + + 0 + + + + + + + 0 + + 0 + + Owned + + + No + + + No + Network + + + + + + 0 + Days + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Disabled + + A/B Grid Redundant + Disabled + PSU1 + 1000000 + 1000000 + 1000000 + Disabled + Disabled + Disabled + SelfPowered + + + + + + EIA_310 + + + 0 + Automatic + 0 + Automatic + 0 + Automatic + 0 + Automatic + 0 + Automatic + None + Not Applicable + + 0 + 120 + GracefulRebootWithForcedShutdown + + + + Enabled + Apply Always + Match firmware of replaced part + + Off + + + False + Disabled + + + 80 + + + HTTP + On + + + + + + + + + + + + + + + + + + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Enabled + No Action + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Enabled + No Action + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Disabled + No Action + + Disabled + Disabled + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Disabled + No Action + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Disabled + No Action + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Disabled + Disabled + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Disabled + No Action + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Enabled + No Action + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Enabled + No Action + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Enabled + No Action + + Disabled + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Enabled + No Action + + Disabled + Disabled + Enabled + Disabled + Disabled + Enabled + Enabled + No Action + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Enabled + + Enabled + Enabled + Disabled + Disabled + Disabled + Disabled + + Enabled + Enabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + Disabled + + Disabled + Disabled + + Enabled + Enabled + Disabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + + Disabled + Disabled + + Disabled + Enabled + Disabled + Disabled + Disabled + Disabled + Disabled + No Action + + Disabled + Enabled + Disabled + Disabled + Disabled + Disabled + Disabled + No Action + + Disabled + Enabled + Disabled + Disabled + Disabled + Disabled + Disabled + PowerOff + + Disabled + Enabled + Disabled + Disabled + Disabled + Disabled + Disabled + PowerOff + + Disabled + Enabled + Disabled + Disabled + Disabled + Disabled + Disabled + No Action + + Disabled + Enabled + Disabled + Disabled + Disabled + Disabled + Disabled + No Action + + Disabled + Enabled + Disabled + Disabled + Disabled + Disabled + Disabled + No Action + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Enabled + Enabled + Disabled + Enabled + Enabled + Enabled + Enabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Enabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Enabled + + Enabled + Enabled + Disabled + Disabled + Disabled + Disabled + + Enabled + Enabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Enabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Enabled + No Action + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Enabled + No Action + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Enabled + No Action + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Enabled + No Action + + Enabled + Enabled + Disabled + Enabled + Enabled + Enabled + Enabled + No Action + + Enabled + Enabled + Disabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Disabled + Enabled + Enabled + Enabled + Enabled + No Action + + Disabled + Enabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Enabled + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Enabled + No Action + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Disabled + No Action + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Enabled + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Disabled + No Action + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Disabled + No Action + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Disabled + No Action + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Disabled + No Action + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Disabled + No Action + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + No Action + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + No Action + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + No Action + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Disabled + No Action + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Enabled + Enabled + Enabled + Disabled + Disabled + Enabled + Enabled + No Action + + Disabled + Disabled + Enabled + Disabled + Disabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Disabled + Enabled + Enabled + + Disabled + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + PowerOff + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Disabled + Disabled + + Disabled + Enabled + Disabled + Disabled + Disabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Enabled + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Enabled + No Action + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Enabled + No Action + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Enabled + + Disabled + Disabled + Disabled + Enabled + + Disabled + Disabled + Disabled + Enabled + + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Disabled + No Action + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Disabled + No Action + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Disabled + No Action + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Enabled + No Action + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Enabled + No Action + + Disabled + Disabled + Enabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Disabled + Disabled + + Enabled + Enabled + Disabled + Enabled + Enabled + + + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Disabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Enabled + + Disabled + Disabled + Disabled + Disabled + Enabled + Enabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Enabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + + Enabled + Enabled + Enabled + Disabled + Enabled + Disabled + + Enabled + Enabled + Enabled + Disabled + Enabled + Disabled + + Enabled + Enabled + Enabled + Disabled + Enabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Disabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Enabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Enabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Enabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Enabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Enabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + + Disabled + Disabled + Enabled + + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + Enabled + Disabled + Enabled + + Disabled + Enabled + + Disabled + Disabled + + Disabled + Enabled + + Disabled + Disabled + + Disabled + Disabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + No Action + + Disabled + Disabled + Disabled + Disabled + No Action + + + + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Enabled + Disabled + Disabled + Disabled + + Enabled + Disabled + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Disabled + Enabled + Disabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Disabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Disabled + Disabled + Enabled + Disabled + Enabled + + Disabled + Disabled + Enabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Enabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + Disabled + + Disabled + Disabled + Enabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Enabled + Disabled + Disabled + + Enabled + Disabled + Disabled + + Disabled + Disabled + + Enabled + Enabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Disabled + Disabled + Disabled + Disabled + Enabled + + Disabled + Disabled + + Disabled + Disabled + + + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + Enabled + Disabled + + Enabled + Disabled + Disabled + Disabled + + Disabled + Disabled + + Enabled + Disabled + Disabled + Disabled + + Disabled + Enabled + + Disabled + Disabled + + Disabled + Disabled + + Enabled + Enabled + Disabled + Disabled + Disabled + Disabled + + Enabled + Enabled + Enabled + Disabled + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + Disabled + + Disabled + Enabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + Enabled + Enabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + No Action + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + No Action + + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + Enabled + No Action + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + Enabled + No Action + + Disabled + Disabled + + Disabled + Enabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + + Disabled + Enabled + Disabled + Enabled + Disabled + Disabled + + Disabled + Disabled + Enabled + + Disabled + Disabled + + Enabled + Disabled + Disabled + Enabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Enabled + Enabled + Enabled + + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + Disabled + Disabled + + + + Disabled + Disabled + + + + NotConfigured + Enabled + MaxDataRate + Disabled + + Enabled + Enabled + Enabled + Enabled + Enabled + Disabled + RoundRobin + Enabled + Enabled + Enabled + Enabled + Disabled + Normal + Disabled + + Disabled + Auto + All + Enabled + Disabled + Auto + Enabled + Disabled + Disabled + + AhciMode + Enabled + Disabled + + + + + + + + + + DellQualifiedDrives + Uefi + Enabled + + Disabled + Disabled + None + NIC.PxeDevice.1-1,NIC.PxeDevice.2-1 + + + + Enabled + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + Enabled + Enabled + Disabled + Disabled + Disabled + Disabled + Disabled + Disabled + + Disabled + Disabled + 4C4C4544-004B-5210-8035-C4C04F5A4634 + + NIC.Integrated.1-1-1 + IPv4 + Disabled + 1 + 0 + NIC.Integrated.1-2-1 + IPv4 + Disabled + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Disabled + Disabled + Con1Con2 + NIC.Integrated.1-1-1 + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 3260 + 0 + + None + OneWay + + + + + + + NIC.Integrated.1-1-1 + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 3260 + 0 + + None + OneWay + + + + + + + Disabled + Disabled + Disabled + Disabled + NIC.Integrated.1-1-1 + TCP + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 4420 + + 0 + Disabled + None + + NIC.Integrated.1-1-1 + TCP + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 4420 + + 0 + Disabled + None + + NIC.Integrated.1-1-1 + TCP + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 4420 + + 0 + Disabled + None + + NIC.Integrated.1-1-1 + TCP + IPv4 + Disabled + 1 + 0 + 3 + 10000 + Disabled + + + + Disabled + + + 4420 + + 0 + Disabled + None + + AllOn + On + Enabled + DisabledOs + Enabled + Roll2KCycles + Disabled + Disabled + Disabled + Enabled + PlatformDefault + + + + + + Enabled + Enabled + Enabled + Enabled + Enabled + Auto + Auto + Auto + Auto + Auto + OnNoConRedir + Com1 + 115200 + Vt100Vt220 + Enabled + Custom + Disabled + MaxPerf + MaxPerf + Enabled + Disabled + Disabled + Disabled + Standard + 1x + MaxUFS + Enabled + MaxPower + Disabled + Disabled + Disabled + Balance + Disabled + + + + + + Disabled + + + Unlocked + On + Enabled + No + + Disabled + + + + + Disabled + Last + Immediate + 120 + Standard + Enabled + Disabled + Disabled + Standard + DeployedMode + Disabled + Disabled + SHA256 + None + + + Disabled + Disabled + MemoryTrainingFast + Disabled + Enabled + Disabled + PagingClosed + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + Enabled + LOCAL + Disabled + + On + Disabled + Disabled + Enabled + Disabled + NIC.PxeDevice.1-1, NIC.PxeDevice.2-1 + + + + + + + \ No newline at end of file diff --git a/data/xml/R650_TY1.xml b/data/repository/xml/R650_TY1.xml similarity index 100% rename from data/xml/R650_TY1.xml rename to data/repository/xml/R650_TY1.xml diff --git a/data/xml/R6615.xml b/data/repository/xml/R6615.xml similarity index 100% rename from data/xml/R6615.xml rename to data/repository/xml/R6615.xml diff --git a/data/xml/R6615_raid.xml b/data/repository/xml/R6615_raid.xml similarity index 100% rename from data/xml/R6615_raid.xml rename to data/repository/xml/R6615_raid.xml diff --git a/data/xml/R6625_RAID.xml b/data/repository/xml/R6625_RAID.xml similarity index 100% rename from data/xml/R6625_RAID.xml rename to data/repository/xml/R6625_RAID.xml diff --git a/data/xml/R750_33EAT4.xml b/data/repository/xml/R750_33EAT4.xml similarity index 100% rename from data/xml/R750_33EAT4.xml rename to data/repository/xml/R750_33EAT4.xml diff --git a/data/xml/Sejong_LDAP.xml b/data/repository/xml/Sejong_LDAP.xml similarity index 100% rename from data/xml/Sejong_LDAP.xml rename to data/repository/xml/Sejong_LDAP.xml diff --git a/data/xml/T11_R660.xml b/data/repository/xml/T11_R660.xml similarity index 100% rename from data/xml/T11_R660.xml rename to data/repository/xml/T11_R660.xml diff --git a/data/xml/T6_R760_RAID_A.xml b/data/repository/xml/T6_R760_RAID_A.xml similarity index 100% rename from data/xml/T6_R760_RAID_A.xml rename to data/repository/xml/T6_R760_RAID_A.xml diff --git a/data/xml/T6_R760_XML_P.xml b/data/repository/xml/T6_R760_XML_P.xml similarity index 100% rename from data/xml/T6_R760_XML_P.xml rename to data/repository/xml/T6_R760_XML_P.xml diff --git a/data/xml/T6_R760_XML_S.xml b/data/repository/xml/T6_R760_XML_S.xml similarity index 100% rename from data/xml/T6_R760_XML_S.xml rename to data/repository/xml/T6_R760_XML_S.xml diff --git a/data/xml/T8A_R6625_P.xml b/data/repository/xml/T8A_R6625_P.xml similarity index 100% rename from data/xml/T8A_R6625_P.xml rename to data/repository/xml/T8A_R6625_P.xml diff --git a/data/xml/T8A_R6625_P_NoRaid.xml b/data/repository/xml/T8A_R6625_P_NoRaid.xml similarity index 100% rename from data/xml/T8A_R6625_P_NoRaid.xml rename to data/repository/xml/T8A_R6625_P_NoRaid.xml diff --git a/data/xml/T8A_R6625_P_test.xml b/data/repository/xml/T8A_R6625_P_test.xml similarity index 100% rename from data/xml/T8A_R6625_P_test.xml rename to data/repository/xml/T8A_R6625_P_test.xml diff --git a/data/xml/T8A_R6625_RAID_A.xml b/data/repository/xml/T8A_R6625_RAID_A.xml similarity index 100% rename from data/xml/T8A_R6625_RAID_A.xml rename to data/repository/xml/T8A_R6625_RAID_A.xml diff --git a/data/xml/T8A_R6625_S.xml b/data/repository/xml/T8A_R6625_S.xml similarity index 100% rename from data/xml/T8A_R6625_S.xml rename to data/repository/xml/T8A_R6625_S.xml diff --git a/data/xml/XE9680_50EA_REAL.xml b/data/repository/xml/XE9680_50EA_REAL.xml similarity index 100% rename from data/xml/XE9680_50EA_REAL.xml rename to data/repository/xml/XE9680_50EA_REAL.xml diff --git a/data/xml/XE9680_gasan2.xml b/data/repository/xml/XE9680_gasan2.xml similarity index 100% rename from data/xml/XE9680_gasan2.xml rename to data/repository/xml/XE9680_gasan2.xml diff --git a/data/scripts/.env b/data/scripts/.env index a10c288..1ca579c 100644 --- a/data/scripts/.env +++ b/data/scripts/.env @@ -2,5 +2,5 @@ #IDRAC_PASS=tksoWkd12# IDRAC_USER=root IDRAC_PASS=calvin -OME_USER=OME -OME_PASS=epF!@34 +OME_USER=khsky84 +OME_PASS=Zes9ro12#$ diff --git a/data/scripts/01-settings.py b/data/scripts/01-settings.py index 18f5ecd..f04bde9 100644 --- a/data/scripts/01-settings.py +++ b/data/scripts/01-settings.py @@ -26,7 +26,9 @@ def validate_ip_file(ip_file_path): return ip_file_path # 정보 저장 디렉터리 설정 -OUTPUT_DIR = "idrac_info" +BASE_DIR = os.path.dirname(os.path.abspath(__file__)) +# data/scripts/ -> data/temp/staging +OUTPUT_DIR = os.path.join(BASE_DIR, "..", "temp", "staging") os.makedirs(OUTPUT_DIR, exist_ok=True) # iDRAC 정보를 가져오는 함수 정의 diff --git a/data/scripts/03-tsr_log.py b/data/scripts/03-tsr_log.py deleted file mode 100644 index 5607686..0000000 --- a/data/scripts/03-tsr_log.py +++ /dev/null @@ -1,60 +0,0 @@ -import os -import subprocess -import time -from dotenv import load_dotenv -import sys -from multiprocessing import Pool -import logging - -# Configure logging -logging.basicConfig( - level=logging.INFO, - format='%(asctime)s [INFO] root: %(message)s', - datefmt='%Y-%m-%d %H:%M:%S' -) - -# 환경 변수 로드 -load_dotenv() # .env 파일에서 환경 변수 로드 - -# 사용자 이름 및 비밀번호 설정 -IDRAC_USER, IDRAC_PASS = os.getenv("IDRAC_USER"), os.getenv("IDRAC_PASS") - -# IP 주소 파일 로드 함수 -def load_ip_file(ip_file_path): - if not os.path.isfile(ip_file_path): - logging.error(f"IP file {ip_file_path} does not exist.") - sys.exit(1) - with open(ip_file_path, "r") as file: - return [line.strip() for line in file if line.strip()] - -# iDRAC 정보를 가져오는 함수 정의 -def fetch_idrac_info(idrac_ip): - logging.info(f"Collecting TSR report for iDRAC IP: {idrac_ip}") - try: - result = subprocess.run( - ["racadm", "-r", idrac_ip, "-u", IDRAC_USER, "-p", IDRAC_PASS, "techsupreport", "collect"], - capture_output=True, - text=True - ) - if result.returncode == 0: - logging.info(f"Successfully collected TSR report for {idrac_ip}") - else: - logging.error(f"Failed to collect TSR report for {idrac_ip}: {result.stderr.strip()}") - - except Exception as e: - logging.error(f"Exception occurred for {idrac_ip}: {e}") - -# 메인 함수 -if __name__ == "__main__": - if len(sys.argv) < 2: - sys.exit("Usage: python script.py ") - - ip_list = load_ip_file(sys.argv[1]) - start_time = time.time() - - # 병렬로 iDRAC 정보를 가져오는 작업 수행 (최대 10개 동시 처리) - with Pool() as pool: - pool.map(fetch_idrac_info, ip_list) - - elapsed_time = time.time() - start_time - logging.info(f"설정 완료. 수집 완료 시간: {int(elapsed_time // 3600)} 시간, {int((elapsed_time % 3600) // 60)} 분, {int(elapsed_time % 60)} 초.") \ No newline at end of file diff --git a/data/scripts/04-tsr_save.py b/data/scripts/04-tsr_save.py deleted file mode 100644 index 10bf36b..0000000 --- a/data/scripts/04-tsr_save.py +++ /dev/null @@ -1,63 +0,0 @@ -import os -import subprocess -from dotenv import load_dotenv -import sys -from multiprocessing import Pool -import logging - -# Configure logging -logging.basicConfig( - level=logging.INFO, - format='%(asctime)s [INFO] root: %(message)s', - datefmt='%Y-%m-%d %H:%M:%S' -) - -# 환경 변수 로드 -load_dotenv() # .env 파일에서 환경 변수 로드 - -# 사용자 이름 및 비밀번호 설정 -IDRAC_USER = os.getenv("IDRAC_USER") -IDRAC_PASS = os.getenv("IDRAC_PASS") -OME_USER = os.getenv("OME_USER") -OME_PASS = os.getenv("OME_PASS") - -# IP 주소 파일 로드 및 유효성 검사 -def load_ip_file(ip_file_path): - if not os.path.isfile(ip_file_path): - logging.error(f"IP file {ip_file_path} does not exist.") - sys.exit(1) - with open(ip_file_path, "r") as file: - return [line.strip() for line in file if line.strip()] - -# iDRAC 정보를 가져오는 함수 -def fetch_idrac_info(idrac_ip): - logging.info(f"Collecting TSR report for iDRAC IP: {idrac_ip}") - try: - result = subprocess.run( - [ - "racadm", "-r", idrac_ip, "-u", IDRAC_USER, "-p", IDRAC_PASS, - "techsupreport", "export", "-l", "//10.10.3.251/share/", "-u", OME_USER, "-p", OME_PASS - ], - capture_output=True, - text=True - ) - if result.returncode == 0: - logging.info(f"Successfully collected TSR report for {idrac_ip}") - else: - logging.error(f"Failed to collect TSR report for {idrac_ip}: {result.stderr.strip()}") - - except Exception as e: - logging.error(f"Exception occurred for {idrac_ip}: {e}") - -# 메인 함수 -if __name__ == "__main__": - if len(sys.argv) < 2: - sys.exit("Usage: python script.py ") - - ip_list = load_ip_file(sys.argv[1]) - - # 병렬로 iDRAC 정보를 가져오는 작업 수행 - with Pool() as pool: - pool.map(fetch_idrac_info, ip_list) - - logging.info("설정 완료.") diff --git a/data/scripts/05-clrsel.py b/data/scripts/05-clrsel.py deleted file mode 100644 index 302b158..0000000 --- a/data/scripts/05-clrsel.py +++ /dev/null @@ -1,51 +0,0 @@ -import os -import subprocess -import time -from dotenv import load_dotenv -import sys -from multiprocessing import Pool - -# Load environment variables -load_dotenv() # Load variables from .env file - -# Credentials -IDRAC_USER, IDRAC_PASS = os.getenv("IDRAC_USER"), os.getenv("IDRAC_PASS") - -# Load IP addresses from file -def load_ip_file(ip_file_path): - if not os.path.isfile(ip_file_path): - sys.exit(f"IP file {ip_file_path} does not exist.") - with open(ip_file_path, "r") as file: - return [line.strip() for line in file if line.strip()] - -# Clear SEL log for given iDRAC IP -def clear_idrac_sel_log(idrac_ip): - print(f"Clearing SEL log for iDRAC IP: {idrac_ip}") - try: - result = subprocess.run( - ["racadm", "-r", idrac_ip, "-u", IDRAC_USER, "-p", IDRAC_PASS, "clrsel"], - capture_output=True, - text=True - ) - print( - f"Successfully cleared SEL log for {idrac_ip}" - if result.returncode == 0 - else f"Failed to clear SEL log for {idrac_ip}: {result.stderr.strip()}" - ) - except Exception as e: - print(f"Exception occurred for {idrac_ip}: {e}") - -# Main function -if __name__ == "__main__": - if len(sys.argv) < 2: - sys.exit("Usage: python script.py ") - - ip_list = load_ip_file(sys.argv[1]) - start_time = time.time() - - # Execute in parallel using Pool (max 10 simultaneous processes) - with Pool(processes=10) as pool: - pool.map(clear_idrac_sel_log, ip_list) - - elapsed_time = time.time() - start_time - print(f"Log clear 완료. 완료 시간: {int(elapsed_time // 3600)} 시간, {int((elapsed_time % 3600) // 60)} 분, {int(elapsed_time % 60)} 초.") \ No newline at end of file diff --git a/data/scripts/06-PowerON.py b/data/scripts/06-PowerON.py deleted file mode 100644 index 9da663c..0000000 --- a/data/scripts/06-PowerON.py +++ /dev/null @@ -1,60 +0,0 @@ -import os -import subprocess -import time -from dotenv import load_dotenv -import sys -from multiprocessing import Pool -import logging - -# Configure logging -logging.basicConfig( - level=logging.INFO, - format='%(asctime)s [INFO] root: %(message)s', - datefmt='%Y-%m-%d %H:%M:%S' -) - -# Load environment variables -load_dotenv() # Load variables from .env file - -# Credentials -IDRAC_USER, IDRAC_PASS = os.getenv("IDRAC_USER"), os.getenv("IDRAC_PASS") - -# Load IP addresses from file -def load_ip_file(ip_file_path): - if not os.path.isfile(ip_file_path): - logging.error(f"IP file {ip_file_path} does not exist.") - sys.exit(1) - with open(ip_file_path, "r") as file: - return [line.strip() for line in file if line.strip()] - -# Power on the server for given iDRAC IP -def poweron_idrac_server(idrac_ip): - logging.info(f"Powering on server for iDRAC IP: {idrac_ip}") - try: - result = subprocess.run( - ["racadm", "-r", idrac_ip, "-u", IDRAC_USER, "-p", IDRAC_PASS, "serveraction", "powerup"], - capture_output=True, - text=True - ) - if result.returncode == 0: - logging.info(f"Successfully powered on server for {idrac_ip}") - else: - logging.error(f"Failed to power on server for {idrac_ip}: {result.stderr.strip()}") - - except Exception as e: - logging.error(f"Exception occurred for {idrac_ip}: {e}") - -# Main function -if __name__ == "__main__": - if len(sys.argv) < 2: - sys.exit("Usage: python script.py ") - - ip_list = load_ip_file(sys.argv[1]) - start_time = time.time() - - # Execute in parallel using Pool (max 10 simultaneous processes) - with Pool() as pool: - pool.map(poweron_idrac_server, ip_list) - - elapsed_time = time.time() - start_time - logging.info(f"Server Power On 완료. 완료 시간: {int(elapsed_time // 3600)} 시간, {int((elapsed_time % 3600) // 60)} 분, {int(elapsed_time % 60)} 초.") \ No newline at end of file diff --git a/data/scripts/07-PowerOFF.py b/data/scripts/07-PowerOFF.py deleted file mode 100644 index 23e932c..0000000 --- a/data/scripts/07-PowerOFF.py +++ /dev/null @@ -1,60 +0,0 @@ -import os -import subprocess -import time -from dotenv import load_dotenv -import sys -from multiprocessing import Pool -import logging - -# Configure logging -logging.basicConfig( - level=logging.INFO, - format='%(asctime)s [INFO] root: %(message)s', - datefmt='%Y-%m-%d %H:%M:%S' -) - -# Load environment variables -load_dotenv() # Load variables from .env file - -# Credentials -IDRAC_USER, IDRAC_PASS = os.getenv("IDRAC_USER"), os.getenv("IDRAC_PASS") - -# Load IP addresses from file -def load_ip_file(ip_file_path): - if not os.path.isfile(ip_file_path): - logging.error(f"IP file {ip_file_path} does not exist.") - sys.exit(1) - with open(ip_file_path, "r") as file: - return [line.strip() for line in file if line.strip()] - -# Power off the server for given iDRAC IP -def poweroff_idrac_server(idrac_ip): - logging.info(f"Powering off server for iDRAC IP: {idrac_ip}") - try: - result = subprocess.run( - ["racadm", "-r", idrac_ip, "-u", IDRAC_USER, "-p", IDRAC_PASS, "serveraction", "powerdown"], - capture_output=True, - text=True - ) - if result.returncode == 0: - logging.info(f"Successfully powered off server for {idrac_ip}") - else: - logging.error(f"Failed to power off server for {idrac_ip}: {result.stderr.strip()}") - - except Exception as e: - logging.error(f"Exception occurred for {idrac_ip}: {e}") - -# Main function -if __name__ == "__main__": - if len(sys.argv) < 2: - sys.exit("Usage: python script.py ") - - ip_list = load_ip_file(sys.argv[1]) - start_time = time.time() - - # Execute in parallel using Pool (max 10 simultaneous processes) - with Pool() as pool: - pool.map(poweroff_idrac_server, ip_list) - - elapsed_time = time.time() - start_time - logging.info(f"Server Power Off 완료. 완료 시간: {int(elapsed_time // 3600)} 시간, {int((elapsed_time % 3600) // 60)} 분, {int(elapsed_time % 60)} 초.") \ No newline at end of file diff --git a/data/scripts/08-job_delete_all.py b/data/scripts/08-job_delete_all.py deleted file mode 100644 index 9a20c9e..0000000 --- a/data/scripts/08-job_delete_all.py +++ /dev/null @@ -1,60 +0,0 @@ -import os -import subprocess -import time -from dotenv import load_dotenv -import sys -from multiprocessing import Pool -import logging - -# Configure logging -logging.basicConfig( - level=logging.INFO, - format='%(asctime)s [INFO] root: %(message)s', - datefmt='%Y-%m-%d %H:%M:%S' -) - -# Load environment variables -load_dotenv() # Load variables from .env file - -# Credentials -IDRAC_USER, IDRAC_PASS = os.getenv("IDRAC_USER"), os.getenv("IDRAC_PASS") - -# Load IP addresses from file -def load_ip_file(ip_file_path): - if not os.path.isfile(ip_file_path): - logging.error(f"IP file {ip_file_path} does not exist.") - sys.exit(1) - with open(ip_file_path, "r") as file: - return [line.strip() for line in file if line.strip()] - -# Delete all jobs for given iDRAC IP -def delete_all_jobs(idrac_ip): - logging.info(f"Deleting all jobs for iDRAC IP: {idrac_ip}") - try: - result = subprocess.run( - ["racadm", "-r", idrac_ip, "-u", IDRAC_USER, "-p", IDRAC_PASS, "jobqueue", "delete", "-i", "ALL"], - capture_output=True, - text=True - ) - if result.returncode == 0: - logging.info(f"Successfully deleted all jobs for {idrac_ip}") - else: - logging.error(f"Failed to delete jobs for {idrac_ip}: {result.stderr.strip()}") - - except Exception as e: - logging.error(f"Exception occurred for {idrac_ip}: {e}") - -# Main function -if __name__ == "__main__": - if len(sys.argv) < 2: - sys.exit("Usage: python script.py ") - - ip_list = load_ip_file(sys.argv[1]) - start_time = time.time() - - # Execute in parallel using Pool (max 10 simultaneous processes) - with Pool() as pool: - pool.map(delete_all_jobs, ip_list) - - elapsed_time = time.time() - start_time - logging.info(f"Job delete 완료. 완료 시간: {int(elapsed_time // 3600)} 시간, {int((elapsed_time % 3600) // 60)} 분, {int(elapsed_time % 60)} 초.") \ No newline at end of file diff --git a/data/scripts/09-Log_Viewer.py b/data/scripts/09-Log_Viewer.py index 5d1cf4c..e3f1f85 100644 --- a/data/scripts/09-Log_Viewer.py +++ b/data/scripts/09-Log_Viewer.py @@ -27,7 +27,8 @@ def validate_ip_file(ip_file_path): return ip_file_path # 정보 저장 디렉터리 설정 -OUTPUT_DIR = "idrac_info" +BASE_DIR = os.path.dirname(os.path.abspath(__file__)) +OUTPUT_DIR = os.path.join(BASE_DIR, "..", "temp", "staging") os.makedirs(OUTPUT_DIR, exist_ok=True) # iDRAC 정보를 가져오는 함수 diff --git a/data/scripts/AMD_Server_Info.py b/data/scripts/AMD_Server_Info.py index a2deda8..a0ce3b9 100644 --- a/data/scripts/AMD_Server_Info.py +++ b/data/scripts/AMD_Server_Info.py @@ -28,7 +28,7 @@ def resolve_output_dir() -> Path: else: base = here.parent - out = base / "idrac_info" + out = base / "temp" / "staging" out.mkdir(parents=True, exist_ok=True) return out diff --git a/data/scripts/GPU_Serial_v1.py b/data/scripts/GPU_Serial_v1.py index cdd8c3d..28bf6b7 100644 --- a/data/scripts/GPU_Serial_v1.py +++ b/data/scripts/GPU_Serial_v1.py @@ -39,7 +39,7 @@ def resolve_output_dir() -> Path: else: base = here.parent - out = base / "idrac_info" + out = base / "temp" / "staging" out.mkdir(parents=True, exist_ok=True) return out diff --git a/data/scripts/Intel_Server_info.py b/data/scripts/Intel_Server_info.py index 3458ac3..a0a65b9 100644 --- a/data/scripts/Intel_Server_info.py +++ b/data/scripts/Intel_Server_info.py @@ -1,192 +1,21 @@ -import subprocess -import os -import re -import time +#!/usr/bin/env python3 +""" +레거시 호환성 래퍼 - Intel_Server_info.py +실제 로직은 unified/collect_server_info.py의 'intel_server' 프로파일 사용 +""" +import sys from pathlib import Path -import logging -# Configure logging -logging.basicConfig( - level=logging.INFO, - format='%(asctime)s [INFO] root: %(message)s', - datefmt='%Y-%m-%d %H:%M:%S' -) +script_dir = Path(__file__).parent +sys.path.insert(0, str(script_dir)) -# --- [설정] iDRAC 접속 정보 --- -IDRAC_USER = "root" -IDRAC_PASS = "calvin" - -def resolve_output_dir() -> Path: - """ - 사용자가 지정한 로직에 따라 저장 위치를 결정합니다. - 스크립트 위치가 /data/scripts/ 일 경우 /data/idrac_info/ 에 저장합니다. - """ - here = Path(__file__).resolve().parent - if here.name.lower() == "scripts" and here.parent.name.lower() == "data": - base = here.parent - elif here.name.lower() == "scripts": - base = here.parent - else: - base = here.parent - - out = base / "idrac_info" - out.mkdir(parents=True, exist_ok=True) - return out - -def run_racadm(ip: str, command: str) -> str: - """racadm 명령어를 실행하고 결과를 문자열로 반환합니다.""" - full_cmd = f"racadm -r {ip} -u {IDRAC_USER} -p {IDRAC_PASS} {command}" - try: - # 쉘 명령 실행 (stderr도 포함하여 수집) - result = subprocess.check_output(full_cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True) - return result - except subprocess.CalledProcessError as e: - # 통신 실패 시 빈 문자열 반환 - return "" - -def get_val(text: str, pattern: str) -> str: - """텍스트 내에서 특정 키워드를 찾아 해당 줄의 설정값(= 이후의 값)을 추출합니다.""" - for line in text.splitlines(): - if re.search(pattern, line, re.IGNORECASE): - parts = line.split('=') - if len(parts) >= 2: - return parts[1].strip() - return "N/A" - -def fetch_idrac_info(ip: str, output_dir: Path): - logging.info(f">>> {ip} 정보 수집 중...") - - # 1. 원시 데이터 벌크 수집 (네트워크 오버헤드 감소) - getsysinfo = run_racadm(ip, "getsysinfo") - hwinventory = run_racadm(ip, "hwinventory") - sys_profile = run_racadm(ip, "get bios.SysProfileSettings") - proc_settings = run_racadm(ip, "get bios.ProcSettings") - mem_settings = run_racadm(ip, "get bios.MemSettings") - storage_ctrl = run_racadm(ip, "get STORAGE.Controller.1") - - # 서비스 태그 추출 (파일명 결정용) - svc_tag = get_val(getsysinfo, "SVC Tag") - if svc_tag == "N/A": - logging.error(f"[경고] {ip} 접속 실패 혹은 SVC Tag 확인 불가. 건너뜁니다.") - return - - report_path = output_dir / f"{svc_tag}.txt" - - with open(report_path, "w", encoding="utf-8") as f: - # 헤더 기록 - f.write(f"Dell EMC Server Bios,iDRAC,R/C Setting (SVC Tag: {svc_tag})\n\n") - - # --- Section 1: Firmware Version 정보 --- - f.write("-" * 42 + " Firmware Version 정보 " + "-" * 42 + "\n") - f.write(f"1. SVC Tag : {svc_tag}\n") - f.write(f"2. Bios Firmware : {get_val(getsysinfo, 'System BIOS Version')}\n") - f.write(f"3. iDRAC Firmware Version : {get_val(getsysinfo, 'Firmware Version')}\n") - - nic1 = run_racadm(ip, "get NIC.FrmwImgMenu.1") - f.write(f"4. NIC Integrated Firmware Version : {get_val(nic1, '#FamilyVersion')}\n") - - nic5 = run_racadm(ip, "get NIC.FrmwImgMenu.5") - f.write(f"5. OnBoard NIC Firmware Version : {get_val(nic5, '#FamilyVersion')}\n") - f.write(f"6. Raid Controller Firmware Version : {get_val(hwinventory, 'ControllerFirmwareVersion')}\n\n") - - # --- Section 2: Bios 설정 정보 --- - f.write("-" * 45 + " Bios 설정 정보 " + "-" * 46 + "\n") - boot_settings = run_racadm(ip, "get bios.BiosBootSettings") - f.write(f"01. Bios Boot Mode : {get_val(boot_settings, 'BootMode')}\n") - f.write(f"02. System Profile : {get_val(sys_profile, 'SysProfile=')}\n") - f.write(f"03. CPU Power Management : {get_val(sys_profile, 'EnergyPerformanceBias')}\n") - f.write(f"04. Memory Frequency : {get_val(sys_profile, 'MemFrequency')}\n") - f.write(f"05. Turbo Boost : {get_val(sys_profile, 'ProcTurboMode')}\n") - f.write(f"06. C1E : {get_val(sys_profile, 'ProcC1E')}\n") - f.write(f"07. C-States : {get_val(sys_profile, 'ProcCStates')}\n") - f.write(f"08. Monitor/Mwait : {get_val(sys_profile, 'MonitorMwait')}\n") - f.write(f"09. Logical Processor : {get_val(proc_settings, 'LogicalProc')}\n") - f.write(f"10. Virtualization Technology : {get_val(proc_settings, 'ProcVirtualization')}\n") - f.write(f"11. LLC Prefetch : {get_val(proc_settings, 'LlcPrefetch')}\n") - f.write(f"12. x2APIC Mode : {get_val(proc_settings, 'ProcX2Apic')}\n") - f.write(f"13. Node Interleaving : {get_val(mem_settings, 'NodeInterleave')}\n") - f.write(f"14. DIMM Self Healing : {get_val(mem_settings, 'PPROnUCE')}\n") - f.write(f"15. Correctable Error Logging : {get_val(mem_settings, 'CECriticalSEL')}\n") - - thermal = run_racadm(ip, "get System.ThermalSettings") - f.write(f"16. Thermal Profile Optimization : {get_val(thermal, 'ThermalProfile')}\n") - - sriov = run_racadm(ip, "get Bios.IntegratedDevices") - f.write(f"17. SR-IOV Global Enable : {get_val(sriov, 'SriovGlobalEnable')}\n") - - misc = run_racadm(ip, "get bios.MiscSettings") - f.write(f"18. F1/F2 Prompt on Error : {get_val(misc, 'ErrPrompt')}\n\n") - - # --- Section 3: iDRAC 설정 정보 --- - f.write("-" * 45 + " iDRAC 설정 정보 " + "-" * 45 + "\n") - f.write(f"01. Timezone : {get_val(run_racadm(ip, 'get iDRAC.Time.Timezone'), 'Timezone')}\n") - f.write(f"02. IPMI LAN Selection : {get_val(run_racadm(ip, 'get iDRAC.CurrentNIC'), 'ActiveNIC')}\n") - f.write(f"03. IPMI IP(IPv4) DHCP : {get_val(run_racadm(ip, 'get iDRAC.CurrentIPv4'), 'DHCPEnable')}\n") - f.write(f"04. IPMI IP(IPv6) Enable : {get_val(run_racadm(ip, 'get iDRAC.CurrentIPv6'), 'Enable=')}\n") - f.write(f"05. Redfish Support : {get_val(run_racadm(ip, 'get iDRAC.Redfish.Enable'), 'Enable=')}\n") - f.write(f"06. SSH Support : {get_val(run_racadm(ip, 'get iDRAC.SSH'), 'Enable=')}\n") - f.write(f"07. AD User Domain Name : {get_val(run_racadm(ip, 'get iDRAC.USERDomain.1.Name'), 'Name')}\n") - f.write(f"08. SC Server Address : {get_val(run_racadm(ip, 'get iDRAC.ActiveDirectory.DomainController1'), 'DomainController1')}\n") - - # Syslog 관련 - f.write(f"15. Remote Log (syslog) : {get_val(run_racadm(ip, 'get iDRAC.SysLog.SysLogEnable'), 'SysLogEnable')}\n") - f.write(f"16. syslog server 1 : {get_val(run_racadm(ip, 'get iDRAC.SysLog.Server1'), 'Server1')}\n") - f.write(f"17. syslog server 2 : {get_val(run_racadm(ip, 'get iDRAC.SysLog.Server2'), 'Server2')}\n") - f.write(f"18. syslog server port : {get_val(run_racadm(ip, 'get iDRAC.SysLog.Port'), 'Port')}\n") - f.write(f"19. VirtualConsole Port : {get_val(run_racadm(ip, 'get iDRAC.VirtualConsole.Port'), 'Port')}\n\n") - - # --- Section 4: Raid 설정 정보 --- - f.write("-" * 45 + " Raid 설정 정보 " + "-" * 46 + "\n") - f.write(f"01. Raid ProductName : {get_val(hwinventory, 'ProductName = BOSS')}, {get_val(hwinventory, 'ProductName = PERC')}\n") - f.write(f"02. RAID Types : {get_val(hwinventory, 'RAIDTypes')}\n") - f.write(f"03. StripeSize : {get_val(hwinventory, 'StripeSize')}\n") - f.write(f"04. ReadCachePolicy : {get_val(hwinventory, 'ReadCachePolicy')}\n") - f.write(f"05. WriteCachePolicy : {get_val(hwinventory, 'WriteCachePolicy')}\n") - f.write(f"06. CheckConsistencyMode : {get_val(storage_ctrl, 'CheckConsistencyMode')}\n") - f.write(f"07. PatrolReadRate : {get_val(storage_ctrl, 'PatrolReadRate')}\n") - f.write(f"08. period : 168h\n") - f.write(f"09. Power Save : No\n") - f.write(f"10. JBODMODE : Controller does not support JBOD\n") - f.write(f"11. maxconcurrentpd : 240\n") - - logging.info(f" ㄴ 완료: {report_path.name}") - -def main(): - import sys - if len(sys.argv) < 2: - logging.error("Usage: python script.py ") - return - - ip_file = sys.argv[1] - if not os.path.exists(ip_file): - logging.error(f"파일을 찾을 수 없습니다: {ip_file}") - return - - # 저장 위치 결정 - output_dir = resolve_output_dir() - logging.info(f"[*] 결과 저장 폴더: {output_dir}") - - # 시간 측정 시작 - start_time = time.time() - - # IP 파일 읽기 - with open(ip_file, "r") as f: - ips = [line.strip() for line in f if line.strip()] - - # 순차적 정보 수집 - for ip in ips: - fetch_idrac_info(ip, output_dir) - - # 소요 시간 계산 - elapsed = time.time() - start_time - hours = int(elapsed // 3600) - minutes = int((elapsed % 3600) // 60) - seconds = int(elapsed % 60) - - logging.info("=" * 50) - logging.info(f"정보 수집 완료.") - logging.info(f"소요 시간: {hours}시간 {minutes}분 {seconds}초") - logging.info("=" * 50) +from unified.collect_server_info import main as unified_main if __name__ == "__main__": - main() + if len(sys.argv) < 2: + print("Usage: python Intel_Server_info.py ") + sys.exit(1) + + # intel_server 프로파일 사용 + sys.argv.append("intel_server") + unified_main() diff --git a/data/scripts/JP_54EA_MAC_info.py b/data/scripts/JP_54EA_MAC_info.py index a30dde1..df0d55b 100644 --- a/data/scripts/JP_54EA_MAC_info.py +++ b/data/scripts/JP_54EA_MAC_info.py @@ -19,7 +19,7 @@ logging.basicConfig( def resolve_output_dir() -> Path: here = Path(__file__).resolve().parent base = here.parent if here.name.lower() == "scripts" else here - out = base / "idrac_info" + out = base / "temp" / "staging" out.mkdir(parents=True, exist_ok=True) return out diff --git a/data/scripts/LOM.Enabled.sh b/data/scripts/LOM.Enabled.sh index 5f9766e..e644cbf 100644 --- a/data/scripts/LOM.Enabled.sh +++ b/data/scripts/LOM.Enabled.sh @@ -18,7 +18,7 @@ if [ ! -f "$IP_FILE" ]; then fi # 정보 저장 디렉터리 설정 -OUTPUT_DIR="idrac_info" +OUTPUT_DIR="$(dirname "$0")/../temp/staging" mkdir -p $OUTPUT_DIR # iDRAC 정보를 가져오는 함수 정의 diff --git a/data/scripts/LOM_Disabled.sh b/data/scripts/LOM_Disabled.sh index b80e417..0103f4f 100644 --- a/data/scripts/LOM_Disabled.sh +++ b/data/scripts/LOM_Disabled.sh @@ -18,7 +18,7 @@ if [ ! -f "$IP_FILE" ]; then fi # 정보 저장 디렉터리 설정 -OUTPUT_DIR="idrac_info" +OUTPUT_DIR="$(dirname "$0")/../temp/staging" mkdir -p $OUTPUT_DIR # iDRAC 정보를 가져오는 함수 정의 diff --git a/data/scripts/LinePLUS-MAC_info.sh b/data/scripts/LinePLUS-MAC_info.sh index 4b1b374..7600500 100644 --- a/data/scripts/LinePLUS-MAC_info.sh +++ b/data/scripts/LinePLUS-MAC_info.sh @@ -18,7 +18,7 @@ if [ ! -f "$IP_FILE" ]; then fi # 정보 저장 디렉터리 설정 -OUTPUT_DIR="idrac_info" +OUTPUT_DIR="$(dirname "$0")/../temp/staging" mkdir -p $OUTPUT_DIR # iDRAC 정보를 가져오는 함수 정의 diff --git a/data/scripts/MAC_info.py b/data/scripts/MAC_info.py index b565ba9..ad137c6 100644 --- a/data/scripts/MAC_info.py +++ b/data/scripts/MAC_info.py @@ -1,234 +1,26 @@ #!/usr/bin/env python3 -from __future__ import annotations - -import re -import subprocess +# -*- coding: utf-8 -*- +""" +레거시 호환성 래퍼 - MAC_info.py +실제 로직은 unified/collect_mac.py의 'default' 프로파일 사용 +""" +import sys from pathlib import Path -from typing import Optional, List -import logging -# Configure logging -logging.basicConfig( - level=logging.INFO, - format='%(asctime)s [INFO] root: %(message)s', - datefmt='%Y-%m-%d %H:%M:%S' -) +# unified 스크립트 경로 추가 +script_dir = Path(__file__).parent +sys.path.insert(0, str(script_dir)) -# ───────────────────────────────────────────────────────────── -# 출력 디렉토리 결정 -def resolve_output_dir() -> Path: - here = Path(__file__).resolve().parent - if here.name.lower() == "scripts" and here.parent.name.lower() == "data": - base = here.parent - else: - base = here.parent +# unified 스크립트 임포트 및 실행 +from unified.collect_mac import main as unified_main - out = base / "idrac_info" - out.mkdir(parents=True, exist_ok=True) - return out - - -# ───────────────────────────────────────────────────────────── -# iDRAC 계정 -IDRAC_USER = "root" -IDRAC_PASS = "calvin" - - -def run(cmd: list[str]) -> str: - """racadm 명령 실행 (stdout만 반환)""" - try: - return subprocess.getoutput(" ".join(cmd)) - except Exception: - return "" - - -def parse_single_value(pattern: str, text: str) -> Optional[str]: - m = re.search(pattern, text, flags=re.IGNORECASE) - return m.group(1).strip() if m else None - - -# ───────────────────────────────────────────────────────────── -# NIC MAC 수집 (가변 포트 대응) -def extract_nic_macs(text: str, nic_type: str) -> List[str]: - """ - nic_type: - - 'Integrated' - - 'Embedded' - """ - pattern = re.compile( - rf"NIC\.{nic_type}\.\d+-\d+-\d+.*?([0-9A-Fa-f]{{2}}(?::[0-9A-Fa-f]{{2}}){{5}})", - re.IGNORECASE - ) - return sorted(set(m.group(1) for m in pattern.finditer(text))) - - -# ───────────────────────────────────────────────────────────── -# hwinventory 블록 기반 Manufacturer 추출 (DIMM) -def extract_memory_vendors(hwinventory: str) -> List[str]: - vendors = set() - blocks = re.split(r"\n\s*\n", hwinventory) - - for block in blocks: - if "[InstanceID: DIMM." in block: - m = re.search(r"Manufacturer\s*=\s*(.+)", block, re.IGNORECASE) - if m: - vendors.add(m.group(1).strip()) - - return sorted(vendors) - - -# ───────────────────────────────────────────────────────────── -# BOSS 디스크 Vendor 추출 -def extract_boss_vendors(hwinventory: str) -> List[str]: - vendors = set() - blocks = re.split(r"\n\s*\n", hwinventory) - - for block in blocks: - if "BOSS." in block: - m = re.search(r"Manufacturer\s*=\s*(.+)", block, re.IGNORECASE) - if m: - vendors.add(m.group(1).strip()) - - return sorted(vendors) - - -# ───────────────────────────────────────────────────────────── -# 일반 Disk Vendor (BOSS 제외) -DISK_PREFIXES = [ - "Disk.Bay.", - "Disk.M.2.", - "Disk.Direct.", - "Disk.Slot." -] - - -def extract_disk_vendors_excluding_boss(hwinventory: str) -> List[str]: - vendors = set() - blocks = re.split(r"\n\s*\n", hwinventory) - - for block in blocks: - if "BOSS." in block: - continue - - for prefix in DISK_PREFIXES: - if f"[InstanceID: {prefix}" in block: - m = re.search(r"Manufacturer\s*=\s*(.+)", block, re.IGNORECASE) - if m: - vendors.add(m.group(1).strip()) - - return sorted(vendors) - - -# ───────────────────────────────────────────────────────────── -def fetch_idrac_info_one(ip: str, output_dir: Path) -> None: - getsysinfo = run([ - "racadm", "-r", ip, - "-u", IDRAC_USER, - "-p", IDRAC_PASS, - "getsysinfo" - ]) - - hwinventory = run([ - "racadm", "-r", ip, - "-u", IDRAC_USER, - "-p", IDRAC_PASS, - "hwinventory" - ]) - - # ── Service Tag - svc_tag = parse_single_value(r"SVC\s*Tag\s*=\s*(\S+)", getsysinfo) - if not svc_tag: - logging.error(f"[ERROR] SVC Tag 수집 실패: {ip}") - return - - # ── iDRAC MAC - idrac_mac = parse_single_value( - r"MAC Address\s*=\s*([0-9A-Fa-f:]{17})", getsysinfo - ) - - # ── NIC MAC - integrated_macs = extract_nic_macs(getsysinfo, "Integrated") - embedded_macs = extract_nic_macs(getsysinfo, "Embedded") - - # ── Vendors - memory_vendors = extract_memory_vendors(hwinventory) - disk_vendors = extract_disk_vendors_excluding_boss(hwinventory) - boss_vendors = extract_boss_vendors(hwinventory) - - # ── 결과 파일 저장 - out_file = output_dir / f"{svc_tag}.txt" - with out_file.open("w", encoding="utf-8", newline="\n") as f: - f.write(f"{svc_tag}\n") - - for mac in integrated_macs: - f.write(f"{mac}\n") - - for mac in embedded_macs: - f.write(f"{mac}\n") - - f.write(f"{idrac_mac or ''}\n") - - # Memory Vendors - for v in memory_vendors: - f.write(f"{v}\n") - - # Disk Vendors (일반) - for v in disk_vendors: - f.write(f"{v}\n") - - # BOSS Vendors (있을 때만, 벤더명만) - for v in boss_vendors: - f.write(f"{v}\n") - - logging.info(f"[OK] {svc_tag} 수집 완료") - - -# ───────────────────────────────────────────────────────────── -def main(ip_file: str) -> None: - ip_path = Path(ip_file) - if not ip_path.is_file(): - logging.error(f"[ERROR] IP 파일 없음: {ip_file}") - return - - output_dir = resolve_output_dir() - - ips = [ - line.strip() - for line in ip_path.read_text(encoding="utf-8").splitlines() - if line.strip() - ] - - if not ips: - logging.error("[ERROR] IP 목록이 비어 있습니다.") - return - - for ip in ips: - try: - fetch_idrac_info_one(ip, output_dir) - except Exception as e: - logging.error(f"[ERROR] {ip} 처리 실패: {e}") - - # Bash 스크립트와 동일하게 입력 IP 파일 삭제 - try: - ip_path.unlink(missing_ok=True) - except Exception: - pass - - logging.info("정보 수집 완료.") - - -# ───────────────────────────────────────────────────────────── if __name__ == "__main__": - import sys - import time - - if len(sys.argv) != 2: - logging.error("Usage: python script.py ") + # 기존 인터페이스 유지: python MAC_info.py + # 내부적으로 unified 스크립트 호출 (default 프로파일 사용) + if len(sys.argv) < 2: + print("Usage: python MAC_info.py ") sys.exit(1) - - start = time.time() - main(sys.argv[1]) - elapsed = int(time.time() - start) - - h, m, s = elapsed // 3600, (elapsed % 3600) // 60, elapsed % 60 - logging.info(f"수집 완료 시간: {h} 시간, {m} 분, {s} 초.") + + # 프로파일 이름 추가 + sys.argv.append("default") + unified_main() diff --git a/data/scripts/PortGUID.py b/data/scripts/PortGUID.py index ba31833..acac035 100644 --- a/data/scripts/PortGUID.py +++ b/data/scripts/PortGUID.py @@ -1,135 +1,21 @@ -import os -import re -import subprocess -from dotenv import load_dotenv -from concurrent.futures import ThreadPoolExecutor, as_completed -import logging +#!/usr/bin/env python3 +""" +레거시 호환성 래퍼 - PortGUID.py +실제 로직은 unified/collect_guid.py의 'default' 프로파일 사용 +""" +import sys +from pathlib import Path -# Configure logging -logging.basicConfig( - level=logging.INFO, - format='%(asctime)s [INFO] root: %(message)s', - datefmt='%Y-%m-%d %H:%M:%S' -) +script_dir = Path(__file__).parent +sys.path.insert(0, str(script_dir)) -# .env 파일에서 사용자 이름 및 비밀번호 설정 -load_dotenv() -IDRAC_USER = os.getenv("IDRAC_USER") -IDRAC_PASS = os.getenv("IDRAC_PASS") - -def fetch_idrac_info(idrac_ip, output_dir): - try: - # 서비스 태그 가져오기 (get 제외) - cmd_getsysinfo = f"racadm -r {idrac_ip} -u {IDRAC_USER} -p {IDRAC_PASS} getsysinfo" - getsysinfo = subprocess.getoutput(cmd_getsysinfo) - svc_tag_match = re.search(r"SVC Tag\s*=\s*(\S+)", getsysinfo) - svc_tag = svc_tag_match.group(1) if svc_tag_match else None - - if not svc_tag: - logging.error(f"Failed to retrieve SVC Tag for IP: {idrac_ip}") - return - - # InfiniBand.VndrConfigPage 목록 가져오기 - cmd_list = f"racadm -r {idrac_ip} -u {IDRAC_USER} -p {IDRAC_PASS} get InfiniBand.VndrConfigPage" - output_list = subprocess.getoutput(cmd_list) - - # InfiniBand.VndrConfigPage.<숫자> 및 Key 값 추출 - matches = re.findall(r"InfiniBand\.VndrConfigPage\.(\d+)\s+\[Key=InfiniBand\.Slot\.(\d+)-\d+#VndrConfigPage]", output_list) - - # 결과를 저장할 파일 생성 - output_file = os.path.join(output_dir, f"{svc_tag}.txt") - os.makedirs(output_dir, exist_ok=True) - - with open(output_file, "w") as f: - # 서비스 태그 저장 - f.write(f"{svc_tag}\n") - - # 슬롯별 GUID를 딕셔너리로 수집 - slot_to_guid = {} - slots_found = [] - - # 각 InfiniBand.VndrConfigPage.<숫자> 처리 - for number, slot in matches: - cmd_detail = f"racadm -r {idrac_ip} -u {IDRAC_USER} -p {IDRAC_PASS} get InfiniBand.VndrConfigPage.{number}" - output_detail = subprocess.getoutput(cmd_detail) - - # PortGUID 값 추출 - match_guid = re.search(r"PortGUID=(\S+)", output_detail) - port_guid = match_guid.group(1) if match_guid else "Not Found" - - slot_to_guid[slot] = port_guid - slots_found.append(slot) - - # 환경변수에서 슬롯 우선순위 읽기 - slot_priority_str = os.getenv("GUID_SLOT_PRIORITY", "") - - if slot_priority_str: - # 사용자 지정 슬롯 우선순위 사용 - desired_order = [s.strip() for s in slot_priority_str.split(",") if s.strip()] - logging.info(f"사용자 지정 슬롯 우선순위 사용: {desired_order}") - else: - # 기본: 발견된 순서대로 - desired_order = slots_found - logging.info(f"기본 순서 사용 (발견된 순서): {desired_order}") - - # 지정된 순서대로 파일에 기록 + GUID 합치기 - hex_guid_list = [] - for slot in desired_order: - port_guid = slot_to_guid.get(slot, "Not Found") - # Slot.<숫자>: 형식으로 저장 - f.write(f"Slot.{slot}: {port_guid}\n") - - # PortGUID를 0x 형식으로 변환하여 리스트에 추가 - if port_guid != "Not Found": - hex_guid_list.append(f"0x{port_guid.replace(':', '').upper()}") - - # 모든 PortGUID를 "GUID: 0x;0x" 형식으로 저장 - if hex_guid_list: - f.write(f"GUID: {';'.join(hex_guid_list)}\n") - logging.info(f"GUID 합치기 완료: {len(hex_guid_list)}개 슬롯") - - logging.info(f"✅ Completed: {idrac_ip}") - - - except Exception as e: - logging.error(f"Error processing IP {idrac_ip}: {e}") - -def main(ip_file): - if not os.path.isfile(ip_file): - logging.error(f"IP file {ip_file} does not exist.") - return - - # Output directory resolution - # Try to find 'data/idrac_info' relative to this script - script_dir = os.path.dirname(os.path.abspath(__file__)) - # Assuming script is in data/scripts, parent is data - data_dir = os.path.dirname(script_dir) - output_dir = os.path.join(data_dir, "idrac_info") - - # Fallback to current directory if structure is different - if not os.path.basename(data_dir) == "data": - output_dir = os.path.join(os.getcwd(), "idrac_info") - - os.makedirs(output_dir, exist_ok=True) - logging.info(f"Output directory set to: {output_dir}") - - with open(ip_file, "r") as file: - ip_addresses = [line.strip() for line in file.readlines()] - - with ThreadPoolExecutor(max_workers=100) as executor: - future_to_ip = {executor.submit(fetch_idrac_info, ip, output_dir): ip for ip in ip_addresses} - - for future in as_completed(future_to_ip): - try: - future.result() - except Exception as e: - logging.error(f"Error processing task: {e}") +from unified.collect_guid import main as unified_main if __name__ == "__main__": - import sys - if len(sys.argv) != 2: - logging.error("Usage: python script.py ") + if len(sys.argv) < 2: + print("Usage: python PortGUID.py ") sys.exit(1) - - ip_file = sys.argv[1] - main(ip_file) + + # default 프로파일 사용 + sys.argv.append("default") + unified_main() diff --git a/data/scripts/PortGUID_v1.py b/data/scripts/PortGUID_v1.py index a2c9952..91e1f28 100644 --- a/data/scripts/PortGUID_v1.py +++ b/data/scripts/PortGUID_v1.py @@ -39,7 +39,7 @@ def resolve_output_dir() -> Path: else: base = here.parent - out = base / "idrac_info" + out = base / "temp" / "staging" out.mkdir(parents=True, exist_ok=True) return out diff --git a/data/scripts/SP_18EA_MAC_info.py b/data/scripts/SP_18EA_MAC_info.py index 4bc226f..8ebe3f1 100644 --- a/data/scripts/SP_18EA_MAC_info.py +++ b/data/scripts/SP_18EA_MAC_info.py @@ -19,7 +19,7 @@ logging.basicConfig( def resolve_output_dir() -> Path: here = Path(__file__).resolve().parent base = here.parent if here.name.lower() == "scripts" else here - out = base / "idrac_info" + out = base / "temp" / "staging" out.mkdir(parents=True, exist_ok=True) return out diff --git a/data/scripts/Systemerase.sh b/data/scripts/Systemerase.sh index e33c8f4..36154e3 100644 --- a/data/scripts/Systemerase.sh +++ b/data/scripts/Systemerase.sh @@ -18,7 +18,7 @@ if [ ! -f "$IP_FILE" ]; then fi # 정보 저장 디렉터리 설정 -OUTPUT_DIR="idrac_info" +OUTPUT_DIR="$(dirname "$0")/../temp/staging" mkdir -p $OUTPUT_DIR # iDRAC 정보를 가져오는 함수 정의 diff --git a/data/scripts/TYPE11_MAC_info.py b/data/scripts/TYPE11_MAC_info.py index 3fcb18b..9218116 100644 --- a/data/scripts/TYPE11_MAC_info.py +++ b/data/scripts/TYPE11_MAC_info.py @@ -26,7 +26,7 @@ def resolve_output_dir() -> Path: else: base = here.parent - out = base / "idrac_info" + out = base / "temp" / "staging" out.mkdir(parents=True, exist_ok=True) return out diff --git a/data/scripts/TYPE11_Server_info.py b/data/scripts/TYPE11_Server_info.py index 0e4ff6d..e085b09 100644 --- a/data/scripts/TYPE11_Server_info.py +++ b/data/scripts/TYPE11_Server_info.py @@ -27,7 +27,7 @@ def resolve_output_dir() -> Path: base = here / "data" else: base = here # 그래도 현재 기준으로 생성 - out = base / "idrac_info" + out = base / "temp" / "staging" out.mkdir(parents=True, exist_ok=True) return out diff --git a/data/scripts/TYPE6-MAC_info.sh b/data/scripts/TYPE6-MAC_info.sh index 4e0a94d..7640081 100644 --- a/data/scripts/TYPE6-MAC_info.sh +++ b/data/scripts/TYPE6-MAC_info.sh @@ -18,7 +18,7 @@ if [ ! -f "$IP_FILE" ]; then fi # 정보 저장 디렉터리 설정 -OUTPUT_DIR="idrac_info" +OUTPUT_DIR="$(dirname "$0")/../temp/staging" mkdir -p $OUTPUT_DIR # iDRAC 정보를 가져오는 함수 정의 diff --git a/data/scripts/TYPE6_Server_info.sh b/data/scripts/TYPE6_Server_info.sh index 8f404e8..6523f37 100644 --- a/data/scripts/TYPE6_Server_info.sh +++ b/data/scripts/TYPE6_Server_info.sh @@ -18,7 +18,7 @@ if [ ! -f "$IP_FILE" ]; then fi # 정보 저장 디렉터리 설정 -OUTPUT_DIR="idrac_info" +OUTPUT_DIR="$(dirname "$0")/../temp/staging" mkdir -p $OUTPUT_DIR # iDRAC 정보를 가져오는 함수 정의 diff --git a/data/scripts/TYPE8A-MAC_info.sh b/data/scripts/TYPE8A-MAC_info.sh index 4e0a94d..7640081 100644 --- a/data/scripts/TYPE8A-MAC_info.sh +++ b/data/scripts/TYPE8A-MAC_info.sh @@ -18,7 +18,7 @@ if [ ! -f "$IP_FILE" ]; then fi # 정보 저장 디렉터리 설정 -OUTPUT_DIR="idrac_info" +OUTPUT_DIR="$(dirname "$0")/../temp/staging" mkdir -p $OUTPUT_DIR # iDRAC 정보를 가져오는 함수 정의 diff --git a/data/scripts/XE9680_H100_IB_4EA_MAC_info.sh b/data/scripts/XE9680_H100_IB_4EA_MAC_info.sh index 763a1a1..bc86102 100644 --- a/data/scripts/XE9680_H100_IB_4EA_MAC_info.sh +++ b/data/scripts/XE9680_H100_IB_4EA_MAC_info.sh @@ -18,7 +18,7 @@ if [ ! -f "$IP_FILE" ]; then fi # 정보 저장 디렉터리 설정 -OUTPUT_DIR="idrac_info" +OUTPUT_DIR="$(dirname "$0")/../temp/staging" mkdir -p $OUTPUT_DIR # iDRAC 정보를 가져오는 함수 정의 diff --git a/data/scripts/XE9680_H200_IB_10EA_MAC_info.py b/data/scripts/XE9680_H200_IB_10EA_MAC_info.py index 2a9d64b..0a307a1 100644 --- a/data/scripts/XE9680_H200_IB_10EA_MAC_info.py +++ b/data/scripts/XE9680_H200_IB_10EA_MAC_info.py @@ -1,244 +1,22 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- - -import argparse -import concurrent.futures as futures -import os -import re -import subprocess +""" +레거시 호환성 래퍼 - XE9680_H200_IB_10EA_MAC_info.py +실제 로직은 unified/collect_mac.py의 'xe9680_h200_10ea' 프로파일 사용 +""" import sys -import time from pathlib import Path -from typing import Dict, Optional, Tuple, List -import logging -# Configure logging -logging.basicConfig( - level=logging.INFO, - format='%(asctime)s [INFO] root: %(message)s', - datefmt='%Y-%m-%d %H:%M:%S' -) +script_dir = Path(__file__).parent +sys.path.insert(0, str(script_dir)) -# ===== 설정: 기본 계정/비밀번호 (환경변수로 덮어쓰기 가능) ===== -IDRAC_USER = os.getenv("IDRAC_USER", "root") -IDRAC_PASS = os.getenv("IDRAC_PASS", "calvin") - -BASE_DIR = Path(__file__).resolve().parent.parent -OUTPUT_DIR = BASE_DIR / "idrac_info" -OUTPUT_DIR.mkdir(parents=True, exist_ok=True) - -MAC_RE = re.compile(r"([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}") - -# --- 유틸: 명령 실행 --- -def run(cmd: List[str]) -> Tuple[int, str]: - try: - p = subprocess.run(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, text=True, check=False) - return p.returncode, p.stdout or "" - except Exception as e: - return 1, f"__EXEC_ERROR__ {e}" - -# --- 파서: getsysinfo/swinventory/hwinventory 에서 필요한 값 추출 --- -def extract_first_mac(text: str) -> Optional[str]: - m = MAC_RE.search(text) - return m.group(0) if m else None - -def parse_svc_tag(getsysinfo: str) -> Optional[str]: - # 예: "SVC Tag = ABCDEF2" - m = re.search(r"SVC\s*Tag\s*=\s*([^\s]+)", getsysinfo) - return m.group(1).strip() if m else None - -def parse_specific_mac_in_getsysinfo(getsysinfo: str, key: str) -> Optional[str]: - """ - key 예시: - - "NIC.Integrated.1-1-1" - - "NIC.Embedded.1-1-1" - 해당 라인에서 MAC 패턴 추출 - """ - for line in getsysinfo.splitlines(): - if key in line: - mac = extract_first_mac(line) - if mac: - return mac - return None - -def parse_idrac_mac(getsysinfo: str) -> Optional[str]: - """ - 원본 스크립트는 "MAC Address = " 를 grep 했습니다. - 해당 라인(들) 중 첫 MAC을 사용합니다. - """ - lines = [ln for ln in getsysinfo.splitlines() if "MAC Address" in ln] - for ln in lines: - mac = extract_first_mac(ln) - if mac: - return mac - return None - -def parse_infiniband_slot_macs_from_swinventory(swinventory: str, slots: List[int]) -> Dict[int, Optional[str]]: - """ - bash의 awk 트릭(해당 FQDD의 이전 줄에서 MAC 추출)을 그대로 재현: - - swinventory 라인을 순회하면서 직전 라인을 prev로 저장 - - line이 'FQDD = InfiniBand.Slot.-1' 에 매치되면 prev에서 MAC 추출 - """ - want = {s: None for s in slots} - prev = "" - for line in swinventory.splitlines(): - m = re.search(r"FQDD\s*=\s*InfiniBand\.Slot\.(\d+)-1", line) - if m: - slot = int(m.group(1)) - if slot in want and want[slot] is None: - want[slot] = extract_first_mac(prev) # 이전 줄에서 MAC - prev = line - return want - -def parse_memory_vendor_initials(hwinventory: str) -> str: - """ - 원본: grep -A5 "DIMM" | grep "Manufacturer" | ... | sort | uniq | cut -c1 - - 간단화: DIMM 근처 5줄 윈도우에서 Manufacturer 라인 모으기 - - 제조사 첫 글자만 모아 중복 제거, 정렬 후 이어붙임 - """ - lines = hwinventory.splitlines() - idxs = [i for i, ln in enumerate(lines) if "DIMM" in ln] - vendors: List[str] = [] - for i in idxs: - window = lines[i : i + 6] # 본문 포함 6줄(= -A5) - for ln in window: - if "Manufacturer" in ln and "=" in ln: - v = ln.split("=", 1)[1].strip() - if v: - vendors.append(v) - initials = sorted({v[0] for v in vendors if v}) - return "".join(initials) - -def parse_ssd_manufacturers(hwinventory: str) -> str: - """ - 원본: grep -A3 "Disk.Bay" | grep "Manufacturer" | uniq - - "Disk.Bay" 라인부터 3줄 윈도우 내 Manufacturer 라인 추출, 고유값 join - """ - lines = hwinventory.splitlines() - vendors: List[str] = [] - for i, ln in enumerate(lines): - if "Disk.Bay" in ln: - window = lines[i : i + 4] - for w in window: - if "Manufacturer" in w and "=" in w: - v = w.split("=", 1)[1].strip() - if v: - vendors.append(v) - uniq = sorted({v for v in vendors}) - return ", ".join(uniq) - -# --- 단일 IP 처리 --- -def fetch_idrac_info_for_ip(ip: str) -> Tuple[str, bool, str]: - """ - returns: (ip, success, message) - success=True면 파일 저장 완료 - """ - ip = ip.strip() - if not ip: - return ip, False, "빈 라인" - - # racadm 호출 - base = ["racadm", "-r", ip, "-u", IDRAC_USER, "-p", IDRAC_PASS] - - rc1, getsysinfo = run(base + ["getsysinfo"]) - rc2, swinventory = run(base + ["swinventory"]) - rc3, hwinventory = run(base + ["hwinventory"]) - - if rc1 != 0 and rc2 != 0 and rc3 != 0: - return ip, False, f"모든 racadm 호출 실패:\n{getsysinfo or ''}\n{swinventory or ''}\n{hwinventory or ''}" - - svc_tag = parse_svc_tag(getsysinfo) if getsysinfo else None - if not svc_tag: - return ip, False, "서비스 태그(SVC Tag) 추출 실패" - - # 개별 필드 파싱 - integrated_1 = parse_specific_mac_in_getsysinfo(getsysinfo, "NIC.Integrated.1-1-1") if getsysinfo else None - integrated_2 = parse_specific_mac_in_getsysinfo(getsysinfo, "NIC.Integrated.1-2-1") if getsysinfo else None - integrated_3 = parse_specific_mac_in_getsysinfo(getsysinfo, "NIC.Integrated.1-3-1") if getsysinfo else None - integrated_4 = parse_specific_mac_in_getsysinfo(getsysinfo, "NIC.Integrated.1-4-1") if getsysinfo else None - - onboard_1 = parse_specific_mac_in_getsysinfo(getsysinfo, "NIC.Embedded.1-1-1") if getsysinfo else None - onboard_2 = parse_specific_mac_in_getsysinfo(getsysinfo, "NIC.Embedded.2-1-1") if getsysinfo else None - - idrac_mac = parse_idrac_mac(getsysinfo) if getsysinfo else None - - # InfiniBand.Slot.-1 MAC (이전 라인에서 MAC 추출) — 출력 순서 유지 - desired_slots = [38, 39, 37, 36, 32, 33, 34, 35, 31, 40] - slot_macs = parse_infiniband_slot_macs_from_swinventory(swinventory, desired_slots) if swinventory else {s: None for s in desired_slots} - - memory_initials = parse_memory_vendor_initials(hwinventory) if hwinventory else "" - ssd_vendors = parse_ssd_manufacturers(hwinventory) if hwinventory else "" - - # 저장 - out_path = OUTPUT_DIR / f"{svc_tag}.txt" - with out_path.open("w", encoding="utf-8") as f: - # 원본 스크립트와 동일한 출력 순서 - f.write(f"{svc_tag}\n") - f.write(f"{integrated_1 or ''}\n") - f.write(f"{integrated_2 or ''}\n") - f.write(f"{integrated_3 or ''}\n") - f.write(f"{integrated_4 or ''}\n") - f.write(f"{onboard_1 or ''}\n") - f.write(f"{onboard_2 or ''}\n") - # 슬롯 고정 순서 - for sl in desired_slots: - f.write(f"{slot_macs.get(sl) or ''}\n") - f.write(f"{idrac_mac or ''}\n") - f.write(f"{memory_initials}\n") - f.write(f"{ssd_vendors}\n") - - return ip, True, f"저장: {out_path}" - -# --- 메인 --- -def main(): - parser = argparse.ArgumentParser(description="iDRAC 정보 수집 (Python 포팅)") - parser.add_argument("ip_file", help="IP 주소 목록 파일 (줄 단위)") - parser.add_argument("--workers", type=int, default=20, help="병렬 스레드 수 (기본 20)") - args = parser.parse_args() - - ip_file = Path(args.ip_file) - if not ip_file.exists(): - logging.error(f"IP 파일이 존재하지 않습니다: {ip_file}") - sys.exit(1) - - with ip_file.open("r", encoding="utf-8") as f: - ips = [ln.strip() for ln in f if ln.strip()] - - if not ips: - logging.error("IP 목록이 비어 있습니다.") - sys.exit(1) - - logging.info(f"[시작] 총 {len(ips)}대, workers={args.workers}, IDRAC_USER={IDRAC_USER}") - - t0 = time.time() - ok = 0 - fail = 0 - - # 병렬 수집 - with futures.ThreadPoolExecutor(max_workers=args.workers) as ex: - futs = {ex.submit(fetch_idrac_info_for_ip, ip): ip for ip in ips} - for fut in futures.as_completed(futs): - ip = futs[fut] - try: - _ip, success, msg = fut.result() - prefix = "[OK] " if success else "[FAIL] " - if success: - logging.info(prefix + ip + " - " + msg) - else: - logging.error(prefix + ip + " - " + msg) - ok += int(success) - fail += int(not success) - except Exception as e: - logging.error(f"[EXC] {ip} - {e}") - fail += 1 - - dt = int(time.time() - t0) - h, r = divmod(dt, 3600) - m, s = divmod(r, 60) - - logging.info("\n정보 수집 완료.") - logging.info(f"성공 {ok}대 / 실패 {fail}대") - logging.info(f"수집 완료 시간: {h} 시간, {m} 분, {s} 초.") +from unified.collect_mac import main as unified_main if __name__ == "__main__": - main() \ No newline at end of file + if len(sys.argv) < 2: + print("Usage: python XE9680_H200_IB_10EA_MAC_info.py ") + sys.exit(1) + + # xe9680_h200_10ea 프로파일 사용 + sys.argv.append("xe9680_h200_10ea") + unified_main() \ No newline at end of file diff --git a/data/scripts/XE9680_H200_IB_10EA_MAC_info.sh b/data/scripts/XE9680_H200_IB_10EA_MAC_info.sh index f0dbe09..b0fbbfc 100644 --- a/data/scripts/XE9680_H200_IB_10EA_MAC_info.sh +++ b/data/scripts/XE9680_H200_IB_10EA_MAC_info.sh @@ -18,7 +18,7 @@ if [ ! -f "$IP_FILE" ]; then fi # 정보 저장 디렉터리 설정 -OUTPUT_DIR="idrac_info" +OUTPUT_DIR="$(dirname "$0")/../temp/staging" mkdir -p $OUTPUT_DIR # iDRAC 정보를 가져오는 함수 정의 diff --git a/data/scripts/collect_gpu.py b/data/scripts/collect_gpu.py new file mode 100644 index 0000000..9a17c96 --- /dev/null +++ b/data/scripts/collect_gpu.py @@ -0,0 +1,210 @@ +import os +import re +import sys +import yaml +import argparse +import subprocess +import logging +import fnmatch +from pathlib import Path +from concurrent.futures import ThreadPoolExecutor, as_completed +from dotenv import load_dotenv, find_dotenv + +# Configure logging +logging.basicConfig( + level=logging.INFO, + format='%(asctime)s [INFO] root: %(message)s', + datefmt='%Y-%m-%d %H:%M:%S' +) + +# .env 로드 +load_dotenv(find_dotenv()) + +IDRAC_USER = os.getenv("IDRAC_USER") +IDRAC_PASS = os.getenv("IDRAC_PASS") + +# 경로 설정 +BASE_DIR = Path(__file__).resolve().parent +PROFILES_FILE = BASE_DIR / "profiles" / "gpu_profiles.yaml" +OUTPUT_DIR = BASE_DIR.parent / "temp" / "staging" + +def load_profile(profile_name="default"): + """Load specific profile from gpu_profiles.yaml""" + if not PROFILES_FILE.exists(): + logging.warning(f"Profile file not found at {PROFILES_FILE}. Using defaults.") + return {} + + try: + with open(PROFILES_FILE, 'r', encoding='utf-8') as f: + data = yaml.safe_load(f) + profiles = data.get('profiles', {}) + return profiles.get(profile_name, {}) + except Exception as e: + logging.error(f"Error loading profile: {e}") + return {} + +def resolve_output_dir() -> Path: + OUTPUT_DIR.mkdir(parents=True, exist_ok=True) + return OUTPUT_DIR + +def parse_gpu_serials_from_hwinventory(hwinv_text: str, target_slots=None) -> dict: + """ + Parse GPU serials and filter based on target_slots patterns. + target_slots: list of glob patterns (e.g. ["Video.Slot.*"]) + """ + results = {} + blocks = re.split(r"\n\s*\n", hwinv_text, flags=re.MULTILINE) + + for block in blocks: + # Check if it looks like a Video/GPU block + if not re.search(r"\[?InstanceID:\s*Video\.Slot\.", block): + continue + + # Extract FQDD + fqdd = None + m_fqdd = re.search(r"^FQDD\s*=\s*([^\r\n]+)", block, flags=re.MULTILINE) + if m_fqdd: + fqdd = m_fqdd.group(1).strip() + else: + m_hdr = re.search(r"\[InstanceID:\s*(Video\.Slot\.[^\]\r\n]+)\]", block) + if m_hdr: + fqdd = m_hdr.group(1).strip() + + if not fqdd: + continue + + # Filtering logic + if target_slots: + matched = False + for pattern in target_slots: + # fnmatch supports simple unix shell style wildcards (*, ?, [], etc) + if fnmatch.fnmatch(fqdd, pattern): + matched = True + break + if not matched: + continue + + # Extract SerialNumber + m_sn = re.search(r"^SerialNumber\s*=\s*([^\r\n]+)", block, flags=re.MULTILINE) + serial = m_sn.group(1).strip() if m_sn else "Not Found" + + results[fqdd] = serial + + return results + +def get_slot_index(fqdd: str): + """ + Extract logic for sorting. + Format usually: Video.Slot.X-Y -> returns (X, Y) tuple + """ + m = re.search(r"Video\.Slot\.(\d+)-(\d+)", fqdd) + if m: + return (int(m.group(1)), int(m.group(2))) + m_simple = re.search(r"Video\.Slot\.(\d+)", fqdd) + if m_simple: + return (int(m_simple.group(1)), 0) + return (float('inf'), float('inf')) + +def fetch_idrac_info(idrac_ip: str, output_dir: Path, gpu_settings: dict) -> None: + try: + # 1. Get SVC Tag + cmd_getsysinfo = [ + "racadm", "-r", idrac_ip, "-u", IDRAC_USER or "", "-p", IDRAC_PASS or "", "getsysinfo" + ] + # execute without shell=True for security (if possible), but subprocess.getoutput uses shell + # Here we use subprocess.run for better control if needed, but sticking to logic similar to original for now + # Ideally: result = subprocess.run(cmd_getsysinfo, capture_output=True, text=True) + # But let's stick to getoutput wrapper logic or use run compatible way + + # Using subprocess.run is safer and modern + res_sys = subprocess.run(cmd_getsysinfo, capture_output=True, text=True, encoding='utf-8', errors='ignore') + getsysinfo = res_sys.stdout + + svc_tag_match = re.search(r"SVC Tag\s*=\s*(\S+)", getsysinfo) + svc_tag = svc_tag_match.group(1) if svc_tag_match else None + + if not svc_tag: + logging.error(f"Failed to retrieve SVC Tag for IP: {idrac_ip}") + return + + # 2. Get Hardware Inventory + cmd_hwinv = [ + "racadm", "-r", idrac_ip, "-u", IDRAC_USER or "", "-p", IDRAC_PASS or "", "hwinventory" + ] + res_inv = subprocess.run(cmd_hwinv, capture_output=True, text=True, encoding='utf-8', errors='ignore') + hwinv_text = res_inv.stdout + + # 3. Parse and Filter + target_slots = gpu_settings.get('target_slots', ["Video.Slot.*"]) + gpu_map = parse_gpu_serials_from_hwinventory(hwinv_text, target_slots) + + # 4. Sort + sort_order = gpu_settings.get('sort_order', 'slot_index') + + if sort_order == 'slot_index': + sorted_keys = sorted(gpu_map.keys(), key=lambda k: (get_slot_index(k), k)) + elif sort_order == 'serial': + sorted_keys = sorted(gpu_map.keys(), key=lambda k: gpu_map[k]) + else: + sorted_keys = sorted(gpu_map.keys()) + + # 5. Write Output (Text format) + output_file = output_dir / f"{svc_tag}.txt" + with output_file.open("w", encoding="utf-8", newline="\n") as f: + f.write(f"{svc_tag}\n") + + if not gpu_map: + f.write("No matching GPU inventory found.\n") + return + + for fqdd in sorted_keys: + serial = gpu_map[fqdd] + f.write(f"{fqdd}: {serial}\n") + + # Serials only line + serials_only = [gpu_map[k] for k in sorted_keys if gpu_map[k] != "Not Found"] + if serials_only: + f.write(f"SERIALS: {';'.join(serials_only)}\n") + + logging.info(f"Saved {output_file}") + + except Exception as e: + logging.error(f"Error processing IP {idrac_ip}: {e}") + +def main(): + parser = argparse.ArgumentParser(description="Collect GPU Serial Info") + parser.add_argument("ip_file", help="File containing list of IP addresses") + parser.add_argument("--profile", default="default", help="Profile name from gpu_profiles.yaml") + + args = parser.parse_args() + + ip_path = Path(args.ip_file) + if not ip_path.is_file(): + logging.error(f"IP file {args.ip_file} does not exist.") + return + + # Load Profile + profile = load_profile(args.profile) + logging.info(f"Loaded profile: {args.profile}") + + gpu_settings = profile.get('gpu_settings', {}) + + output_dir = resolve_output_dir() + + with ip_path.open("r", encoding="utf-8") as file: + ip_addresses = [line.strip() for line in file if line.strip()] + + with ThreadPoolExecutor(max_workers=50) as executor: + future_to_ip = { + executor.submit(fetch_idrac_info, ip, output_dir, gpu_settings): ip + for ip in ip_addresses + } + for future in as_completed(future_to_ip): + ip = future_to_ip[future] + try: + future.result() + except Exception as e: + logging.error(f"Error on {ip}: {e}") + +if __name__ == "__main__": + main() diff --git a/data/scripts/collect_idrac_info.py b/data/scripts/collect_idrac_info.py index 778ff62..3c89111 100644 --- a/data/scripts/collect_idrac_info.py +++ b/data/scripts/collect_idrac_info.py @@ -23,7 +23,14 @@ logging.basicConfig( IDRAC_USER = os.getenv("IDRAC_USER", "root") IDRAC_PASS = os.getenv("IDRAC_PASS", "calvin") -OUTPUT_DIR = Path("idrac_info") +# Resolve output dir relative to script location or CWD +BASE_DIR = Path(__file__).resolve().parent +if BASE_DIR.name == "scripts": + DATA_DIR = BASE_DIR.parent +else: + DATA_DIR = Path("data").resolve() + +OUTPUT_DIR = DATA_DIR / "temp" / "staging" OUTPUT_DIR.mkdir(parents=True, exist_ok=True) MAC_RE = re.compile(r"([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}") diff --git a/data/scripts/core/__init__.py b/data/scripts/core/__init__.py new file mode 100644 index 0000000..272f646 --- /dev/null +++ b/data/scripts/core/__init__.py @@ -0,0 +1,4 @@ +""" +공통 라이브러리 패키지 +""" +__version__ = "1.0.0" diff --git a/data/scripts/core/__pycache__/__init__.cpython-312.pyc b/data/scripts/core/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..15184788dd3b12c72f3043d8903d527f8a3a3833 GIT binary patch literal 228 zcmX@j%ge<81e>SUWI6-s#~=<2FhUuhd4P=R3@Hpz3@MCJjFn89%%w^|A+A@Ox4v!L zs_=U5o;P#1yx!6Cdj6W%%ho8o?OE}*X~~=A4O~^MhI$5i27a1Mx7g$3Q}UDJ<8N`t z$CsrR6=&w>#mBE?_zbe+m!5t~Vo9QYW=c_Fa(rf9T0VqdoLrPyP*SX)oL`ix9}kqs zEQycTE2#X%VUwGmQks)$SHup~4svI)AdvXL%*e?2k%@_s0CSB- A(*OVf literal 0 HcmV?d00001 diff --git a/data/scripts/core/__pycache__/idrac_client.cpython-312.pyc b/data/scripts/core/__pycache__/idrac_client.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7b3ca03e1f0c58dcd0fad46b902173accd632ceb GIT binary patch literal 5841 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 literal 0 HcmV?d00001 diff --git a/data/scripts/core/__pycache__/parsers.cpython-312.pyc b/data/scripts/core/__pycache__/parsers.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..265eae9ac2dbc4aae83e0708b3a2a138a2621221 GIT binary patch literal 10826 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 literal 0 HcmV?d00001 diff --git a/data/scripts/core/idrac_client.py b/data/scripts/core/idrac_client.py new file mode 100644 index 0000000..85a9efa --- /dev/null +++ b/data/scripts/core/idrac_client.py @@ -0,0 +1,129 @@ +""" +iDRAC 클라이언트 - racadm 명령 실행 및 결과 캐싱 +""" +from typing import Optional, Dict, Tuple +import subprocess +import os +import logging + +logging.basicConfig( + level=logging.INFO, + format='%(asctime)s [INFO] root: %(message)s', + datefmt='%Y-%m-%d %H:%M:%S' +) + + +class IDRACClient: + """ + racadm 명령 실행 및 결과 캐싱을 담당하는 클라이언트 + """ + + def __init__(self, ip: str, user: str = None, password: str = None): + """ + Args: + ip: iDRAC IP 주소 + user: iDRAC 사용자명 (기본값: 환경변수 IDRAC_USER 또는 'root') + password: iDRAC 비밀번호 (기본값: 환경변수 IDRAC_PASS 또는 'calvin') + """ + self.ip = ip + self.user = user or os.getenv("IDRAC_USER", "root") + self.password = password or os.getenv("IDRAC_PASS", "calvin") + self._cache: Dict[str, str] = {} # 중복 호출 방지 캐시 + + def run_command(self, command: str) -> Tuple[int, str]: + """ + racadm 명령 실행 + + Args: + command: 실행할 racadm 명령 (예: "getsysinfo", "get bios.BiosBootSettings") + + Returns: + (return_code, output) 튜플 + """ + cmd = f"racadm -r {self.ip} -u {self.user} -p {self.password} {command}" + + try: + result = subprocess.run( + cmd, + shell=True, + capture_output=True, + text=True, + check=False, + timeout=30 # 30초 타임아웃 + ) + return result.returncode, result.stdout + except subprocess.TimeoutExpired: + logging.error(f"[{self.ip}] 명령 타임아웃: {command}") + return 1, "" + except Exception as e: + logging.error(f"[{self.ip}] 명령 실행 오류: {e}") + return 1, f"Error: {e}" + + def get_sysinfo(self) -> str: + """ + getsysinfo 명령 실행 (캐싱) + + Returns: + getsysinfo 출력 결과 + """ + if "sysinfo" not in self._cache: + _, output = self.run_command("getsysinfo") + self._cache["sysinfo"] = output + return self._cache["sysinfo"] + + def get_hwinventory(self) -> str: + """ + hwinventory 명령 실행 (캐싱) + + Returns: + hwinventory 출력 결과 + """ + if "hwinventory" not in self._cache: + _, output = self.run_command("hwinventory") + self._cache["hwinventory"] = output + return self._cache["hwinventory"] + + def get_swinventory(self) -> str: + """ + swinventory 명령 실행 (캐싱) + + Returns: + swinventory 출력 결과 + """ + if "swinventory" not in self._cache: + _, output = self.run_command("swinventory") + self._cache["swinventory"] = output + return self._cache["swinventory"] + + + def get_infiniband_pages(self) -> str: + """ + InfiniBand 설정 페이지 목록 조회 (InfiniBand.VndrConfigPage) + + Returns: + racadm get InfiniBand.VndrConfigPage 출력 + """ + if "infiniband_pages" not in self._cache: + _, output = self.run_command("get InfiniBand.VndrConfigPage") + self._cache["infiniband_pages"] = output + return self._cache["infiniband_pages"] + + def get_infiniband_page_detail(self, page_number: str) -> str: + """ + 특정 InfiniBand 설정 페이지 상세 조회 + + Args: + page_number: 페이지 번호 (예: "1") + + Returns: + racadm get InfiniBand.VndrConfigPage.{page_number} 출력 + """ + cache_key = f"infiniband_page_{page_number}" + if cache_key not in self._cache: + _, output = self.run_command(f"get InfiniBand.VndrConfigPage.{page_number}") + self._cache[cache_key] = output + return self._cache[cache_key] + + def clear_cache(self): + """캐시 초기화""" + self._cache.clear() diff --git a/data/scripts/core/parsers.py b/data/scripts/core/parsers.py new file mode 100644 index 0000000..003c3cd --- /dev/null +++ b/data/scripts/core/parsers.py @@ -0,0 +1,291 @@ +""" +racadm 출력 파싱 유틸리티 +""" +import re +from typing import List, Optional, Dict, Tuple + + +class InfoParser: + """racadm 명령 출력 파싱 유틸리티""" + + # Word boundary to ensure we don't match partial GUIDs (which are longer) + MAC_PATTERN = re.compile(r"\b([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}\b") + + @staticmethod + def extract_service_tag(sysinfo: str) -> Optional[str]: + """ + 서비스 태그 추출 + + Args: + sysinfo: getsysinfo 명령 출력 + + Returns: + 서비스 태그 또는 None + """ + m = re.search(r"SVC\s*Tag\s*=\s*(\S+)", sysinfo, re.IGNORECASE) + return m.group(1).strip() if m else None + + @staticmethod + def extract_nic_macs(sysinfo: str, nic_patterns: List[str]) -> Dict[str, Optional[str]]: + """ + NIC MAC 주소 추출 + + Args: + sysinfo: getsysinfo 명령 출력 + nic_patterns: NIC 패턴 리스트 (예: ["NIC.Integrated.1-1-1", "NIC.Embedded.1-1-1"]) + + Returns: + {pattern: mac_address} 딕셔너리 + """ + results = {} + for pattern in nic_patterns: + for line in sysinfo.splitlines(): + if pattern in line: + mac = InfoParser.MAC_PATTERN.search(line) + results[pattern] = mac.group(0) if mac else None + break + else: + results[pattern] = None + return results + + @staticmethod + def extract_nic_macs_from_hwinventory(hwinventory: str, nic_patterns: List[str]) -> Dict[str, Optional[str]]: + """ + hwinventory에서 NIC MAC 주소 추출 + + Args: + hwinventory: hwinventory 명령 출력 + nic_patterns: NIC 패턴 리스트 (예: ["NIC.Integrated.1-1-1", "NIC.Slot.1-1-1"]) + + Returns: + {pattern: mac_address} 딕셔너리 + """ + results = {pattern: None for pattern in nic_patterns} + + # hwinventory를 블록 단위로 분리 (빈 줄로 구분) + blocks = re.split(r"\n\s*\n", hwinventory) + + for block in blocks: + # 블록 내에서 FQDD 또는 InstanceID 확인 + fqdd = None + + # FQDD = NIC.Integrated.1-1-1 또는 [InstanceID: NIC.Integrated.1-1-1] 형식 찾기 + m_fqdd = re.search(r"FQDD\s*=\s*(\S+)", block, re.IGNORECASE) + if m_fqdd: + fqdd = m_fqdd.group(1).strip() + # FQDD 키워드가 없을 경우를 대비해 InstanceID 헤더도 확인 + elif "[InstanceID:" in block: + m_inst = re.search(r"InstanceID:\s*([^\]]+)", block) + if m_inst: + fqdd = m_inst.group(1).strip() + + if not fqdd: + continue + + # 요청된 패턴 중 하나라도 포함하는지 확인 (정확한 매칭을 위해 수정 가능하나, 보통 포함 관계면 충분) + # 여기서는 패턴이 FQDD와 정확히 일치하거나 FQDD가 패턴을 포함하는 경우를 찾음 + matched_pattern = None + for pattern in nic_patterns: + # 대소문자 무시 비교 + if pattern.lower() == fqdd.lower(): + matched_pattern = pattern + break + + # 정확히 일치하는 패턴을 못 찾았다면 다음 블록으로 + if not matched_pattern: + continue + + # MAC 주소 찾기 + # Ethernet Address = AA:BB:CC:DD:EE:FF + # CurrentMACAddress = AA:BB:CC:DD:EE:FF + # MAC Address = AA:BB:CC:DD:EE:FF + mac_match = InfoParser.MAC_PATTERN.search(block) + + if mac_match: + results[matched_pattern] = mac_match.group(0) + + return results + + @staticmethod + def extract_idrac_mac(sysinfo: str) -> Optional[str]: + """ + iDRAC MAC 주소 추출 + + Args: + sysinfo: getsysinfo 명령 출력 + + Returns: + iDRAC MAC 주소 또는 None + """ + for line in sysinfo.splitlines(): + if "MAC Address" in line: + mac = InfoParser.MAC_PATTERN.search(line) + if mac: + return mac.group(0) + return None + + @staticmethod + def extract_vendors(hwinventory: str, component_prefix: str) -> List[str]: + """ + 컴포넌트 벤더 추출 + + Args: + hwinventory: hwinventory 명령 출력 + component_prefix: 컴포넌트 접두사 ("DIMM", "Disk.Bay", "BOSS" 등) + + Returns: + 벤더 리스트 (중복 제거, 정렬됨) + """ + vendors = set() + blocks = re.split(r"\n\s*\n", hwinventory) + + for block in blocks: + # Check if this block is for the target component using InstanceID or FQDD + is_target_component = False + + # Check InstanceID header: [InstanceID: DIMM.Socket.A1] + if f"[InstanceID: {component_prefix}" in block: + is_target_component = True + + # Also check FQDD line if InstanceID header check fails (fallback) + elif not is_target_component: + m_fqdd = re.search(r"^FQDD\s*=\s*(\S+)", block, re.MULTILINE) + if m_fqdd and component_prefix in m_fqdd.group(1): + is_target_component = True + + if is_target_component: + m = re.search(r"Manufacturer\s*=\s*(.+)", block, re.IGNORECASE) + if m: + vendor = m.group(1).strip() + # Filter out "Dell Inc." if user considers it wrong/noise for these components? + # The user specifically complained about "Dell Inc." being WRONG. + # However, if the DIMM *is* Dell, we should report it. + # But the likely cause of "Dell Inc." appearing when it shouldn't is the System block match. + # With this stricter check, the System block (InstanceID: System.Embedded.1) will NOT match "DIMM". + vendors.add(vendor) + + return sorted(vendors) + + @staticmethod + def extract_infiniband_page_map(pages_output: str) -> List[Tuple[str, str]]: + """ + InfiniBand 페이지 번호와 슬롯 번호 매핑 추출 + + Args: + pages_output: get InfiniBand.VndrConfigPage 출력 + + Returns: + [(page_number, slot_number), ...] 리스트 + """ + # InfiniBand.VndrConfigPage.1 [Key=InfiniBand.Slot.38-1#VndrConfigPage] + matches = re.findall( + r"InfiniBand\.VndrConfigPage\.(\d+)\s+\[Key=InfiniBand\.Slot\.(\d+)-\d+#VndrConfigPage]", + pages_output + ) + return matches + + @staticmethod + def extract_port_guid(page_detail: str) -> Optional[str]: + """ + InfiniBand 페이지 상세에서 PortGUID 추출 + + Args: + page_detail: get InfiniBand.VndrConfigPage.{N} 출력 + + Returns: + PortGUID 값 또는 None + """ + m = re.search(r"PortGUID=(\S+)", page_detail) + return m.group(1) if m else None + + @staticmethod + def extract_value_by_pattern(text: str, pattern: str) -> Optional[str]: + """ + 패턴으로 값 추출 (= 뒤의 값) + + Args: + text: 검색할 텍스트 + pattern: 검색 패턴 + + Returns: + 추출된 값 또는 None + """ + for line in text.splitlines(): + if pattern.lower() in line.lower(): + if '=' in line: + return line.split('=', 1)[1].strip() + return None + + @staticmethod + def extract_infiniband_macs_from_swinventory(swinventory: str, target_slots: List[int]) -> Dict[int, str]: + """ + swinventory에서 InfiniBand 슬롯의 MAC 주소 추출 + (FQDD 라인 바로 윗줄에 MAC 주소가 있다는 가정 - 레거시 스크립트 로직) + + Args: + swinventory: swinventory 명령 출력 + target_slots: 추출할 슬롯 번호 리스트 + + Returns: + {slot: mac_address} 딕셔너리 + """ + results = {} + prev_line = "" + + # 슬롯별 패턴 미리 생성 (예: "FQDD = InfiniBand.Slot.31-1") + slot_patterns = {slot: f"FQDD = InfiniBand.Slot.{slot}-1" for slot in target_slots} + + for line in swinventory.splitlines(): + for slot, pattern in slot_patterns.items(): + if pattern in line: + # 이전 라인에서 MAC 찾기 + mac = InfoParser.MAC_PATTERN.search(prev_line) + if mac: + results[slot] = mac.group(0) + prev_line = line + + return results + + @staticmethod + def extract_gpu_serials(hwinventory: str) -> Dict[str, str]: + """ + iDRAC hwinventory 전체 텍스트에서 GPU(Video.Slot.*) 블록을 찾아 + {FQDD(or InstanceID): SerialNumber} 딕셔너리로 반환. + + Args: + hwinventory: hwinventory 명령 출력 + + Returns: + {fqdd: serial} 딕셔너리 + """ + results = {} + + # 빈 줄 기준 블록 분할(여러 개의 개행을 하나의 경계로) + blocks = re.split(r"\n\s*\n", hwinventory, flags=re.MULTILINE) + + for block in blocks: + # GPU(Video) 블록만 처리 + # Video.Slot.X 또는 유사 패턴 + if not re.search(r"\[?InstanceID:\s*Video\.Slot\.", block): + continue + + # FQDD 우선, 없으면 [InstanceID: ...]에서 추출 + fqdd = None + m_fqdd = re.search(r"^FQDD\s*=\s*([^\r\n]+)", block, flags=re.MULTILINE) + if m_fqdd: + fqdd = m_fqdd.group(1).strip() + else: + m_hdr = re.search(r"\[InstanceID:\s*(Video\.Slot\.[^\]\r\n]+)\]", block) + if m_hdr: + fqdd = m_hdr.group(1).strip() + + if not fqdd: + continue + + # SerialNumber 추출 + m_sn = re.search(r"^SerialNumber\s*=\s*([^\r\n]+)", block, flags=re.MULTILINE) + serial = m_sn.group(1).strip() if m_sn else "Not Found" + + results[fqdd] = serial + + return results diff --git a/data/scripts/profiles/gpu_profiles.yaml b/data/scripts/profiles/gpu_profiles.yaml new file mode 100644 index 0000000..4d47f2a --- /dev/null +++ b/data/scripts/profiles/gpu_profiles.yaml @@ -0,0 +1,22 @@ +# GPU 서버 정보 수집 프로파일 (GUID + GPU Serial) +profiles: + default: + description: "기본 GPU 시리얼 수집 설정" + # GUID 관련 설정 (제거됨) + # slot_priority: [38, 39, 37, 36, 32, 33, 34, 35, 31, 40] + + # GPU Serial 관련 설정 + gpu_settings: + target_slots: ["Video.Slot.*"] + sort_order: "slot_index" # slot_index, serial, etc. + + output_format: "combined" + + h100_cluster: + description: "H100 클러스터용 설정" + slot_priority: [1, 2, 3, 4] + gpu_settings: + target_slots: ["Video.Slot.0-1", "Video.Slot.1-1"] + sort_order: "slot_index" + + output_format: "combined" diff --git a/data/scripts/profiles/guid_profiles.yaml b/data/scripts/profiles/guid_profiles.yaml new file mode 100644 index 0000000..e64462f --- /dev/null +++ b/data/scripts/profiles/guid_profiles.yaml @@ -0,0 +1,11 @@ +# GUID 수집 프로파일 정의 +profiles: + default: + description: "기본 GUID 수집" + slot_priority: [38, 39, 37, 36, 32, 33, 34, 35, 31, 40] + output_format: "combined" # combined 또는 individual + + custom_priority: + description: "사용자 정의 슬롯 우선순위" + slot_priority: [] # 런타임에 환경변수 GUID_SLOT_PRIORITY에서 읽음 + output_format: "combined" diff --git a/data/scripts/profiles/mac_profiles.yaml b/data/scripts/profiles/mac_profiles.yaml new file mode 100644 index 0000000..d357b98 --- /dev/null +++ b/data/scripts/profiles/mac_profiles.yaml @@ -0,0 +1,107 @@ +profiles: + 16G_R760XD2: + description: 기본 MAC 수집 (Integrated + Embedded) + exclude_boss: true + include_disk_vendor: true + include_idrac_mac: true + include_memory_vendor: true + nic_patterns: + - NIC.Integrated.1-1-1 + - NIC.Integrated.1-2-1 + - NIC.Slot.3-1-1 + - NIC.Slot.3-2-1 + - NIC.Embedded.1-1-1 + - NIC.Embedded.2-1-1 + 16G_T8/T8A: + description: 새 프로파일 + extends: default + 16G_TYPE4,6: + description: 기본 MAC 수집 (Integrated + Embedded) + exclude_boss: true + include_disk_vendor: true + include_idrac_mac: true + include_memory_vendor: true + nic_patterns: + - NIC.Integrated.1-1-1 + - NIC.Integrated.1-2-1 + - NIC.Embedded.1-1-1 + - NIC.Embedded.2-1-1 + 16G_TYPE8,8A: + description: 기본 MAC 수집 (Integrated + Embedded) + exclude_boss: true + include_disk_vendor: true + include_idrac_mac: true + include_memory_vendor: true + nic_patterns: + - NIC.Integrated.1-1-1 + - NIC.Integrated.1-2-1 + - NIC.Embedded.1-1-1 + - NIC.Embedded.2-1-1 + TY11_60ea: + description: 기본 MAC 수집 (Integrated + Embedded) + exclude_boss: true + include_disk_vendor: true + include_idrac_mac: true + include_memory_vendor: true + nic_patterns: + - NIC.Integrated.1-1-1 + - NIC.Integrated.1-2-1 + - NIC.Slot.1-1-1 + - NIC.Slot.1-2-1 + - NIC.Slot.2-1-1 + - NIC.Slot.2-2-1 + - NIC.Embedded.1-1-1 + - NIC.Embedded.2-1-1 + default: + description: 기본 MAC 수집 (Integrated + Embedded) + exclude_boss: true + include_disk_vendor: true + include_idrac_mac: true + include_memory_vendor: true + nic_patterns: + - NIC.Integrated.1-1-1 + - NIC.Integrated.1-2-1 + - NIC.Embedded.1-1-1 + - NIC.Embedded.2-1-1 + jp_54ea: + description: JP 54EA 서버 + extends: default + jp_type11a: + description: JP_TYPE11A + extends: default + nic_patterns: + - NIC.Integrated.1-1-1 + - NIC.Integrated.1-2-1 + - NIC.Embedded.1-1-1 + - NIC.Embedded.2-1-1 + - NIC.Slot.1-1-1 + - NIC.Slot.1-2-1 + - NIC.Slot.2-1-1 + - NIC.Slot.2-2-1 + sp_18ea: + description: SP 18EA 서버 + extends: default + type11: + description: TYPE11 서버 + extends: default + xe9680_h200_10ea: + description: XE9680 H200 10EA InfiniBand + extends: default + infiniband_slots: + - 38 + - 39 + - 37 + - 36 + - 32 + - 33 + - 34 + - 35 + - 31 + - 40 + nic_patterns: + - NIC.Integrated.1-1-1 + - NIC.Integrated.1-2-1 + - NIC.Integrated.1-3-1 + - NIC.Integrated.1-4-1 + - NIC.Embedded.1-1-1 + - NIC.Embedded.2-1-1 diff --git a/data/scripts/profiles/server_info_profiles.yaml b/data/scripts/profiles/server_info_profiles.yaml new file mode 100644 index 0000000..6a630e6 --- /dev/null +++ b/data/scripts/profiles/server_info_profiles.yaml @@ -0,0 +1,676 @@ +profiles: + JYH_AMD: + bios_settings: + - command: get bios.BiosBootSettings + name: BIOS Boot Mode + pattern: BootMode + - command: get bios.SysProfileSettings + name: System Profile + pattern: SysProfile= + - command: get bios.SysProfileSettings + name: Memory Frequency + pattern: MemFrequency + - command: get bios.SysProfileSettings + name: Turbo Boost + pattern: ProcTurboMode + - command: get bios.SysProfileSettings + name: C-States + pattern: ProcCStates + - command: get bios.ProcSettings + name: Logical Processor + pattern: LogicalProc + - command: get bios.ProcSettings + name: Virtualization Technology + pattern: ProcVirtualization + - command: get bios.MemSettings + name: DramRefreshDelay + pattern: DramRefreshDelay + - command: get bios.ProcSettings + name: x2APIC Mode + pattern: ProcX2Apic + - command: get bios.MemSettings + name: DIMM Self Healing + pattern: PPROnUCE + - command: get bios.MemSettings + name: Correctable Error Logging + pattern: CECriticalSEL + - command: get System.ThermalSettings + name: Thermal Profile Optimization + pattern: ThermalProfile + - command: get Bios.IntegratedDevices + name: SR-IOV Global Enable + pattern: SriovGlobalEnable + - command: get bios.MiscSettings + name: F1/F2 Prompt on Error + pattern: ErrPrompt + - command: get iDRAC.ASRConfig + name: ASR Config + pattern: Enable= + - command: get Bios.IntegratedDevices.OsWatchdogTimer + name: Os watchdof timer + pattern: OswatchdogTimer= + description: 기본 서버 정보 수집 (BIOS, iDRAC, RAID) + extends: minimal + firmware: + - command: get NIC.FrmwImgMenu.1 + name: NIC(XE810) Integrated Firmware + pattern: '#FamilyVersion' + - command: get NIC.FrmwImgMenu.3 + name: NIC(BCM5720) Integrated Firmware + pattern: '#FamilyVersion' + - command: hwinventory + name: RAID Controller Firmware + pattern: ControllerFirmwareVersion + idrac_settings: + - command: get iDRAC.Time.Timezone + name: Timezone + pattern: Timezone + - command: get iDRAC.CurrentNIC + name: IPMI LAN Selection + pattern: ActiveNIC + - command: get iDRAC.CurrentIPv4 + name: IPMI IPv4 DHCP + pattern: DHCPEnable + - command: get iDRAC.CurrentIPv6 + name: IPMI IPv6 Enable + pattern: Enable= + - command: get iDRAC.Redfish.Enable + name: Redfish Support + pattern: Enable= + - command: get iDRAC.SSH + name: SSH Support + pattern: Enable= + - command: get iDRAC.USERDomain.1.Name + name: AD User Domain Name + pattern: Name + - command: get iDRAC.ActiveDirectory.DomainController1 + name: SC Server Address + pattern: DomainController1 + - command: get iDRAC.SysLog.SysLogEnable + name: Remote Log (syslog) + pattern: SysLogEnable + - command: get iDRAC.SysLog.Server1 + name: Syslog Server 1 + pattern: Server1 + - command: get iDRAC.SysLog.Server2 + name: Syslog Server 2 + pattern: Server2 + - command: get iDRAC.SysLog.Port + name: Syslog Port + pattern: Port + - command: get iDRAC.VirtualConsole.Port + name: VirtualConsole Port + pattern: Port + raid_settings: + - command: hwinventory + name: BOSS ProductName + pattern: ProductName = BOSS + - command: hwinventory + name: RAID Types + pattern: RAIDTypes + - command: hwinventory + name: StripeSize + pattern: StripeSize + - command: hwinventory + name: ReadCachePolicy + pattern: ReadCachePolicy + - command: hwinventory + name: WriteCachePolicy + pattern: WriteCachePolicy + - command: get STORAGE.Controller.1 + name: CheckConsistencyMode + pattern: CheckConsistencyMode + R760XD2_Server_info: + bios_settings: + - command: get bios.BiosBootSettings + name: BIOS Boot Mode + pattern: BootMode + - command: get bios.SysProfileSettings + name: System Profile + pattern: SysProfile= + - command: get bios.SysProfileSettings + name: CPU Power Management + pattern: EnergyPerformanceBias + - command: get bios.SysProfileSettings + name: Memory Frequency + pattern: MemFrequency + - command: get bios.SysProfileSettings + name: Turbo Boost + pattern: ProcTurboMode + - command: get bios.SysProfileSettings + name: C1E + pattern: ProcC1E + - command: get bios.SysProfileSettings + name: C-States + pattern: ProcCStates + - command: get bios.SysProfileSettings + name: Monitor/Mwait + pattern: MonitorMwait + - command: get bios.ProcSettings + name: Logical Processor + pattern: LogicalProc + - command: get bios.ProcSettings + name: Virtualization Technology + pattern: ProcVirtualization + - command: get bios.ProcSettings + name: LLC Prefetch + pattern: LlcPrefetch + - command: get bios.ProcSettings + name: x2APIC Mode + pattern: ProcX2Apic + - command: get bios.MemSettings + name: Node Interleaving + pattern: NodeInterleave + - command: get bios.MemSettings + name: DIMM Self Healing + pattern: PPROnUCE + - command: get bios.MemSettings + name: Correctable Error Logging + pattern: CECriticalSEL + - command: get System.ThermalSettings + name: Thermal Profile Optimization + pattern: ThermalProfile + - command: get Bios.IntegratedDevices + name: SR-IOV Global Enable + pattern: SriovGlobalEnable + - command: get bios.MiscSettings + name: F1/F2 Prompt on Error + pattern: ErrPrompt + - command: get iDRAC.ASRConfig + name: ASR Config + pattern: Enable= + - command: get Bios.IntegratedDevices.OsWatchdogTimer + name: Os watchdof timer + pattern: OswatchdogTimer= + description: 기본 서버 정보 수집 (BIOS, iDRAC, RAID) + extends: minimal + firmware: + - command: get NIC.FrmwImgMenu.1 + name: NIC Integrated Firmware + pattern: '#FamilyVersion' + - command: hwinventory + name: RAID Controller Firmware + pattern: ControllerFirmwareVersion + - command: hwinventory + name: BOSS Controller Firmware + pattern: ControllerFirmwareVersion = 2 + idrac_settings: + - command: get iDRAC.Time.Timezone + name: Timezone + pattern: Timezone + - command: get iDRAC.CurrentNIC + name: IPMI LAN Selection + pattern: ActiveNIC + - command: get iDRAC.CurrentIPv4 + name: IPMI IPv4 DHCP + pattern: DHCPEnable + - command: get iDRAC.CurrentIPv6 + name: IPMI IPv6 Enable + pattern: Enable= + - command: get iDRAC.Redfish.Enable + name: Redfish Support + pattern: Enable= + - command: get iDRAC.SSH + name: SSH Support + pattern: Enable= + - command: get iDRAC.USERDomain.1.Name + name: AD User Domain Name + pattern: Name + - command: get iDRAC.ActiveDirectory.DomainController1 + name: SC Server Address + pattern: DomainController1 + - command: get iDRAC.SysLog.SysLogEnable + name: Remote Log (syslog) + pattern: SysLogEnable + - command: get iDRAC.SysLog.Server1 + name: Syslog Server 1 + pattern: Server1 + - command: get iDRAC.SysLog.Server2 + name: Syslog Server 2 + pattern: Server2 + - command: get iDRAC.SysLog.Port + name: Syslog Port + pattern: Port + - command: get iDRAC.VirtualConsole.Port + name: VirtualConsole Port + pattern: Port + raid_settings: + - command: hwinventory + name: RAID ProductName + pattern: ProductName = PERC + - command: hwinventory + name: BOSS ProductName + pattern: ProductName = BOSS + - command: hwinventory + name: RAID Types + pattern: RAIDTypes + - command: hwinventory + name: StripeSize + pattern: StripeSize + - command: hwinventory + name: ReadCachePolicy + pattern: ReadCachePolicy + - command: hwinventory + name: WriteCachePolicy + pattern: WriteCachePolicy + - command: get STORAGE.Controller.1 + name: CheckConsistencyMode + pattern: CheckConsistencyMode + - command: get STORAGE.Controller.1 + name: PatrolReadRate + pattern: PatrolReadRate + amd_server: + bios_settings: + - command: get bios.ProcSettings + name: AMD SMT Mode + pattern: SmtMode + - command: get bios.ProcSettings + name: AMD IOMMU + pattern: Iommu + description: AMD 서버 전용 프로파일 + extends: default + default: + bios_settings: + - command: get bios.BiosBootSettings + name: BIOS Boot Mode + pattern: BootMode + - command: get bios.SysProfileSettings + name: System Profile + pattern: SysProfile= + - command: get bios.SysProfileSettings + name: CPU Power Management + pattern: EnergyPerformanceBias + - command: get bios.SysProfileSettings + name: Memory Frequency + pattern: MemFrequency + - command: get bios.SysProfileSettings + name: Turbo Boost + pattern: ProcTurboMode + - command: get bios.SysProfileSettings + name: C1E + pattern: ProcC1E + - command: get bios.SysProfileSettings + name: C-States + pattern: ProcCStates + - command: get bios.SysProfileSettings + name: Monitor/Mwait + pattern: MonitorMwait + - command: get bios.ProcSettings + name: Logical Processor + pattern: LogicalProc + - command: get bios.ProcSettings + name: Virtualization Technology + pattern: ProcVirtualization + - command: get bios.ProcSettings + name: LLC Prefetch + pattern: LlcPrefetch + - command: get bios.ProcSettings + name: x2APIC Mode + pattern: ProcX2Apic + - command: get bios.MemSettings + name: Node Interleaving + pattern: NodeInterleave + - command: get bios.MemSettings + name: DIMM Self Healing + pattern: PPROnUCE + - command: get bios.MemSettings + name: Correctable Error Logging + pattern: CECriticalSEL + - command: get System.ThermalSettings + name: Thermal Profile Optimization + pattern: ThermalProfile + - command: get Bios.IntegratedDevices + name: SR-IOV Global Enable + pattern: SriovGlobalEnable + - command: get bios.MiscSettings + name: F1/F2 Prompt on Error + pattern: ErrPrompt + description: 기본 서버 정보 수집 (BIOS, iDRAC, RAID) + extends: minimal + firmware: + - command: get NIC.FrmwImgMenu.1 + name: NIC Integrated Firmware + pattern: '#FamilyVersion' + - command: get NIC.FrmwImgMenu.5 + name: OnBoard NIC Firmware + pattern: '#FamilyVersion' + - command: hwinventory + name: RAID Controller Firmware + pattern: ControllerFirmwareVersion + idrac_settings: + - command: get iDRAC.Time.Timezone + name: Timezone + pattern: Timezone + - command: get iDRAC.CurrentNIC + name: IPMI LAN Selection + pattern: ActiveNIC + - command: get iDRAC.CurrentIPv4 + name: IPMI IPv4 DHCP + pattern: DHCPEnable + - command: get iDRAC.CurrentIPv6 + name: IPMI IPv6 Enable + pattern: Enable= + - command: get iDRAC.Redfish.Enable + name: Redfish Support + pattern: Enable= + - command: get iDRAC.SSH + name: SSH Support + pattern: Enable= + - command: get iDRAC.USERDomain.1.Name + name: AD User Domain Name + pattern: Name + - command: get iDRAC.ActiveDirectory.DomainController1 + name: SC Server Address + pattern: DomainController1 + - command: get iDRAC.SysLog.SysLogEnable + name: Remote Log (syslog) + pattern: SysLogEnable + - command: get iDRAC.SysLog.Server1 + name: Syslog Server 1 + pattern: Server1 + - command: get iDRAC.SysLog.Server2 + name: Syslog Server 2 + pattern: Server2 + - command: get iDRAC.SysLog.Port + name: Syslog Port + pattern: Port + - command: get iDRAC.VirtualConsole.Port + name: VirtualConsole Port + pattern: Port + raid_settings: + - command: hwinventory + name: RAID ProductName + pattern: ProductName = PERC + - command: hwinventory + name: RAID Types + pattern: RAIDTypes + - command: hwinventory + name: StripeSize + pattern: StripeSize + - command: hwinventory + name: ReadCachePolicy + pattern: ReadCachePolicy + - command: hwinventory + name: WriteCachePolicy + pattern: WriteCachePolicy + - command: get STORAGE.Controller.1 + name: CheckConsistencyMode + pattern: CheckConsistencyMode + - command: get STORAGE.Controller.1 + name: PatrolReadRate + pattern: PatrolReadRate + intel_server: + description: Intel 서버 전용 프로파일 + extends: default + minimal: + description: 최소 정보만 수집 (펌웨어 버전만) + firmware: + - command: getsysinfo + name: SVC Tag + pattern: SVC Tag + - command: getsysinfo + name: BIOS Firmware + pattern: System BIOS Version + - command: getsysinfo + name: iDRAC Firmware + pattern: Firmware Version + 문병철매니저님_AMD_T8A: + bios_settings: + - command: get bios.BiosBootSettings + name: BIOS Boot Mode + pattern: BootMode + - command: get bios.SysProfileSettings + name: System Profile + pattern: SysProfile= + - command: get bios.SysProfileSettings + name: Memory Frequency + pattern: MemFrequency + - command: get bios.SysProfileSettings + name: Turbo Boost + pattern: ProcTurboMode + - command: get bios.SysProfileSettings + name: C-States + pattern: ProcCStates + - command: get bios.ProcSettings + name: Logical Processor + pattern: LogicalProc + - command: get bios.ProcSettings + name: Virtualization Technology + pattern: ProcVirtualization + - command: get bios.MemSettings + name: DramRefreshDelay + pattern: DramRefreshDelay + - command: get bios.ProcSettings + name: x2APIC Mode + pattern: ProcX2Apic + - command: get bios.MemSettings + name: DIMM Self Healing + pattern: PPROnUCE + - command: get bios.MemSettings + name: Correctable Error Logging + pattern: CECriticalSEL + - command: get System.ThermalSettings + name: Thermal Profile Optimization + pattern: ThermalProfile + - command: get Bios.IntegratedDevices + name: SR-IOV Global Enable + pattern: SriovGlobalEnable + - command: get bios.MiscSettings + name: F1/F2 Prompt on Error + pattern: ErrPrompt + - command: get iDRAC.ASRConfig + name: ASR Config + pattern: Enable= + - command: get Bios.IntegratedDevices.OsWatchdogTimer + name: Os watchdof timer + pattern: OswatchdogTimer= + description: 기본 서버 정보 수집 (BIOS, iDRAC, RAID) + extends: minimal + firmware: + - command: get NIC.FrmwImgMenu.1 + name: NIC(XE810) Integrated Firmware + pattern: '#FamilyVersion' + - command: get NIC.FrmwImgMenu.3 + name: NIC(BCM5720) Integrated Firmware + pattern: '#FamilyVersion' + - command: hwinventory + name: RAID Controller Firmware + pattern: ControllerFirmwareVersion + idrac_settings: + - command: get iDRAC.Time.Timezone + name: Timezone + pattern: Timezone + - command: get iDRAC.CurrentNIC + name: IPMI LAN Selection + pattern: ActiveNIC + - command: get iDRAC.CurrentIPv4 + name: IPMI IPv4 DHCP + pattern: DHCPEnable + - command: get iDRAC.CurrentIPv6 + name: IPMI IPv6 Enable + pattern: Enable= + - command: get iDRAC.Redfish.Enable + name: Redfish Support + pattern: Enable= + - command: get iDRAC.SSH + name: SSH Support + pattern: Enable= + - command: get iDRAC.USERDomain.1.Name + name: AD User Domain Name + pattern: Name + - command: get iDRAC.ActiveDirectory.DomainController1 + name: SC Server Address + pattern: DomainController1 + - command: get iDRAC.SysLog.SysLogEnable + name: Remote Log (syslog) + pattern: SysLogEnable + - command: get iDRAC.SysLog.Server1 + name: Syslog Server 1 + pattern: Server1 + - command: get iDRAC.SysLog.Server2 + name: Syslog Server 2 + pattern: Server2 + - command: get iDRAC.SysLog.Port + name: Syslog Port + pattern: Port + - command: get iDRAC.VirtualConsole.Port + name: VirtualConsole Port + pattern: Port + raid_settings: + - command: hwinventory + name: BOSS ProductName + pattern: ProductName = BOSS + - command: hwinventory + name: RAID Types + pattern: RAIDTypes + - command: hwinventory + name: StripeSize + pattern: StripeSize + - command: hwinventory + name: ReadCachePolicy + pattern: ReadCachePolicy + - command: hwinventory + name: WriteCachePolicy + pattern: WriteCachePolicy + - command: get STORAGE.Controller.1 + name: CheckConsistencyMode + pattern: CheckConsistencyMode + 문병철매니저님_INTEL_SERVER: + bios_settings: + - command: get bios.BiosBootSettings + name: BIOS Boot Mode + pattern: BootMode + - command: get bios.SysProfileSettings + name: System Profile + pattern: SysProfile= + - command: get bios.SysProfileSettings + name: CPU Power Management + pattern: EnergyPerformanceBias + - command: get bios.SysProfileSettings + name: Memory Frequency + pattern: MemFrequency + - command: get bios.SysProfileSettings + name: Turbo Boost + pattern: ProcTurboMode + - command: get bios.SysProfileSettings + name: C1E + pattern: ProcC1E + - command: get bios.SysProfileSettings + name: C-States + pattern: ProcCStates + - command: get bios.SysProfileSettings + name: Monitor/Mwait + pattern: MonitorMwait + - command: get bios.ProcSettings + name: Logical Processor + pattern: LogicalProc + - command: get bios.ProcSettings + name: Virtualization Technology + pattern: ProcVirtualization + - command: get bios.ProcSettings + name: LLC Prefetch + pattern: LlcPrefetch + - command: get bios.ProcSettings + name: x2APIC Mode + pattern: ProcX2Apic + - command: get bios.MemSettings + name: Node Interleaving + pattern: NodeInterleave + - command: get bios.MemSettings + name: DIMM Self Healing + pattern: PPROnUCE + - command: get bios.MemSettings + name: Correctable Error Logging + pattern: CECriticalSEL + - command: get System.ThermalSettings + name: Thermal Profile Optimization + pattern: ThermalProfile + - command: get Bios.IntegratedDevices + name: SR-IOV Global Enable + pattern: SriovGlobalEnable + - command: get bios.MiscSettings + name: F1/F2 Prompt on Error + pattern: ErrPrompt + - command: get iDRAC.ASRConfig + name: ASR Config + pattern: Enable= + - command: get Bios.IntegratedDevices.OsWatchdogTimer + name: Os watchdof timer + pattern: OswatchdogTimer= + description: 기본 서버 정보 수집 (BIOS, iDRAC, RAID) + extends: minimal + firmware: + - command: get NIC.FrmwImgMenu.1 + name: NIC Integrated Firmware + pattern: '#FamilyVersion' + - command: hwinventory + name: RAID Controller Firmware + pattern: ControllerFirmwareVersion + - command: hwinventory + name: BOSS Controller Firmware + pattern: ControllerFirmwareVersion = 2 + idrac_settings: + - command: get iDRAC.Time.Timezone + name: Timezone + pattern: Timezone + - command: get iDRAC.CurrentNIC + name: IPMI LAN Selection + pattern: ActiveNIC + - command: get iDRAC.CurrentIPv4 + name: IPMI IPv4 DHCP + pattern: DHCPEnable + - command: get iDRAC.CurrentIPv6 + name: IPMI IPv6 Enable + pattern: Enable= + - command: get iDRAC.Redfish.Enable + name: Redfish Support + pattern: Enable= + - command: get iDRAC.SSH + name: SSH Support + pattern: Enable= + - command: get iDRAC.USERDomain.1.Name + name: AD User Domain Name + pattern: Name + - command: get iDRAC.ActiveDirectory.DomainController1 + name: SC Server Address + pattern: DomainController1 + - command: get iDRAC.SysLog.SysLogEnable + name: Remote Log (syslog) + pattern: SysLogEnable + - command: get iDRAC.SysLog.Server1 + name: Syslog Server 1 + pattern: Server1 + - command: get iDRAC.SysLog.Server2 + name: Syslog Server 2 + pattern: Server2 + - command: get iDRAC.SysLog.Port + name: Syslog Port + pattern: Port + - command: get iDRAC.VirtualConsole.Port + name: VirtualConsole Port + pattern: Port + raid_settings: + - command: hwinventory + name: RAID ProductName + pattern: ProductName = PERC + - command: hwinventory + name: BOSS ProductName + pattern: ProductName = BOSS + - command: hwinventory + name: RAID Types + pattern: RAIDTypes + - command: hwinventory + name: StripeSize + pattern: StripeSize + - command: hwinventory + name: ReadCachePolicy + pattern: ReadCachePolicy + - command: hwinventory + name: WriteCachePolicy + pattern: WriteCachePolicy + - command: get STORAGE.Controller.1 + name: CheckConsistencyMode + pattern: CheckConsistencyMode + - command: get STORAGE.Controller.1 + name: PatrolReadRate + pattern: PatrolReadRate diff --git a/data/scripts/set_PatrolReadRate.sh b/data/scripts/set_PatrolReadRate.sh index 7eb7008..18d1315 100644 --- a/data/scripts/set_PatrolReadRate.sh +++ b/data/scripts/set_PatrolReadRate.sh @@ -18,7 +18,7 @@ if [ ! -f "$IP_FILE" ]; then fi # 정보 저장 디렉터리 설정 -OUTPUT_DIR="idrac_info" +OUTPUT_DIR="$(dirname "$0")/../temp/staging" mkdir -p $OUTPUT_DIR # iDRAC 정보를 가져오는 함수 정의 diff --git a/data/scripts/set_PatrolReadRate_jobs.sh b/data/scripts/set_PatrolReadRate_jobs.sh index ee1d921..7d7c02d 100644 --- a/data/scripts/set_PatrolReadRate_jobs.sh +++ b/data/scripts/set_PatrolReadRate_jobs.sh @@ -18,7 +18,7 @@ if [ ! -f "$IP_FILE" ]; then fi # 정보 저장 디렉터리 설정 -OUTPUT_DIR="idrac_info" +OUTPUT_DIR="$(dirname "$0")/../temp/staging" mkdir -p $OUTPUT_DIR # iDRAC 정보를 가져오는 함수 정의 diff --git a/data/scripts/set_VirtualConsole.sh b/data/scripts/set_VirtualConsole.sh index 350236c..a76ade7 100644 --- a/data/scripts/set_VirtualConsole.sh +++ b/data/scripts/set_VirtualConsole.sh @@ -18,7 +18,7 @@ if [ ! -f "$IP_FILE" ]; then fi # 정보 저장 디렉터리 설정 -OUTPUT_DIR="idrac_info" +OUTPUT_DIR="$(dirname "$0")/../temp/staging" mkdir -p $OUTPUT_DIR # iDRAC 정보를 가져오는 함수 정의 diff --git a/data/scripts/unified/__pycache__/collect_server_info.cpython-312.pyc b/data/scripts/unified/__pycache__/collect_server_info.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9862421a1eb01382bcd2cc250380d13e1022b50f GIT binary patch literal 9833 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 tuple: + """단일 IP에 대한 GPU Serial 정보 수집""" + try: + logging.info(f"[{ip}] GPU 정보 수집 시작") + + client = IDRACClient(ip) + + # 1. Get Service Tag + sysinfo = client.get_sysinfo() + svc_tag = InfoParser.extract_service_tag(sysinfo) + + if not svc_tag: + return ip, False, "서비스 태그 추출 실패" + + # 2. Get Hardware Inventory + hwinventory = client.get_hwinventory() + + # 3. Parse GPU Serials + gpu_map = InfoParser.extract_gpu_serials(hwinventory) + + # 4. Write File + output_file = output_dir / f"{svc_tag}.txt" + + # 정렬 로직 (Legacy GPU_Serial_v1.py 유지) + def slot_key(k: str): + m = re.search(r"Video\.Slot\.(\d+)-(\d+)", k) + if m: + return (int(m.group(1)), int(m.group(2))) + return (1_000_000, 1_000_000, k) + + with output_file.open('w', encoding='utf-8', newline='\n') as f: + f.write(f"{svc_tag}\n") + + if not gpu_map: + f.write("No GPU(Video) inventory found or SerialNumber not present.\n") + return ip, True, f"저장: {output_file.name} (GPU 없음)" + + # Write individual slots + sorted_keys = sorted(gpu_map.keys(), key=slot_key) + for fqdd in sorted_keys: + serial = gpu_map[fqdd] + f.write(f"{fqdd}: {serial}\n") + + # Write summary line + serials_only = [gpu_map[k] for k in sorted_keys if gpu_map[k] != "Not Found"] + if serials_only: + f.write(f"SERIALS: {';'.join(serials_only)}\n") + + return ip, True, f"저장: {output_file.name} ({len(serials_only)}개 발견)" + + except Exception as e: + logging.error(f"[{ip}] 오류: {e}") + return ip, False, f"오류: {e}" + + +def main(): + if len(sys.argv) < 2: + print("Usage: python collect_gpu.py ") + sys.exit(1) + + ip_file = Path(sys.argv[1]) + + if not ip_file.exists(): + logging.error(f"IP 파일 없음: {ip_file}") + sys.exit(1) + + # 출력 디렉토리 + # 출력 디렉토리 (스크립트 위치 기준) + script_dir = Path(__file__).resolve().parent + data_root = script_dir.parent.parent + output_dir = data_root / "temp" / "staging" + output_dir.mkdir(parents=True, exist_ok=True) + + # IP 목록 읽기 + ips = [line.strip() for line in ip_file.read_text(encoding='utf-8').splitlines() if line.strip()] + + if not ips: + logging.error("IP 목록이 비어 있습니다.") + sys.exit(1) + + logging.info(f"총 {len(ips)}대 GPU 정보 수집 시작") + + # 병렬 처리 + ok, fail = 0, 0 + with ThreadPoolExecutor(max_workers=20) as executor: + futures = {executor.submit(collect_gpu_for_ip, ip, output_dir): ip for ip in ips} + + for future in futures: + ip, success, msg = future.result() + if success: + logging.info(f"[OK] {ip} - {msg}") + ok += 1 + else: + logging.error(f"[FAIL] {ip} - {msg}") + fail += 1 + + logging.info(f"완료: 성공 {ok}대 / 실패 {fail}대") + + +if __name__ == "__main__": + main() diff --git a/data/scripts/unified/collect_guid.py b/data/scripts/unified/collect_guid.py new file mode 100644 index 0000000..ace330d --- /dev/null +++ b/data/scripts/unified/collect_guid.py @@ -0,0 +1,216 @@ +#!/usr/bin/env python3 +""" +통합 GUID 수집 스크립트 +프로파일 기반으로 InfiniBand GUID 수집 +""" +import sys +import yaml +import os +from pathlib import Path +from concurrent.futures import ThreadPoolExecutor +import logging + +sys.path.insert(0, str(Path(__file__).parent.parent)) +from core.idrac_client import IDRACClient +from core.parsers import InfoParser + +logging.basicConfig( + level=logging.INFO, + format='%(asctime)s [INFO] root: %(message)s', + datefmt='%Y-%m-%d %H:%M:%S' +) + + +def load_profile(profile_name: str) -> dict: + """프로파일 로드""" + profile_file = Path(__file__).parent.parent / "profiles" / "guid_profiles.yaml" + + if not profile_file.exists(): + logging.error(f"프로파일 파일 없음: {profile_file}") + sys.exit(1) + + with open(profile_file, 'r', encoding='utf-8') as f: + profiles = yaml.safe_load(f)['profiles'] + + profile = profiles.get(profile_name, profiles['default']) + + # 환경변수에서 슬롯 우선순위 읽기 (custom_priority 프로파일용) + if not profile.get('slot_priority'): + env_priority = os.getenv("GUID_SLOT_PRIORITY", "") + if env_priority: + profile['slot_priority'] = [int(s.strip()) for s in env_priority.split(",") if s.strip()] + else: + profile['slot_priority'] = profiles['default']['slot_priority'] + + return profile + + +def collect_guid_for_ip(ip: str, profile: dict, output_dir: Path) -> tuple: + """단일 IP에 대한 GUID 정보 수집 (PortGUID_v1.py 로직 기반)""" + try: + logging.info(f"[{ip}] DEBUG: Running Unified GUID Script v2.2 (PortGUID_v1 Logic)") + + # IDRAC credentials from env or default + idrac_user = os.getenv("IDRAC_USER", "root") + idrac_pass = os.getenv("IDRAC_PASS", "calvin") + + # 1. Get Service Tag (using raw subprocess like v1) + cmd_getsysinfo = [ + "racadm", "-r", ip, "-u", idrac_user, "-p", idrac_pass, "getsysinfo" + ] + # v1 uses subprocess.getoutput which runs with shell=True/standard shell behavior. + # Here we replicate it or use subprocess.run with capture_output. + # PortGUID_v1 uses: getsysinfo = subprocess.getoutput(" ".join(cmd_getsysinfo)) + + # Using subprocess.run for better control but mimicking the command structure + import subprocess + import re + + try: + # mimic v1: Use the exact same command string style + proc_info = subprocess.run(cmd_getsysinfo, capture_output=True, text=True, timeout=60) + getsysinfo = proc_info.stdout + except Exception as e: + return ip, False, f"SVC Tag 수집 실패: {e}" + + svc_tag_match = re.search(r"SVC Tag\s*=\s*(\S+)", getsysinfo) + svc_tag = svc_tag_match.group(1) if svc_tag_match else None + + if not svc_tag: + return ip, False, "서비스 태그 추출 실패 (Regex miss)" + + # 2. Get InfiniBand Page List + cmd_list = [ + "racadm", "-r", ip, "-u", idrac_user, "-p", idrac_pass, "get", "InfiniBand.VndrConfigPage" + ] + proc_list = subprocess.run(cmd_list, capture_output=True, text=True, timeout=60) + output_list = proc_list.stdout + + # 3. Parse Page Map + matches = re.findall( + r"InfiniBand\.VndrConfigPage\.(\d+)\s+\[Key=InfiniBand\.Slot\.(\d+)-\d+#VndrConfigPage]", + output_list + ) + + slot_to_guid = {} + # 4. Fetch Detail for each page + for number, slot in matches: + cmd_detail = [ + "racadm", "-r", ip, "-u", idrac_user, "-p", idrac_pass, + "get", f"InfiniBand.VndrConfigPage.{number}" + ] + proc_detail = subprocess.run(cmd_detail, capture_output=True, text=True, timeout=60) + output_detail = proc_detail.stdout + + match_guid = re.search(r"PortGUID=(\S+)", output_detail) + port_guid = match_guid.group(1) if match_guid else None + + if port_guid: + slot_to_guid[int(slot)] = port_guid + + # 5. Determine Priority (Preference: Profile > Env > Default(v1 logic)) + # Logic from PortGUID_v1.py: + # if total_slots == 4: order = ... + # elif total_slots == 10: order = ... + + # We will use the profile's logic if available, but fallback to v1 logic if profile is 'default' and matches slot counts + desired_order = profile.get('slot_priority', []) + + # If profile didn't specify (or empty), use v1 adaptive logic + if not desired_order: + total_slots = len(matches) + if total_slots == 4: + desired_order = [38, 37, 32, 34] + elif total_slots == 10: + desired_order = [38, 39, 37, 36, 32, 33, 34, 35, 31, 40] + else: + desired_order = [int(slot) for _, slot in matches] # Just collection order + logging.info(f"[{ip}] DEBUG: Using Adaptive Priority (Count={total_slots}): {desired_order}") + else: + logging.info(f"[{ip}] DEBUG: Using Profile Priority: {desired_order}") + + # 6. Write File + output_file = output_dir / f"{svc_tag}.txt" + with output_file.open('w', encoding='utf-8', newline='\n') as f: + f.write(f"{svc_tag}\n") + + hex_guid_list = [] + + # Write in desired order + for slot in desired_order: + guid = slot_to_guid.get(slot) + if guid: + f.write(f"Slot.{slot}: {guid}\n") + + # Format + fmt_guid = guid.replace(':', '').upper() + if not fmt_guid.startswith("0X"): + fmt_guid = "0x" + fmt_guid + hex_guid_list.append(fmt_guid) + + # Remaining slots (if any weren't in priority list)? + # v1 doesn't write them if not in priority list. We will stick to v1 behavior. + + if profile.get('output_format', 'combined') == 'combined' and hex_guid_list: + f.write(f"GUID: {';'.join(hex_guid_list)}\n") + + return ip, True, f"저장: {output_file.name} ({len(hex_guid_list)}개 GUID/v1_Logic)" + + except Exception as e: + logging.error(f"[{ip}] 오류: {e}") + return ip, False, f"오류: {e}" + + +def main(): + if len(sys.argv) < 2: + print("Usage: python collect_guid.py [profile_name]") + print("Available profiles: default, custom_priority") + sys.exit(1) + + ip_file = Path(sys.argv[1]) + profile_name = sys.argv[2] if len(sys.argv) > 2 else "default" + + if not ip_file.exists(): + logging.error(f"IP 파일 없음: {ip_file}") + sys.exit(1) + + # 프로파일 로드 + profile = load_profile(profile_name) + logging.info(f"프로파일 사용: {profile_name} - {profile.get('description', '')}") + logging.info(f"슬롯 우선순위: {profile['slot_priority']}") + + # 출력 디렉토리 + # 출력 디렉토리 (스크립트 위치 기준) + script_dir = Path(__file__).resolve().parent + data_root = script_dir.parent.parent + output_dir = data_root / "temp" / "staging" + output_dir.mkdir(parents=True, exist_ok=True) + + # IP 목록 읽기 + ips = [line.strip() for line in ip_file.read_text(encoding='utf-8').splitlines() if line.strip()] + + if not ips: + logging.error("IP 목록이 비어 있습니다.") + sys.exit(1) + + logging.info(f"총 {len(ips)}대 처리 시작") + + # 병렬 처리 + ok, fail = 0, 0 + with ThreadPoolExecutor(max_workers=20) as executor: + futures = {executor.submit(collect_guid_for_ip, ip, profile, output_dir): ip for ip in ips} + + for future in futures: + ip, success, msg = future.result() + if success: + logging.info(f"[OK] {ip} - {msg}") + ok += 1 + else: + logging.error(f"[FAIL] {ip} - {msg}") + fail += 1 + + logging.info(f"완료: 성공 {ok}대 / 실패 {fail}대") + + +if __name__ == "__main__": + main() diff --git a/data/scripts/unified/collect_mac.py b/data/scripts/unified/collect_mac.py new file mode 100644 index 0000000..bc4e3f9 --- /dev/null +++ b/data/scripts/unified/collect_mac.py @@ -0,0 +1,186 @@ +#!/usr/bin/env python3 +""" +통합 MAC 수집 스크립트 +프로파일 기반으로 다양한 서버 타입 지원 +""" +import sys +import yaml +from pathlib import Path +from concurrent.futures import ThreadPoolExecutor +import logging + +# core 모듈 임포트 +sys.path.insert(0, str(Path(__file__).parent.parent)) +from core.idrac_client import IDRACClient +from core.parsers import InfoParser + +logging.basicConfig( + level=logging.INFO, + format='%(asctime)s [INFO] root: %(message)s', + datefmt='%Y-%m-%d %H:%M:%S' +) + + +def load_profile(profile_name: str) -> dict: + """프로파일 로드 및 상속 처리""" + profile_file = Path(__file__).parent.parent / "profiles" / "mac_profiles.yaml" + + if not profile_file.exists(): + logging.error(f"프로파일 파일 없음: {profile_file}") + sys.exit(1) + + with open(profile_file, 'r', encoding='utf-8') as f: + profiles = yaml.safe_load(f)['profiles'] + + profile = profiles.get(profile_name) + if not profile: + logging.error(f"프로파일 '{profile_name}' 없음. 사용 가능: {list(profiles.keys())}") + sys.exit(1) + + # extends 처리 + if 'extends' in profile: + base = profiles[profile['extends']].copy() + base.update(profile) + profile = base + + return profile + + +def collect_mac_for_ip(ip: str, profile: dict, output_dir: Path) -> tuple: + """단일 IP에 대한 MAC 정보 수집""" + try: + client = IDRACClient(ip) + parser = InfoParser() + + # 데이터 수집 + sysinfo = client.get_sysinfo() + hwinventory = client.get_hwinventory() + + # 서비스 태그 + svc_tag = parser.extract_service_tag(sysinfo) + if not svc_tag: + return ip, False, "서비스 태그 추출 실패" + + # NIC MAC 주소 + # NIC MAC 주소 + # sysinfo보다 hwinventory가 더 상세한 정보(Slot NIC 등)를 포함하므로 변경 + nic_macs = parser.extract_nic_macs_from_hwinventory(hwinventory, profile['nic_patterns']) + + # iDRAC MAC + idrac_mac = None + if profile.get('include_idrac_mac'): + idrac_mac = parser.extract_idrac_mac(sysinfo) + + # InfiniBand (선택적) + ib_guids = {} + if 'infiniband_slots' in profile: + # Legacy logic: Fetch from swinventory (checking previous line of FQDD) + swinventory = client.get_swinventory() + ib_guids = parser.extract_infiniband_macs_from_swinventory(swinventory, profile['infiniband_slots']) + + # 벤더 정보 + memory_vendors = [] + disk_vendors = [] + + if profile.get('include_memory_vendor'): + memory_vendors = parser.extract_vendors(hwinventory, "DIMM") + + if profile.get('include_disk_vendor'): + if profile.get('exclude_boss'): + # BOSS 제외한 디스크 벤더 + all_vendors = set() + for prefix in ["Disk.Bay.", "Disk.M.2.", "Disk.Direct.", "Disk.Slot."]: + all_vendors.update(parser.extract_vendors(hwinventory, prefix)) + disk_vendors = sorted(all_vendors) + else: + disk_vendors = parser.extract_vendors(hwinventory, "Disk.") + + # 파일 저장 + output_file = output_dir / f"{svc_tag}.txt" + with output_file.open('w', encoding='utf-8', newline='\n') as f: + f.write(f"{svc_tag}\n") + + # NIC MAC (순서 유지) + for pattern in profile['nic_patterns']: + f.write(f"{nic_macs.get(pattern) or ''}\n") + + # InfiniBand (있을 경우) + if ib_guids: + for slot in profile['infiniband_slots']: + f.write(f"{ib_guids.get(slot) or ''}\n") + + # iDRAC MAC + if idrac_mac: + f.write(f"{idrac_mac}\n") + + # 벤더 정보 + for vendor in memory_vendors: + f.write(f"{vendor}\n") + for vendor in disk_vendors: + f.write(f"{vendor}\n") + + return ip, True, f"저장: {output_file.name}" + + except Exception as e: + logging.error(f"[{ip}] 오류: {e}") + return ip, False, f"오류: {e}" + + +def main(): + if len(sys.argv) < 2: + print("Usage: python collect_mac.py [profile_name]") + print("Available profiles: default, xe9680_h200_10ea, type11, jp_54ea, sp_18ea") + sys.exit(1) + + ip_file = Path(sys.argv[1]) + profile_name = sys.argv[2] if len(sys.argv) > 2 else "default" + + if not ip_file.exists(): + logging.error(f"IP 파일 없음: {ip_file}") + sys.exit(1) + + # 프로파일 로드 + profile = load_profile(profile_name) + logging.info(f"프로파일 사용: {profile_name} - {profile.get('description', '')}") + + # 출력 디렉토리 (스크립트 위치 기준) + # script: data/scripts/unified/collect_mac.py -> data_root: data/ + script_dir = Path(__file__).resolve().parent + data_root = script_dir.parent.parent + output_dir = data_root / "temp" / "staging" + output_dir.mkdir(parents=True, exist_ok=True) + + # IP 목록 읽기 + ips = [line.strip() for line in ip_file.read_text(encoding='utf-8').splitlines() if line.strip()] + + if not ips: + logging.error("IP 목록이 비어 있습니다.") + sys.exit(1) + + logging.info(f"총 {len(ips)}대 처리 시작") + + # 병렬 처리 + ok, fail = 0, 0 + with ThreadPoolExecutor(max_workers=20) as executor: + futures = {executor.submit(collect_mac_for_ip, ip, profile, output_dir): ip for ip in ips} + + for future in futures: + ip, success, msg = future.result() + if success: + logging.info(f"[OK] {ip} - {msg}") + ok += 1 + else: + logging.error(f"[FAIL] {ip} - {msg}") + fail += 1 + + logging.info(f"완료: 성공 {ok}대 / 실패 {fail}대") + + # IP 파일 삭제 (기존 스크립트와 동일) + try: + ip_file.unlink(missing_ok=True) + except Exception: + pass + + +if __name__ == "__main__": + main() diff --git a/data/scripts/unified/collect_server_info.py b/data/scripts/unified/collect_server_info.py new file mode 100644 index 0000000..1d38655 --- /dev/null +++ b/data/scripts/unified/collect_server_info.py @@ -0,0 +1,192 @@ +#!/usr/bin/env python3 +""" +통합 서버 정보 수집 스크립트 +프로파일 기반으로 BIOS/iDRAC/RAID 설정 수집 +""" +import sys +import yaml +from pathlib import Path +from concurrent.futures import ThreadPoolExecutor +import logging + +sys.path.insert(0, str(Path(__file__).parent.parent)) +from core.idrac_client import IDRACClient +from core.parsers import InfoParser + +logging.basicConfig( + level=logging.INFO, + format='%(asctime)s [INFO] root: %(message)s', + datefmt='%Y-%m-%d %H:%M:%S' +) + + +def load_profile(profile_name: str) -> dict: + """프로파일 로드 및 상속 처리""" + profile_file = Path(__file__).parent.parent / "profiles" / "server_info_profiles.yaml" + + if not profile_file.exists(): + logging.error(f"프로파일 파일 없음: {profile_file}") + sys.exit(1) + + with open(profile_file, 'r', encoding='utf-8') as f: + profiles = yaml.safe_load(f)['profiles'] + + profile = profiles.get(profile_name) + if not profile: + logging.error(f"프로파일 '{profile_name}' 없음. 사용 가능: {list(profiles.keys())}") + sys.exit(1) + + # extends 처리 + if 'extends' in profile: + base = profiles[profile['extends']].copy() + # 리스트 병합 + for key in ['firmware', 'bios_settings', 'idrac_settings', 'raid_settings', 'custom_items']: + if key in profile: + base_items = base.get(key, []) + profile_items = profile[key] + # 중복 제거하면서 병합 + base[key] = base_items + profile_items + base.update({k: v for k, v in profile.items() if k not in ['firmware', 'bios_settings', 'idrac_settings', 'raid_settings', 'custom_items']}) + profile = base + + return profile + + +def collect_server_info_for_ip(ip: str, profile: dict, output_dir: Path) -> tuple: + """단일 IP에 대한 서버 정보 수집""" + try: + client = IDRACClient(ip) + parser = InfoParser() + + # 서비스 태그 추출 + sysinfo = client.get_sysinfo() + svc_tag = parser.extract_service_tag(sysinfo) + if not svc_tag: + return ip, False, "서비스 태그 추출 실패" + + # 결과 파일 생성 + output_file = output_dir / f"{svc_tag}.txt" + + with output_file.open('w', encoding='utf-8', newline='\n') as f: + f.write(f"Dell EMC Server Bios,iDRAC,R/C Setting (SVC Tag: {svc_tag})\n\n") + + # 펌웨어 버전 정보 + if 'firmware' in profile: + f.write("-" * 42 + " Firmware Version 정보 " + "-" * 42 + "\n") + for idx, item in enumerate(profile['firmware'], 1): + value = _get_value_from_command(client, item['command'], item['pattern']) + f.write(f"{idx}. {item['name']} : {value}\n") + f.write("\n") + + # BIOS 설정 정보 + if 'bios_settings' in profile: + f.write("-" * 45 + " Bios 설정 정보 " + "-" * 46 + "\n") + for idx, item in enumerate(profile['bios_settings'], 1): + value = _get_value_from_command(client, item['command'], item['pattern']) + f.write(f"{idx:02d}. {item['name']} : {value}\n") + f.write("\n") + + # iDRAC 설정 정보 + if 'idrac_settings' in profile: + f.write("-" * 45 + " iDRAC 설정 정보 " + "-" * 45 + "\n") + for idx, item in enumerate(profile['idrac_settings'], 1): + value = _get_value_from_command(client, item['command'], item['pattern']) + f.write(f"{idx:02d}. {item['name']} : {value}\n") + f.write("\n") + + # RAID 설정 정보 + if 'raid_settings' in profile: + f.write("-" * 45 + " Raid 설정 정보 " + "-" * 46 + "\n") + for idx, item in enumerate(profile['raid_settings'], 1): + value = _get_value_from_command(client, item['command'], item['pattern']) + f.write(f"{idx:02d}. {item['name']} : {value}\n") + f.write("\n") + + # 커스텀 항목 (있을 경우) + if 'custom_items' in profile and profile['custom_items']: + f.write("-" * 45 + " 커스텀 항목 " + "-" * 46 + "\n") + for idx, item in enumerate(profile['custom_items'], 1): + value = _get_value_from_command(client, item['command'], item['pattern']) + f.write(f"{idx:02d}. {item['name']} : {value}\n") + f.write("\n") + + return ip, True, f"저장: {output_file.name}" + + except Exception as e: + logging.error(f"[{ip}] 오류: {e}") + return ip, False, f"오류: {e}" + + +def _get_value_from_command(client: IDRACClient, command: str, pattern: str) -> str: + """racadm 명령 실행 및 값 추출""" + # 캐싱된 데이터 사용 + if command == "getsysinfo": + output = client.get_sysinfo() + elif command == "hwinventory": + output = client.get_hwinventory() + else: + _, output = client.run_command(command) + + # 패턴 매칭 + value = InfoParser.extract_value_by_pattern(output, pattern) + return value if value else "N/A" + + +def main(): + if len(sys.argv) < 2: + print("Usage: python collect_server_info.py [profile_name]") + print("Available profiles: default, intel_server, amd_server, minimal") + sys.exit(1) + + ip_file = Path(sys.argv[1]) + profile_name = sys.argv[2] if len(sys.argv) > 2 else "default" + + if not ip_file.exists(): + logging.error(f"IP 파일 없음: {ip_file}") + sys.exit(1) + + # 프로파일 로드 + profile = load_profile(profile_name) + logging.info(f"프로파일 사용: {profile_name} - {profile.get('description', '')}") + + # 출력 디렉토리 (data/temp/staging) + script_dir = Path(__file__).resolve().parent + # unified 디렉토리에 있으므로, data 디렉토리는 3단계 상위 (unified -> scripts -> data) + data_dir = script_dir.parent.parent + + # 만약 구조가 다를 경우를 대비한 안전장치 (scripts가 아닐 경우 등) + if data_dir.name != "data": + # fallback: 현재 작업 디렉토리 기준 data 찾기 시도 + data_dir = Path("data").resolve() + + output_dir = data_dir / "temp" / "staging" + output_dir.mkdir(parents=True, exist_ok=True) + + # IP 목록 읽기 + ips = [line.strip() for line in ip_file.read_text(encoding='utf-8').splitlines() if line.strip()] + + if not ips: + logging.error("IP 목록이 비어 있습니다.") + sys.exit(1) + + logging.info(f"총 {len(ips)}대 처리 시작") + + # 병렬 처리 (서버 정보 수집은 racadm 호출이 많아 worker 수 줄임) + ok, fail = 0, 0 + with ThreadPoolExecutor(max_workers=10) as executor: + futures = {executor.submit(collect_server_info_for_ip, ip, profile, output_dir): ip for ip in ips} + + for future in futures: + ip, success, msg = future.result() + if success: + logging.info(f"[OK] {ip} - {msg}") + ok += 1 + else: + logging.error(f"[FAIL] {ip} - {msg}") + fail += 1 + + logging.info(f"완료: 성공 {ok}대 / 실패 {fail}대") + + +if __name__ == "__main__": + main() diff --git a/data/scripts/unified/system_control.py b/data/scripts/unified/system_control.py new file mode 100644 index 0000000..2201ebc --- /dev/null +++ b/data/scripts/unified/system_control.py @@ -0,0 +1,154 @@ +#!/usr/bin/env python3 +""" +통합 시스템 제어 스크립트 (Unified System Control Script) +기존의 개별 제어 스크립트들을 하나로 통합하였습니다. + +지원 기능: +- power_on (06-PowerON.py) +- power_off (07-PowerOFF.py) +- log_clear (05-clrsel.py) +- job_delete (08-job_delete_all.py) +- tsr_collect (03-tsr_log.py) +- tsr_save (04-tsr_save.py) +""" + +import os +import sys +import argparse +import subprocess +import time +import logging +from concurrent.futures import ThreadPoolExecutor +from pathlib import Path +from dotenv import load_dotenv + +# ----------------------------------------------------------------------------- +# Configuration +# ----------------------------------------------------------------------------- +logging.basicConfig( + level=logging.INFO, + format='%(asctime)s [INFO] %(message)s', + datefmt='%Y-%m-%d %H:%M:%S' +) +logger = logging.getLogger(__name__) + +# Load .env relative to script location or current directory +load_dotenv() + +IDRAC_USER = os.getenv("IDRAC_USER", "root") +IDRAC_PASS = os.getenv("IDRAC_PASS", "calvin") +OME_USER = os.getenv("OME_USER", "") +OME_PASS = os.getenv("OME_PASS", "") + +# ----------------------------------------------------------------------------- +# Command Definitions +# ----------------------------------------------------------------------------- +# Each action maps to a function that returns the racadm command list +def cmd_power_on(ip): + return ["racadm", "-r", ip, "-u", IDRAC_USER, "-p", IDRAC_PASS, "serveraction", "powerup"] + +def cmd_power_off(ip): + return ["racadm", "-r", ip, "-u", IDRAC_USER, "-p", IDRAC_PASS, "serveraction", "powerdown"] + +def cmd_log_clear(ip): + return ["racadm", "-r", ip, "-u", IDRAC_USER, "-p", IDRAC_PASS, "clrsel"] + +def cmd_job_delete(ip): + return ["racadm", "-r", ip, "-u", IDRAC_USER, "-p", IDRAC_PASS, "jobqueue", "delete", "-i", "ALL"] + +def cmd_tsr_collect(ip): + return ["racadm", "-r", ip, "-u", IDRAC_USER, "-p", IDRAC_PASS, "techsupreport", "collect"] + +def cmd_tsr_save(ip): + # Note: This command assumes a specific share path (legacy behavior) + # Ideally this path should also be configurable via env + share_path = "//10.10.3.15/share/" + return [ + "racadm", "-r", ip, "-u", IDRAC_USER, "-p", IDRAC_PASS, + "techsupreport", "export", "-l", share_path, "-u", OME_USER, "-p", OME_PASS + ] + +ACTION_MAP = { + "power_on": cmd_power_on, + "power_off": cmd_power_off, + "log_clear": cmd_log_clear, + "job_delete": cmd_job_delete, + "tsr_collect": cmd_tsr_collect, + "tsr_save": cmd_tsr_save, +} + +# ----------------------------------------------------------------------------- +# Execution Logic +# ----------------------------------------------------------------------------- +def execute_action(ip: str, action_name: str) -> None: + """Run the racadm command for a single IP.""" + try: + cmd_func = ACTION_MAP.get(action_name) + if not cmd_func: + logger.error(f"[{ip}] Unknown action: {action_name}") + return + + cmd = cmd_func(ip) + logger.info(f"[{ip}] Executing {action_name}...") + + # Run command + result = subprocess.run( + cmd, + capture_output=True, + text=True, + timeout=600 # Generous timeout for TSR operations + ) + + if result.returncode == 0: + logger.info(f"[{ip}] Success: {result.stdout.strip()}") + else: + logger.error(f"[{ip}] Failed: {result.stderr.strip()}") + + except Exception as e: + logger.error(f"[{ip}] Exception: {e}") + + +def main(): + parser = argparse.ArgumentParser(description="Unified System Control Script") + parser.add_argument("action", choices=ACTION_MAP.keys(), help="Action to perform") + parser.add_argument("ip_file", type=Path, help="Path to the IP list file") + + # Optional: Allow passing IP directly via args instead of file (future extension) + + args = parser.parse_args() + + ip_file = args.ip_file + action = args.action + + if not ip_file.is_file(): + logger.error(f"IP file not found: {ip_file}") + sys.exit(1) + + # Read IPs + try: + with ip_file.open("r", encoding="utf-8") as f: + ips = [line.strip() for line in f if line.strip()] + except Exception as e: + logger.error(f"Failed to read IP file: {e}") + sys.exit(1) + + if not ips: + logger.warning("No IPs found in file.") + sys.exit(0) + + logger.info(f"Starting '{action}' for {len(ips)} servers...") + start_time = time.time() + + # Parallel Execution + # Adjust max_workers as needed. 20 is a safe defaults for I/O bound network tasks. + with ThreadPoolExecutor(max_workers=20) as executor: + futures = [executor.submit(execute_action, ip, action) for ip in ips] + for future in futures: + future.result() # Wait for all to complete + + elapsed = time.time() - start_time + logger.info(f"Completed '{action}' in {elapsed:.2f} seconds.") + + +if __name__ == "__main__": + main() diff --git a/data/server_list/GPUTOExecl.py b/data/server_list/GPUTOExecl.py index ec511bd..94bcbbf 100644 --- a/data/server_list/GPUTOExecl.py +++ b/data/server_list/GPUTOExecl.py @@ -126,13 +126,13 @@ def main(): # ---- Preset 기본값 설정 ---- if args.preset == "guid": - default_input_dir = Path(os.getenv("GUID_TXT_DIR", DATA_ROOT / "guid_file")) + default_input_dir = Path(os.getenv("GUID_TXT_DIR", DATA_ROOT / "repository" / "guid_file")) default_list_file = Path(os.getenv("GUID_LIST_FILE", DATA_ROOT / "server_list" / "guid_list.txt")) - default_output = Path(os.getenv("GUID_OUTPUT_XLSX", DATA_ROOT / "idrac_info" / "XE9680_GUID.xlsx")) + default_output = Path(os.getenv("GUID_OUTPUT_XLSX", DATA_ROOT / "temp" / "staging" / "XE9680_GUID.xlsx")) else: # gpu - default_input_dir = Path(os.getenv("GPU_TXT_DIR", DATA_ROOT / "gpu_serial")) + default_input_dir = Path(os.getenv("GPU_TXT_DIR", DATA_ROOT / "repository" / "gpu_serial")) default_list_file = Path(os.getenv("GPU_LIST_FILE", DATA_ROOT / "server_list" / "gpu_serial_list.txt")) - default_output = Path(os.getenv("GPU_OUTPUT_XLSX", DATA_ROOT / "idrac_info" / "GPU_SERIALS.xlsx")) + default_output = Path(os.getenv("GPU_OUTPUT_XLSX", DATA_ROOT / "temp" / "staging" / "GPU_SERIALS.xlsx")) input_dir: Path = args.input_dir or default_input_dir list_file: Path | None = args.list_file or (default_list_file if default_list_file.is_file() else None) diff --git a/data/server_list/GUIDtxtT0Execl.py b/data/server_list/GUIDtxtT0Execl.py index e6c49f8..e153f00 100644 --- a/data/server_list/GUIDtxtT0Execl.py +++ b/data/server_list/GUIDtxtT0Execl.py @@ -34,10 +34,10 @@ DATA_ROOT = resolve_data_root() SERVER_LIST_DIR = Path(os.getenv("GUID_SERVER_LIST_DIR", DATA_ROOT / "server_list")) SERVER_LIST_FILE = Path(os.getenv("GUID_LIST_FILE", SERVER_LIST_DIR / "guid_list.txt")) -GUID_TXT_DIR = Path(os.getenv("GUID_TXT_DIR", DATA_ROOT / "guid_file")) +GUID_TXT_DIR = Path(os.getenv("GUID_TXT_DIR", DATA_ROOT / "repository" / "guid_file")) OUTPUT_XLSX = Path( - os.getenv("GUID_OUTPUT_XLSX", DATA_ROOT / "idrac_info" / "XE9680_GUID.xlsx") + os.getenv("GUID_OUTPUT_XLSX", DATA_ROOT / "temp" / "staging" / "XE9680_GUID.xlsx") ) # Make sure output directory exists diff --git a/data/server_list/excel.py b/data/server_list/excel.py index e6220d1..b9f7667 100644 --- a/data/server_list/excel.py +++ b/data/server_list/excel.py @@ -30,8 +30,8 @@ DATA_ROOT = resolve_data_root() SERVER_LIST_DIR = DATA_ROOT / "server_list" SERVER_LIST_FILE = SERVER_LIST_DIR / "server_list.txt" -MAC_TXT_DIR = DATA_ROOT / "mac" -OUTPUT_XLSX = DATA_ROOT / "idrac_info" / "mac_info.xlsx" +MAC_TXT_DIR = DATA_ROOT / "repository" / "mac" +OUTPUT_XLSX = DATA_ROOT / "temp" / "staging" / "mac_info.xlsx" # Ensure output directory exists OUTPUT_XLSX.parent.mkdir(parents=True, exist_ok=True) diff --git a/data/server_list/excel.py.back b/data/server_list/excel.py.back deleted file mode 100644 index b1bc566..0000000 --- a/data/server_list/excel.py.back +++ /dev/null @@ -1,49 +0,0 @@ -import os -import pandas as pd - -# server_list.txt 파일이 있는 폴더 경로 -server_list_folder = '/app/idrac_info/server_list/' # 실제 경로로 수정 -server_list_file = os.path.join(server_list_folder, 'server_list.txt') - -# 추출할 .txt 파일들이 있는 폴더 경로 -data_files_folder = '/app/idrac_info/mac/' # 실제 경로로 수정 - -# server_list.txt 파일에서 파일명을 읽어들임 -with open(server_list_file, 'r') as f: - file_names = f.read().splitlines() - -# 각 파일의 내용을 저장할 리스트 생성 -data_list = [] -index_list = [] - -# 각 파일을 읽어들여 리스트에 저장 -sequence_number = 1 -for file_name in file_names: - file_path = os.path.join(data_files_folder, f'{file_name}.txt') - if os.path.exists(file_path): - with open(file_path, 'r') as file: - lines = file.readlines() - for line in lines: - cleaned_line = line.strip().upper() # 대문자로 변환 - if cleaned_line: # 빈 라인은 무시 - data_list.append(cleaned_line) - if len(cleaned_line) == 7: - index_list.append(sequence_number) - sequence_number += 1 - else: - index_list.append('') # 7자가 아닌 경우 빈 문자열로 유지 - else: - index_list.append('') # 빈 라인은 인덱스에도 빈 값으로 유지 - else: - data_list.append('') - index_list.append('') # 파일이 없을 경우 빈 문자열로 유지 - -# 데이터를 DataFrame으로 변환하여 B열부터 시작하도록 함 -df = pd.DataFrame({ - 'Index': index_list, - 'Content': data_list -}) - -# 엑셀 파일로 저장 -output_file = '/app/idrac_info/idrac_info/mac_info.xlsx' -df.to_excel(output_file, index=False, header=False) diff --git a/data/server_list/gpu_list.txt b/data/server_list/gpu_list.txt index a1fb653..e93acdd 100644 --- a/data/server_list/gpu_list.txt +++ b/data/server_list/gpu_list.txt @@ -1,3 +1,80 @@ -1V48HG4 -1T48HG4 -1V48HG4 \ No newline at end of file +7Y3J2H4 +G8KS3H4 +F9KS3H4 +2BKS3H4 +JW3J2H4 +49KS3H4 +BX3J2H4 +5X3J2H4 +HX3J2H4 +1NRS3H4 +7PRS3H4 +4X3J2H4 +29KS3H4 +CY3J2H4 +3RPJ5H4 +GQPJ5H4 +C4DY4H4 +G3DY4H4 +79KS3H4 +8X3J2H4 +9QPJ5H4 +B4DY4H4 +45DY4H4 +HPPJ5H4 +88KS3H4 +JX3J2H4 +7Z3J2H4 +DVRS3H4 +18KS3H4 +5Y3J2H4 +H3DY4H4 +94DY4H4 +F3DY4H4 +24DY4H4 +69PG4H4 +19PG4H4 +J1DY4H4 +4QPJ5H4 +D4DY4H4 +8TPJ5H4 +43DY4H4 +53DY4H4 +2QPJ5H4 +CPPJ5H4 +44DY4H4 +FQPJ5H4 +G2DY4H4 +H7KS3H4 +D9KS3H4 +49PG4H4 +5RPJ5H4 +9RPJ5H4 +2JKS3H4 +23DY4H4 +BNRS3H4 +79PG4H4 +JKPG4H4 +GNRS3H4 +FY3J2H4 +9NRS3H4 +B8PG4H4 +39PG4H4 +99PG4H4 +48PG4H4 +D8PG4H4 +3PRS3H4 +D8KS3H4 +1X3J2H4 +9X3J2H4 +2X3J2H4 +J2DY4H4 +BQPJ5H4 +2Z3J2H4 +GX3J2H4 +C9KS3H4 +3WRG4H4 +1JKS3H4 +29PG4H4 +DQPJ5H4 +68DY4H4 \ No newline at end of file diff --git a/data/server_list/guid_list.txt b/data/server_list/guid_list.txt index 91b23c5..e93acdd 100644 --- a/data/server_list/guid_list.txt +++ b/data/server_list/guid_list.txt @@ -1,2 +1,80 @@ -1BZ7HG4 -1T48HG4 \ No newline at end of file +7Y3J2H4 +G8KS3H4 +F9KS3H4 +2BKS3H4 +JW3J2H4 +49KS3H4 +BX3J2H4 +5X3J2H4 +HX3J2H4 +1NRS3H4 +7PRS3H4 +4X3J2H4 +29KS3H4 +CY3J2H4 +3RPJ5H4 +GQPJ5H4 +C4DY4H4 +G3DY4H4 +79KS3H4 +8X3J2H4 +9QPJ5H4 +B4DY4H4 +45DY4H4 +HPPJ5H4 +88KS3H4 +JX3J2H4 +7Z3J2H4 +DVRS3H4 +18KS3H4 +5Y3J2H4 +H3DY4H4 +94DY4H4 +F3DY4H4 +24DY4H4 +69PG4H4 +19PG4H4 +J1DY4H4 +4QPJ5H4 +D4DY4H4 +8TPJ5H4 +43DY4H4 +53DY4H4 +2QPJ5H4 +CPPJ5H4 +44DY4H4 +FQPJ5H4 +G2DY4H4 +H7KS3H4 +D9KS3H4 +49PG4H4 +5RPJ5H4 +9RPJ5H4 +2JKS3H4 +23DY4H4 +BNRS3H4 +79PG4H4 +JKPG4H4 +GNRS3H4 +FY3J2H4 +9NRS3H4 +B8PG4H4 +39PG4H4 +99PG4H4 +48PG4H4 +D8PG4H4 +3PRS3H4 +D8KS3H4 +1X3J2H4 +9X3J2H4 +2X3J2H4 +J2DY4H4 +BQPJ5H4 +2Z3J2H4 +GX3J2H4 +C9KS3H4 +3WRG4H4 +1JKS3H4 +29PG4H4 +DQPJ5H4 +68DY4H4 \ No newline at end of file diff --git a/data/server_list/server_info_zip.py b/data/server_list/server_info_zip.py index 5ea911a..4c8386e 100644 --- a/data/server_list/server_info_zip.py +++ b/data/server_list/server_info_zip.py @@ -31,7 +31,8 @@ def zip_selected_files(folder_path, file_list, output_zip): # /app/idrac_info/backup/ 폴더 내 폴더를 나열하고 사용자 선택 받는 함수 def select_folder(): - base_path = "/data/app/idrac_info/data/backup/" + # Assume script is in data/server_list, backup is in data/system/backup + base_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "system", "backup") if not os.path.isdir(base_path): raise ValueError(f"기본 경로 '{base_path}'이(가) 존재하지 않습니다.") diff --git a/data/server_list/server_list.txt b/data/server_list/server_list.txt index a1fb653..d20ea81 100644 --- a/data/server_list/server_list.txt +++ b/data/server_list/server_list.txt @@ -1,3 +1,20 @@ -1V48HG4 -1T48HG4 -1V48HG4 \ No newline at end of file +BDNXRH4 +J9MXRH4 +6DNXRH4 +59MXRH4 +G9MXRH4 +79MXRH4 +B9MXRH4 +99MXRH4 +9GMXRH4 +49MXRH4 +89MXRH4 +G8MXRH4 +H8MXRH4 +1BMXRH4 +4BMXRH4 +GV5MQH4 +6W5MQH4 +JT5MQH4 +DT5MQH4 +3V5MQH4 \ No newline at end of file diff --git a/data/server_list/unified_excel_generator.py b/data/server_list/unified_excel_generator.py new file mode 100644 index 0000000..a9c0cdc --- /dev/null +++ b/data/server_list/unified_excel_generator.py @@ -0,0 +1,307 @@ +from __future__ import annotations +import os +import argparse +import sys +import logging +from pathlib import Path +from collections import OrderedDict +import pandas as pd + +# ----------------------------------------------------------------------------- +# Logging Configuration +# ----------------------------------------------------------------------------- +logging.basicConfig( + level=logging.INFO, + format='%(asctime)s [INFO] %(message)s', + datefmt='%Y-%m-%d %H:%M:%S' +) +logger = logging.getLogger(__name__) + +# ----------------------------------------------------------------------------- +# Path Resolution +# ----------------------------------------------------------------------------- +def resolve_data_root() -> Path: + """ + Priority: + 1) Env var IDRAC_DATA_DIR (absolute/relative OK) + 2) nearest parent of this file that contains a 'data' folder + 3) ./data under current working directory + """ + env = os.getenv("IDRAC_DATA_DIR") + if env: + return Path(env).expanduser().resolve() + + here = Path(__file__).resolve() + for p in [here] + list(here.parents): + if (p / "data").is_dir(): + return (p / "data").resolve() + + # Fallback to current working directory assumption + cwd_data = Path.cwd() / "data" + if cwd_data.is_dir(): + return cwd_data.resolve() + + # Final fallback: Assume we are in data/server_list/ -> go up two levels + return here.parent.parent + +DATA_ROOT = resolve_data_root() + +# Default Paths (can be overridden by args) +DEFAULT_GUID_INPUT = DATA_ROOT / "repository" / "guid_file" +DEFAULT_GPU_INPUT = DATA_ROOT / "repository" / "gpu_serial" +DEFAULT_MAC_INPUT = DATA_ROOT / "repository" / "mac" + +DEFAULT_GUID_LIST = DATA_ROOT / "server_list" / "guid_list.txt" +DEFAULT_GPU_LIST = DATA_ROOT / "server_list" / "gpu_serial_list.txt" +DEFAULT_MAC_LIST = DATA_ROOT / "server_list" / "server_list.txt" + +DEFAULT_GUID_OUTPUT = DATA_ROOT / "temp" / "staging" / "XE9680_GUID.xlsx" +DEFAULT_GPU_OUTPUT = DATA_ROOT / "temp" / "staging" / "GPU_SERIALS.xlsx" +DEFAULT_MAC_OUTPUT = DATA_ROOT / "temp" / "staging" / "mac_info.xlsx" + +# ----------------------------------------------------------------------------- +# Utility Functions +# ----------------------------------------------------------------------------- +def read_lines_any_encoding(path: Path) -> list[str]: + """Read text file trying common encodings.""" + if not path.is_file(): + return [] + + encodings = ["utf-8-sig", "utf-8", "cp949", "euc-kr", "latin-1"] + for enc in encodings: + try: + with path.open("r", encoding=enc, errors="strict") as f: + return f.read().splitlines() + except Exception: + continue + # last resort + with path.open("r", encoding="utf-8", errors="replace") as f: + return f.read().splitlines() + +def parse_txt_key_value(file_path: Path) -> dict: + """ + Parse standarized Key: Value files (GPU, GUID). + First line is assumed to be S/T (Service Tag). + """ + lines = read_lines_any_encoding(file_path) + if not lines: + return {} + + data = OrderedDict() + data["S/T"] = lines[0].strip() + + for raw in lines[1:]: + line = raw.strip() + if not line or ":" not in line: + continue + key, value = line.split(":", 1) + data[key.strip()] = value.strip() + + return dict(data) + +# ----------------------------------------------------------------------------- +# Mode: MAC +# ----------------------------------------------------------------------------- +def process_mac(input_dir: Path, list_file: Path, output_xlsx: Path): + """ + Logic from excel.py + """ + if not list_file.is_file(): + raise FileNotFoundError(f"Server list file not found: {list_file}") + + file_names = read_lines_any_encoding(list_file) + + data_list: list[str] = [] + index_list: list[int | str] = [] + sequence_number = 1 + + for name in file_names: + base = (name or "").strip() + if not base: + continue + + txt_path = input_dir / f"{base}.txt" + + if not txt_path.is_file(): + # Missing file handling + data_list.append("") + index_list.append("") + continue + + lines = read_lines_any_encoding(txt_path) + for line in lines: + cleaned = (line or "").strip().upper() + if cleaned: + data_list.append(cleaned) + # Specific logic: if length is 7, treat as an index/sequence indicator + if len(cleaned) == 7: + index_list.append(sequence_number) + sequence_number += 1 + else: + index_list.append("") + else: + data_list.append("") + index_list.append("") + + # Create DataFrame + df = pd.DataFrame({ + "Index": index_list, + "Content": data_list, + }) + + # Save without header, without index + output_xlsx.parent.mkdir(parents=True, exist_ok=True) + df.to_excel(output_xlsx, index=False, header=False) + logger.info(f"[MAC] Saved to {output_xlsx}") + +# ----------------------------------------------------------------------------- +# Mode: GPU +# ----------------------------------------------------------------------------- +def process_gpu(input_dir: Path, list_file: Path, output_xlsx: Path): + """ + Logic from GPUTOExecl.py + """ + if not input_dir.is_dir(): + raise FileNotFoundError(f"Input directory not found: {input_dir}") + + # File collection + files: list[Path] = [] + if list_file and list_file.is_file(): + names = [x.strip() for x in read_lines_any_encoding(list_file) if x.strip()] + for name in names: + p = input_dir / f"{name}.txt" + if p.is_file(): + files.append(p) + else: + logger.warning(f"[GPU] File not found: {p.name}") + else: + # Fallback to glob + files = sorted(input_dir.glob("*.txt")) + + if not files: + logger.warning("[GPU] No files to process.") + return + + # Parse + rows = [] + for p in files: + rows.append(parse_txt_key_value(p)) + + df = pd.DataFrame(rows) + # Insert 'No' column + df.insert(0, "No", range(1, len(df) + 1)) + + output_xlsx.parent.mkdir(parents=True, exist_ok=True) + df.to_excel(output_xlsx, index=False) + logger.info(f"[GPU] Saved to {output_xlsx}") + +# ----------------------------------------------------------------------------- +# Mode: GUID +# ----------------------------------------------------------------------------- +def process_guid(input_dir: Path, list_file: Path, output_xlsx: Path): + """ + Logic from GUIDtxtT0Execl.py + """ + if not input_dir.is_dir(): + raise FileNotFoundError(f"Input directory not found: {input_dir}") + + # Determine Slot Priority + slot_priority_str = os.getenv("GUID_SLOT_PRIORITY", "") + if slot_priority_str: + slot_priority = [s.strip() for s in slot_priority_str.split(",") if s.strip()] + logger.info(f"[GUID] Custom slot priority: {slot_priority}") + else: + slot_priority = ['38', '39', '37', '36', '32', '33', '34', '35', '31', '40'] + logger.info(f"[GUID] Default slot priority: {slot_priority}") + + # File collection + files: list[Path] = [] + names = [] + if list_file and list_file.is_file(): + names = [x.strip() for x in read_lines_any_encoding(list_file) if x.strip()] + + # Process + rows = [] + for name in names: + txt_path = input_dir / f"{name}.txt" + if not txt_path.is_file(): + logger.warning(f"[GUID] File not found: {txt_path.name}") + continue + + raw_data = parse_txt_key_value(txt_path) + + # Reorder and reconstruct GUID + ordered_data = OrderedDict() + ordered_data["S/T"] = raw_data.get("S/T", "") + + new_guid_list = [] + for slot_num in slot_priority: + slot_key = f"Slot.{slot_num}" + val = raw_data.get(slot_key) + if val: + ordered_data[slot_key] = val + if val != "Not Found" and ":" in val: + clean_hex = val.replace(":", "").upper() + new_guid_list.append(f"0x{clean_hex}") + + # GUID Selection logic + if new_guid_list: + ordered_data["GUID"] = ";".join(new_guid_list) + elif "GUID" in raw_data: + ordered_data["GUID"] = raw_data["GUID"] + + # Add remaining fields + for k, v in raw_data.items(): + if k not in ordered_data: + ordered_data[k] = v + + rows.append(dict(ordered_data)) + + if not rows: + logger.warning("[GUID] No data processed.") + # Create empty excel if needed or just return + return + + df = pd.DataFrame(rows) + df.insert(0, "No", range(1, len(df) + 1)) + + output_xlsx.parent.mkdir(parents=True, exist_ok=True) + df.to_excel(output_xlsx, index=False) + logger.info(f"[GUID] Saved to {output_xlsx}") + + +# ----------------------------------------------------------------------------- +# Main Entry Point +# ----------------------------------------------------------------------------- +def main(): + parser = argparse.ArgumentParser(description="Unified Excel Generator") + parser.add_argument("--mode", required=True, choices=["mac", "gpu", "guid"], help="Generation mode") + parser.add_argument("--input-dir", type=Path, help="Input directory (optional override)") + parser.add_argument("--list-file", type=Path, help="List file (optional override)") + parser.add_argument("--output-xlsx", type=Path, help="Output XLSX path (optional override)") + + args = parser.parse_args() + + mode = args.mode + + # Determine effective paths based on mode and overrides + if mode == "mac": + input_dir = args.input_dir or DEFAULT_MAC_INPUT + list_file = args.list_file or DEFAULT_MAC_LIST + output_xlsx = args.output_xlsx or DEFAULT_MAC_OUTPUT + process_mac(input_dir, list_file, output_xlsx) + + elif mode == "gpu": + input_dir = args.input_dir or DEFAULT_GPU_INPUT + list_file = args.list_file or DEFAULT_GPU_LIST + output_xlsx = args.output_xlsx or DEFAULT_GPU_OUTPUT + process_gpu(input_dir, list_file, output_xlsx) + + elif mode == "guid": + input_dir = args.input_dir or DEFAULT_GUID_INPUT + list_file = args.list_file or DEFAULT_GUID_LIST + output_xlsx = args.output_xlsx or DEFAULT_GUID_OUTPUT + process_guid(input_dir, list_file, output_xlsx) + +if __name__ == "__main__": + main() diff --git a/data/temp/staging/test.txt b/data/temp/staging/test.txt new file mode 100644 index 0000000..e69de29 diff --git a/data/temp_ip/ip_0.txt b/data/temp_ip/ip_0.txt deleted file mode 100644 index 8fe27c5..0000000 --- a/data/temp_ip/ip_0.txt +++ /dev/null @@ -1 +0,0 @@ -10.10.0.2 diff --git a/idrac-info.service b/idrac-info.service deleted file mode 100644 index 8c1acd9..0000000 --- a/idrac-info.service +++ /dev/null @@ -1,29 +0,0 @@ -[Unit] -Description=iDRAC Info Web Service -After=network.target - -[Service] -# 실행할 사용자 (보안을 위해 root 대신 전용 계정 권장, 예: idrac) -User=root -Group=root - -# 프로젝트 루트 디렉토리 (서버 환경에 맞게 수정 필요) -WorkingDirectory=/data/app/idrac_info_new - -# 가상환경의 python 실행 및 app.py 호출 -# ExecStart= -ExecStart=/bin/bash -c '/data/app/idrac_info_new/venv/bin/python /data/app/idrac_info_new/app.py' - -# 환경 변수 설정 (필요 시 수정) -Environment="FLASK_HOST=0.0.0.0" -Environment="FLASK_PORT=5000" -Environment="FLASK_DEBUG=false" -# Werkzeug 리로더 끄기 (프로덕션 모드) - Systemd에서는 이 설정이 오히려 오류(KeyError)를 유발하므로 제거 -# Environment="WERKZEUG_RUN_MAIN=true" - -# 프로세스 종료 시 자동 재시작 -Restart=always -RestartSec=5 - -[Install] -WantedBy=multi-user.target diff --git a/implementation_plan.md b/implementation_plan.md deleted file mode 100644 index f72f26c..0000000 --- a/implementation_plan.md +++ /dev/null @@ -1,15 +0,0 @@ -# 구현 계획 (Implementation Plan) - -## 1. GUID 슬롯 우선순위 기능 (완료) -- [x] **UI 구현**: `index.html`에 모달 및 프리셋 로직 추가 -- [x] **서버 로직**: `utilities.py`에서 슬롯 정보 환경변수로 전달 -- [x] **스크립트 수정**: `GUIDtxtT0Execl.py`에서 환경변수 기반 정렬 구현 - -## 2. 코드 품질 및 유지보수 (진행 중) -- [x] **로깅 개선**: `logger.py`에서 로그 로테이션 로직 개선 및 불필요한 로그(werkzeug 등) 레벨 조정 -- [ ] **코드 정리**: `config.py` 및 기타 설정 파일 검토 - -## 3. 향후 개선 사항 -- **GPU/MAC 변환 개선**: GUID와 유사하게 사용자 설정 옵션 추가 검토 -- **테스트 커버리지**: 주요 로직에 대한 단위 테스트 추가 -- **문서화**: 새로운 기능(슬롯 우선순위)에 대한 사용 가이드 작성 (`README.md` 업데이트) diff --git a/migrate_passwords.py b/migrate_passwords.py deleted file mode 100644 index 498d7f0..0000000 --- a/migrate_passwords.py +++ /dev/null @@ -1,26 +0,0 @@ -from __future__ import annotations -import sys -from pathlib import Path -from werkzeug.security import generate_password_hash -from flask import Flask - -# 앱/DB/모델 임포트 -from config import Config -from backend.models.user import db, User - -BASE_DIR = Path(__file__).resolve().parent - - -def is_hashed(password: str) -> bool: - return password.startswith("pbkdf2:sha256") - - -def main() -> int: - # 별도 Flask 앱 컨텍스트 구성 - app = Flask(__name__) - app.config.from_object(Config) - db.init_app(app) - - -if __name__ == "__main__": - raise SystemExit(main()) \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 78ce057..2e29f3a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,6 @@ alembic==1.16.5 argon2-cffi==25.1.0 +chardet==5.2.0 email-validator==2.3.0 Flask==3.1.2 Flask-Login==0.6.3 @@ -16,6 +17,7 @@ pytest==8.0.0 pytest-mock==3.12.0 python-dotenv==1.0.1 python-telegram-bot==22.5 +PyYAML==6.0.3 requests==2.32.3 SQLAlchemy==2.0.43 watchdog==6.0.0 diff --git a/task.md b/task.md deleted file mode 100644 index b92f0c3..0000000 --- a/task.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -description: GUID 슬롯 우선순위 설정 기능 구현 ---- -# 프로젝트 작업 상태 - -## 현재 작업: GUID 슬롯 우선순위 설정 기능 구현 -GUID 엑셀 변환 시 사용자가 원하는 순서대로 슬롯 정보를 정렬할 수 있도록 기능을 추가했습니다. -사용자 요청에 따라 엑셀의 'GUID' 컬럼도 슬롯 우선순위에 맞춰 재구성되도록 수정했습니다. - -### 최근 변경 사항 -1. **Frontend (`index.html`)** - - 슬롯 우선순위 설정 모달(`slotPriorityModal`) 추가 - - 로컬 스토리지(LocalStorage)를 활용한 설정 저장 및 프리셋 기능 구현 - - `update_guid_list` 폼 전송 시 `slot_priority` 값 포함 - -2. **Backend (`utilities.py`)** - - `/update_guid_list` 라우트 수정 - - 클라이언트에서 전송된 `slot_priority` 값을 받아 환경변수 `GUID_SLOT_PRIORITY`로 설정 - -3. **Script (`GUIDtxtT0Execl.py`)** - - `GUID_SLOT_PRIORITY` 환경변수를 읽어 `SLOT_PRIORITY` 리스트로 파싱 - - 엑셀 컬럼 정렬뿐만 아니라 **'GUID' 컬럼의 값(0x...;0x...)도 해당 순서에 맞춰 재생성**하도록 로직 수정 - -## 할 일 목록 (Todo) -- [x] `index.html`: 슬롯 설정 모달 구현 및 JS 연동 -- [x] `utilities.py`: 백엔드 파라미터 처리 로직 수정 -- [x] `GUIDtxtT0Execl.py`: 스크립트 정렬 로직 수정 및 GUID 컬럼 재구성 로직 추가 -- [ ] 기능 동작 확인 및 테스트 (사용자) - -## 대기 중인 작업 -- 사용자 피드백 대기 diff --git a/update_db.py b/update_db.py deleted file mode 100644 index 49ce98b..0000000 --- a/update_db.py +++ /dev/null @@ -1,27 +0,0 @@ -import sqlite3 -import os - -db_path = r"D:\Code\iDRAC_Info\idrac_info\backend\instance\site.db" - -if not os.path.exists(db_path): - print(f"Database not found at {db_path}") -else: - try: - conn = sqlite3.connect(db_path) - cursor = conn.cursor() - - # Check if column exists - cursor.execute("PRAGMA table_info(telegram_bots)") - columns = [info[1] for info in cursor.fetchall()] - - if 'notification_types' not in columns: - print("Adding notification_types column...") - cursor.execute("ALTER TABLE telegram_bots ADD COLUMN notification_types VARCHAR(255) DEFAULT 'auth,activity,system'") - conn.commit() - print("Column added successfully.") - else: - print("Column already exists.") - - conn.close() - except Exception as e: - print(f"Error: {e}") diff --git a/update_user_approval.py b/update_user_approval.py deleted file mode 100644 index 8fef049..0000000 --- a/update_user_approval.py +++ /dev/null @@ -1,67 +0,0 @@ -""" -DB 업데이트 스크립트: User 테이블에 승인 관련 필드 추가 -- is_approved: 가입 승인 여부 -- approval_token: 승인 토큰 (텔레그램 버튼 콜백용) -""" -import sys -import os - -# 프로젝트 루트를 sys.path에 추가 -sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) - -from app import app -from backend.models.user import db - -def update_user_table(): - """User 테이블에 승인 관련 컬럼 추가""" - with app.app_context(): - try: - # 컬럼 존재 여부 확인 - inspector = db.inspect(db.engine) - columns = [col['name'] for col in inspector.get_columns('user')] - - if 'is_approved' not in columns: - print("✅ is_approved 컬럼 추가 중...") - db.session.execute(db.text( - "ALTER TABLE user ADD COLUMN is_approved BOOLEAN DEFAULT 0 NOT NULL" - )) - print("✅ is_approved 컬럼 추가 완료") - else: - print("ℹ️ is_approved 컬럼이 이미 존재합니다.") - - if 'approval_token' not in columns: - print("✅ approval_token 컬럼 추가 중...") - # SQLite는 UNIQUE 제약조건을 ALTER TABLE에서 직접 추가할 수 없음 - # 먼저 컬럼만 추가하고, 나중에 인덱스로 UNIQUE 처리 - db.session.execute(db.text( - "ALTER TABLE user ADD COLUMN approval_token VARCHAR(100)" - )) - print("✅ approval_token 컬럼 추가 완료") - - # UNIQUE 인덱스 생성 - try: - db.session.execute(db.text( - "CREATE UNIQUE INDEX idx_user_approval_token ON user(approval_token)" - )) - print("✅ approval_token UNIQUE 인덱스 생성 완료") - except Exception as e: - print(f"ℹ️ UNIQUE 인덱스 생성 스킵 (이미 존재하거나 NULL 값 때문): {e}") - else: - print("ℹ️ approval_token 컬럼이 이미 존재합니다.") - - # 기존 사용자들은 자동 승인 처리 - print("✅ 기존 사용자 자동 승인 처리 중...") - db.session.execute(db.text( - "UPDATE user SET is_approved = 1 WHERE is_approved = 0" - )) - - db.session.commit() - print("✅ 데이터베이스 업데이트 완료!") - - except Exception as e: - print(f"❌ 오류 발생: {e}") - db.session.rollback() - raise - -if __name__ == "__main__": - update_user_table()

    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 diff --git a/backend/routes/__pycache__/auth.cpython-313.pyc b/backend/routes/__pycache__/auth.cpython-313.pyc deleted file mode 100644 index 5b2b3d2c4f6beda1b489ded04dbef7a373ef15dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9814 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 R2I_A&m|9Hwzssc||6jpL6_x-1 diff --git a/backend/routes/__pycache__/auth.cpython-314.pyc b/backend/routes/__pycache__/auth.cpython-314.pyc deleted file mode 100644 index 5db8745c898e0ae11836183e532f2825e1939591..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19914 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 diff --git a/backend/routes/__pycache__/catalog_sync.cpython-311.pyc b/backend/routes/__pycache__/catalog_sync.cpython-311.pyc deleted file mode 100644 index d1da531084ffec80e3b606893314b18adf54e50c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1433 zcmZ`(&1)M+6rb4-?MjL&iL_Sw>21=cQBbVnP*O?=jnep-hNu_ovM8FdB4_o{*;Qp5 zyO^Sb4~2%(5}Bm1rLjY?52o!QhhE&jU{ypb77B*aLn{Sj+(O8yZ&s3Rh2$~&=DjyF zzt#MHZ*@Nu3LvmqYxhP+K@goc7q0R2c1aAuK zkZtT&D!71_&?2(;?>IcgXCe}5lz}B|DF-_i@hBQbmj7Ut;6;1~5&0W|`0hUO-ZVOa zEKlM7{x=XyED0m06{1?91GL2_5bmI-;pT*CMEpy_r$Tx#*KiHZiPNZt(_+wU5`kMV&XJ3$ z$@SMX?eV!JFDJ8=O0qy$Hm4U#GiAL*Ysu@`+)Y{{Nmi~})Eu^(&f9CEGVdPonsd;E zECz5~YV$X6%c$oI$-zIuW3BMGZ8_mYGn{CJ6Ha(?OIVTGk>_u#U#g9mb9}NHIopby zU6KD%Uu?YDRJE3>IjROH+p(A1FO55~$^Pic;;}#vf!jr5B=|3Pkotp<{!`JB7kWsN zAs;&L{44F)>9rGf_S=*9PCBvEFrEqGAwA7K0_%wY3$yteT=<9TRz~+QW*(U{1cH;17?UCw<=c>A1$`+}v zyMY0>`t^z{dm?x&e~w}8h=emE K6|c-VUH=2U2X~AB diff --git a/backend/routes/__pycache__/catalog_sync.cpython-312.pyc b/backend/routes/__pycache__/catalog_sync.cpython-312.pyc deleted file mode 100644 index fd7bd7df872e0a9abea6ed7c70c26d55ae4f1291..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1236 zcmY*YUuYaf82@JX_I7Wt=jBjyjfz>@YI~BTdLoq)q}QYYUusEw>2a`JZzk8h?)`CQ z&*VZPLGn;Uu!52ct#Hs5k>nw$4}I_@&%Pu!&|^_hS`fV}B)tj}U!2+Ows9W5`OWuz z^P8F9_svhSm=1iDoZZVE3E;k11ViybufoAHV8Fv1-MdZn!EXAJz$TQpioPMx|h4V%ugR@8s=j(N%pgr=9c>&(rJFHfxkjTeEY@ zNwLWdU3h=$10GV##JOC>tl*#TO&Yi24ZX+QEJFkwBjAa}O-o1bvH3-e4fB}IM3A`B1qw9c`uO%G5@#KstI0}weIgxh^=&=Rq zz#bKAPAp)Uf3oX3{GX*DUF6CyNFPg6{yc+bU{<~eGbp9kM>)edSJoKYSJvo!x72Md z8Qs=bo$r6>-2Tz%e7^G6o%M$+Um7RIrY0v0?ta+3V{~t{y5B6Ogt%d5*@V|lDOY)s z=AOAwogwrbE)rw%)Z1^=MQa>j>8>nwZhn@MT$R-e1;Usp4rBQunW&43bep$2x0|Pp z^C^`IWnHaE98Xbla~7ugf@ukODPOokDmX{0b%(H=-%qCKpOIR_J>+$t@1;r3DXPgn z(bRwyYIPW?F+4$+&q%L+xOO0<$*TPe05th zcy>GaV*7ecSq)ld+cR?oli1qMu!bOk~t-BJUfs{%Ns*T;IzW+`IPP|({`R+p+Xo> z!hL~{_zH|LLO-&2Nk$I-HBSgnbyqXZO1?}?)71l&F4bJc6V6lSTj+6Wp#9wJX`{R! z>Na_o4)Ue=IP45JJ2FD(4;bEp;a}m*@3H=Cjn;|vx$W55Mg2Dvy@wK8C~@t0Yohhe WCQ95zL%UKOMSC(x!ycmIss91z&`BZy diff --git a/backend/routes/__pycache__/catalog_sync.cpython-314.pyc b/backend/routes/__pycache__/catalog_sync.cpython-314.pyc deleted file mode 100644 index 3090c36dfb8bcff48a4bd16037fe3663a959ee31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1273 zcmY*YOK%%h6h3#x;~Br|xT0}*1P_V&Ff<7@K}Kx~&7)DWDb}>gYQo61Z`^4edzc3_ zSw$#|E|3Tk6^_JWq_#rrB4E)4oBRWpMoKjT2?P=XyON8GgkZzD<8d19;@oe}dc)-F|Yd#R2@nKKd&hfUbdH1KtCLEW!e@$pU9{3%t!|n2%cwEeN)dfo1Xv zDEx9*2`NIJ@73DkvRFv<37_psSP{pGBIWT+wvX=o{FzJeZ zb6uEVMP8`z?&T{O5?85xtzNcD!43S4>4L8ab)$s6{zXs^qJ`kr2Mz@IcA{{3%w_8w zIoShHL5`Oo0~27t5)_2MeP~m7B{Uf@8blTQp(QdIuw_7v^u3CJ=Y*F?927CfO>q63 zQIJ9Pd&x4xP(H!VHMsv(N~n88P4v0098|~QFqgv(gAz5kcev4D*NG12_+ijVHs(xW z{T%8o&-V0|TVHRs-A%de-fn&KZR_55a_f`rKkn~5-u_HJHG5f^m(l&WabIqK;kLir z$TG>pmR_aUQDL=?ty@1*sDDV!i{%QHmHeBpd!pr(O4PDgYb>i+p$;3OL%i+n&DNcd z=N$>%?Z(~Ky~bJjQdTsXzMfQ}w#G)q;}Mx`j?EAYL@wSeQNz|*#Ij8su231@U@}EK zLM=A6vMhU3b7$3AyqK!bDbussVr`|a>SeQ7(sTx|7E3p1t*n}L$EKDV%$UYzYTQ`! z;{HSiUNeoHtf$s(G#k(fCxqA!$-(_(=KEyEwfB;z_mjD1GPlFs3OyQl?sMr=sgZ7u zG`!;^~cl34fo8U>BRx7SjP4l9C(XJYv z;OpoM^%ZoH8q7g7o-~ES;Z*6{W(GgmzhGTJ)8Pprzrol882b?}{G1rvT60hBtnVde oHlja~*gi=;AgQgB?!5a}lcXM!(@(f0iFJA4#{Oi;d>Kjp19OExW&i*H diff --git a/backend/routes/__pycache__/drm_sync.cpython-314.pyc b/backend/routes/__pycache__/drm_sync.cpython-314.pyc deleted file mode 100644 index 498bd27347a4614365f0fb7b43ee3b96a3181b41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2458 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 UD#zC1*De^%QpKShfv&dy0vs45rvLx| diff --git a/backend/routes/__pycache__/file_view.cpython-312.pyc b/backend/routes/__pycache__/file_view.cpython-312.pyc deleted file mode 100644 index eb9457738446ddc0ada872824c7b7bcfb29d9079..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4680 zcmbVQe@q+K9e?-3_St9qFa|=Jwz-5f!Al^?Qc6N0ZGaF+v!qSBsj*l+<2%5vvDw`@ zgveAZr5!Yxpe-8i1`}1XloX`VidB)?Ol>!*k@k;Wr!u{zQh#KcRvU>nnN(%}?EB6> zn^HPeeUjgM_ult?zu))X=lkRN?>3tSL3!f+>rHL2HlAZOien zyX_E*6Re3$#wLDB#jnE3^VDSi6Who4#6P1^W=1 z%@OFWyR@HlIsT1DU4+VdL!q$ZRs7+Qd=$RvN4-k7i&o8z!HC!^`9q3olEhy|L>W2( zIUMqL_N&ZsQSOBWA}p{6!(IN62h;c^QGgL+Q#jP=?^4a3{-EeNYULLGt=M ze%$Tw`koR)Lc0`>D5Bh+=TqI=zd}-eSaJYU4t{bGRD-hwgY z%Wn%lFs8JFcp5qr$c&=IT1TPZTL2&2sSJQT$%b%_d}nOfjGyt2rr$H&vtBTGZ`=}U8b`s_mb&B4snmCUPy{1m0!GZHT}vYzx2#-=FLeyJ%1S{T^g^)TU->zj~ou35>-|bgMhSCqDKj<=7Xnw zVlT!W+#8K0sm82m86OhQOZXI3t4H>Bik?2d((MmP>tUz_esV2TgJ_wd4W)~Webhc; zPcr2xW=n$EGX40g?XR?7c=9@P|03u7`UYF_6(S6!A8{qi6ts6_ux)g8#qT^?bei?%&5}h9@&alNdCabCc=Op)6WdMhyAFfW&oT_)A!>-I{5sHjG$M4zHk09(}{E0VugH3Y+bqJ*b_p(tUm0Z61IZ=Xtm5S8|M zLxPMg3J{+~n$43X_H^`vwM&&Sw-J8wS*QllZ3bDLqx(np$10NSy(xBcg55k_mt?Cy zVE4^$OIaRHSRPJV8dH|mgrzlUIXu|3=qMTMiuEOnwhhzEBxNpLbe2ujy-*hulFo_` ztQE@!A}cpqH&Qp&HSHe;e!JrIuCH&KP|UjBoI3D;Rys7WWoA?2G)8CUf`2%G9 zCSB^RF-u1v<(|Tds7Xh#R1`G@uz9a4`cCEQ75eb2h~QIT*OZ!z5g>IX609qbV8ciN z?`;ZHe4DE-eSlH!(`TcMzNZ0ml#*=9w)~7)u+QaFMZi}M5!kg0ih?9Q|T-hJPI zWyS7(q|X#u!LiovqLx|gFrlp4UvWW};Or!QDQj!|6Obzf^gBW8`K)&({H{E;Vyl7 zfmg)S%1($z{t%y;d|L})zaPW#4^wHH^Ofn>X42>8_@x&nA-uuna^cOG-GGWz8Y`kQ zy805nZPlQKw#dEE&m9dGd1(k|Vws8OGSB}xeQr2??qaon46+i{nBCKv{rLp6j?bOY zeKN1@6k1(G1N5U>LYM7jQ!VI6?gn`)Sm>fb;MDm#9tbw)71Azg{x4cH99yN-I4E^y zec^Z>Op!4pa&<4J{#6 zO@28WfK7c~DTFC3lIRsyBoY#X<>D+v+69%1m3H7hegR24p;DPXZ%Far^u(;?yP9&? zBj&#GbxPPTYEY5(;2A=c!C&J9Mlab!#+=Uxq(+#pf}i{u910{c#mHVd+CI{rvfY!g z-4pAcA(OW4DckOZZFkbPXRzf4TRd7nQlDZsB-jnHmg&YMyDi05CD^JYyK}Jl23Iy3 z9f_v6jR|h!v}L9-$?Z&WH3_aJ$<+?FeskK8PpL7>~#ho1>V%b__~%Pcj%fk&K-#}N0w=u;V`jiFG<-q zChQxN_D#dojpB{dRI+%>unErMrgKB=P`tYBy7O?{dKk{2XkE-aT^nDwJ<08eGdsS% ziJvPZFu^iyBer;1r-BX5Db zexGn1+Kb-bZpHOpb88)Sji_#|p|0&DaKFX?waX}BaA}s1g_UL#MoCm6QV5=7;c(DJ z=iE{@A8x|*bx^s=REx*c839Vs z?LcL>s1@f1%nWs{I&k{U=)g4`lz8E01lM z?gl6iTE8-qgzJ`tAxdwRvBd7>yAf$m5zYkR96K^oGqWvDIFrPW7YXi5au;!!xJ4nd O2v>W)r17_=$^QVLV1*n2 diff --git a/backend/routes/__pycache__/file_view.cpython-313.pyc b/backend/routes/__pycache__/file_view.cpython-313.pyc deleted file mode 100644 index ae24082f2873c78741cf0084a4516d1176bf2d6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4700 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 diff --git a/backend/routes/__pycache__/file_view.cpython-314.pyc b/backend/routes/__pycache__/file_view.cpython-314.pyc deleted file mode 100644 index c5975ab7795fa8f9ce1f298d5cc04108ed79d259..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5069 zcmbVQeQaCR6~E7Zwx9j{5y$x|O`F%GP2#mlS{g``HZ4ukV7H|;CUcqO)^g&P#3Qx6 z=jWDI{9%>AlD1OL+a!v#KWtp)?5$`pIw7zlr8H=W{j+ng z{cID$hju03d)~e0-gEA~zw>du)o9QmD389qJp7Ozp^xx~TvSsR{OPow463tF+C35O2(MX9{>STe|6WVgT#9@_HEVNF8)7VToO>MbV zj44~UXR z;C~X~!$ABv91Qpe&q$1u4~Jj^4-E~Wezc6#es*p+re#jpddBM}4-+(@^h^IdU3M##!P#7;;FSYk{xVwWs-tF&k?(g>4 z1A{@g-zRtnJbp~}dj}rl13tG9jEH>LonNOpbf!pBzFRQEq9*u-OQ4FP4`@w_z9&K7 zGri|;bmLvV*RH2unC6zA9Lu~u&86qBz@Syv z*K1W`0|*C4PVo{e@FQR`hrNTm=d@oO z_6GzGM#you0TD&Z46Q0(WQ-HWabuFHN->)g%;wp?m)$S8Up#S>Y5lv&^2IH-Yz0xO za>-P-tc3Qw4~}k z0}vM~Nk>=|gmpk!Dd8SyiXcQlL#i4)fJZTMSZc=|TunxnaWiWnUs=e=Xa`n=Jt~3B zM(B+qH|`_FQ4FkH-zLyshJYjIi*rMyaZ>W=ZmJCL3K!rHhu$V)`DfvT!#S45Noof7|Mq_Pyx#7 z$fLlaTe^5LGxG)@athFlo!!5lewIsLy_WgaWaiQWMt0`>c`*t-i2tgri z)kvCwVXxrBZU!oTK$Mi&=coWD{*a^^37+N!JOm5!0tSXvDbzwEDM5%t4|oH}qx!INe7WKnl7j1fFN1w<6BFi3Bi*n56&tS-rJOtG~Iwsy87$u_6h_Bh)<-;mNh zkkCDl)ODqFwuH`>)E$g=FPh6HhhnFbB@JWrvO=jXU$j(Q>UgFj=1W@Y-qqLLQ6Y2V zvL5M86CL9nlS8xqF<5eYoZkM$iUyUe14Gl6OL}Z*S}-*1?cORc+25&ntCQ{0tNz4N zP@mPc;DF}AE?-hUc%TnXNpq4Hhl9TG0L;i2oKz5?-=x1A=xc-9sgM(bZ-a8^JB(<} zwIQT@ueGUfH_$cLroZRfivMG6m27Y!rAv`Fc?fOQ$elN7r`oA$$-4$8vlCpMJ8!-P zqjls>Fn?<(M7xkvy9*4@cZ{r>pXbJ&mlOvMrK?I_FO@6rihK|cK(G7?uDnibNqz{N zPDp*swJpz&kc%$RIIwS6Rpgz^yhGc` zX&1EQR!x9U(2`wKn_Tb#ZHiH(FG7(4qX+_l#!>h6b!A;bjC+eb>SE-*hO{oFtfdc7 z1elONkxT0|7E*S=X+eI8OIwgnLPn#!HiV4bc%6{0=vICpj}}_kueq?_zWnL;=~}Tj zhO%nMr3Hyj%T7f^0oheqNViW{muvl0KGQ0XdJ64Gd_v;dpWx||7hsoa;LH-%#j^JD~sp^`U#T3W~ppi3v{F! zG1Yz>Nz7?)K=k13SxXXqq8xq-dA#A^}IO{H`(7~?EhU>;VEB+F(TjI(qgMcH_G+6u4U~F${S5B_FCmT)fCY0 z)T*GiR!BOJXD|Y{ z$Oykzcmy~BxF|df6=c&C^**Zo2pQi;RUf0aBx-vf)&Co<`v)?9XsU{>pB)A~M)jYm z6_oXJ9sKR^c?G;6m#dM&n4&BR$})L)?!LK(IAuvv_byVVJBsbpLF%p&DN1m)^D`QM H6HWdH2F8WE diff --git a/backend/routes/__pycache__/home.cpython-311.pyc b/backend/routes/__pycache__/home.cpython-311.pyc deleted file mode 100644 index bdf45ce4b955e38f5dbb2d03a2b8646942bd6dad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 907 zcmZuvzl#$=6n?Y2$tIhNiYF++z~Pj7 zv%=2rRHvB(a+Vz^n1#9&Y8=A=-Qfy=T9)RXLV4qlM9L(}*`DVMTeN*IEGtp=q0?aj zZ+jxT$eBkOw*+$o#}+KoTE5GUQl{K6)97%=3OH-FUp27hL?mTYGQW#X58l9O5<2gQ zge1TK^M^?dIToZys>tUuX9w+2AdPxLOqT?#dVm~MI|xFVxV11%Y75&$z-&`)H>|eT z^evCQH0yTb5L+?1-w`Z~>F))vqbo`2xZX0#^H@wr4X>l=!c^0LXoc@u;nSV5wms3d zN2@i*I4p=6sr!$fAr;+aqUF=DA@P+Yv)DqU2O{Ya@Dr?ejU6l1qpakz*AlK%CR~1; zFTgM0#y6x%uS^b|@DiFX{LU5n_r|%>Bv%?~rTB8SY($1-H9MlinPqXwB1$zKJ3Qo? zEFlX=8O!o)9HhnN*Nq#GQt=d)?`%pmd3%w$@A|akum}7a24o}Q2Q)L45Hf`uqxCg~ z+oS)jpT_1%`QzjMldo4tMrCYNCPt;J&(ehK%pfrtP_plfZ;K~k|9OAETO5;}30_bL S*_F3;|Ei$eTti|wX8R8;Th6Qi diff --git a/backend/routes/__pycache__/home.cpython-312.pyc b/backend/routes/__pycache__/home.cpython-312.pyc deleted file mode 100644 index 4708ec701e8576f815a34cb9c0c371151c602577..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 780 zcmYjP&1(}u6o0cH*<{mbYXv0`5Utb|X)l8KflynmUUKjQWC;wL%%s_NznGl`Q#?c{ z=+Rqp@E?%$;D6!4i&8~d5D~q2i{_S-Gn-`f!Myp+d-LA={f2p0shA+_@!L`7A_Dj! z4|CI}0F5I7`apmn4}4@JB(dTtzG|z!W@`u(pej+RPP9XPs7~wb0x2ATZP3E*(!Axr zofxFJgAPkWWf~*q0SsqpyVNaP3%}&aLTT9vf{;7h4TIQH($Xz2p%HTfo*rj3Ae3QF z{m64TO|?$w(|vtiZlcmmn1>@q+wPN=5SN=IC>9#83DAe9u={^@c8$-70SsqZ1YNkBSqHcOJ@1HfDW?4maG{lM*h3ml=&G@WUKWNogS3YUy#v%q2w4SQl zw;u`)hEI7XBymf|=avgUEh2s3xom>wA|HUI)b~pnlMeSi3o-c*UIRNOHnt#LVeZNT z#FADIewM3)>qq6)_u6W9vu>HGiE%sO38NS@IXczbo)hmeP1ehK*O`B}}wSrnGl(n)(WP5Ru>LRSWy4r;v8uzq;A#J8@*fa@~1awdJ zq(?7>9{dNq`KRn6q70~rUc9aLA8;mZqYviIH}Ac9-}{D{mCHJCySDXpcnbmi5Qn7| z<^auH4kloMh4!I^D5?o8?Mp40$}NQ|HL&G1uw+}c6iaQ&v|tq~KsCG2xwvfhZ?`n7 z*g#gPDOq|2HWvw68W`rvFL5#vGn^m@6DRS)AT}jddg!MlqF#`&^OOWGp*SI<$afOL zlwmj`$7(}t{HC5#A4in*z2`kHC^wlSzR+xgg9#i!=l|@Y>`+?PZ!WSm81Q-8e1=Pu z47@nu)ZKg-O_1Vl#Cc^Wieho8#_sIivv)$5*xqhudj~%a`l0Q))ahYQz^>Cf;u>rk zrU{8{(PATd!7k_hv!?SbE%S~VU-1R*#_(CuJ}H$`rSkUfN9FpA$AF;*llLAy<1=U@ zk_I zB&#Bt6SLyhD0EYwJfK2=m_FX-?o37qeSx)aaQnNy`sVTU$@?p(dULG(DIiooD}q#d dRef1~9ZwIYd*kW}s{fV{x;c|Ux{;xb;xB9Gs_y^* diff --git a/backend/routes/__pycache__/home.cpython-314.pyc b/backend/routes/__pycache__/home.cpython-314.pyc deleted file mode 100644 index 352d5ca4f396b9bac4ee9ac06b99e488d27c57b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 783 zcmYjP&ubGw6n?Y2$tIh&{-_WMgrKd~sI(pe!5;{<)h3rx29+K*4x40RmTq>J*;&w@ z){`DR=HNfz&HuuyQc)QY5xsbe%|GDGCS83nZ@zhN-h1CS%(bOO3#9G8pA4@efS>Ac zV)+?BQzk(IPXMDfv=B!%g|)WU(z)I;xKV?SegUxF$zcQMn)vM66QNK?a z;dB&w4yVEx1|xcy+fbXVv|{FwkkNtrtS9AVrYOpVrZ*%=;4$p|pPgT`=hOfi^K1<; zNMdMLvN+4=Q#ayrcsHYCs2yC~{oE~u% z>^i*zslsMK%xPq+7VF`2aW3nhHl1bJqU>nO6`htYfv<-7#i)EVDsP&fjg_g4fj}EV z-?{%#axh1f4}*TxQ}Gkaq@S0O1nf*W&SWZyhsBi0kdM4NVmW#DEwClIu?6MS-$-3a zf=IDS;8&?KzI{|$`(Ui4H+Sonum~B%JZ6*-rY4Krz;mJlW~h4ARTK#E9rmply0IUgucPW?{NKxwfy?Qxb?35$-0@C$9aTS jCk4=oFRL%AucGmz@lH}bLaTo?gsx0=&@LS-l#cid3>vDd diff --git a/backend/routes/__pycache__/idrac_routes.cpython-311.pyc b/backend/routes/__pycache__/idrac_routes.cpython-311.pyc deleted file mode 100644 index 1fd8e4d890b33d54c82cbf0867676bd29006cfe2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42756 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 wXd+gi_@% diff --git a/backend/routes/__pycache__/idrac_routes.cpython-312.pyc b/backend/routes/__pycache__/idrac_routes.cpython-312.pyc deleted file mode 100644 index fa7f2fe5266e603600fc379f2377a09b140ddc58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38901 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